Module: Datadog::CI::Utils::RUM
- Defined in:
- lib/datadog/ci/utils/rum.rb
Overview
Provides functionality to interact with Datadog Real User Monitoring product via executing JavaScript code in the browser.
Relevant docs: docs.datadoghq.com/real_user_monitoring/browser/
Class Method Summary collapse
- .is_rum_active?(script_executor) ⇒ Boolean
- .stop_rum_session(script_executor, rum_flush_wait_millis: 500) ⇒ Object
Class Method Details
.is_rum_active?(script_executor) ⇒ Boolean
15 16 17 18 19 20 21 |
# File 'lib/datadog/ci/utils/rum.rb', line 15 def self.is_rum_active?(script_executor) is_rum_active_script_result = script_executor.execute_script(Ext::RUM::SCRIPT_IS_RUM_ACTIVE) Datadog.logger.debug { "[RUM] SCRIPT_IS_RUM_ACTIVE result is #{is_rum_active_script_result.inspect}" } Utils::Parsing.convert_to_bool(is_rum_active_script_result) end |
.stop_rum_session(script_executor, rum_flush_wait_millis: 500) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/datadog/ci/utils/rum.rb', line 23 def self.stop_rum_session(script_executor, rum_flush_wait_millis: 500) return unless is_rum_active?(script_executor) Datadog::CI.active_test&.set_tag( CI::Ext::Test::TAG_IS_RUM_ACTIVE, "true" ) result = script_executor.execute_script(Ext::RUM::SCRIPT_STOP_RUM_SESSION) Datadog.logger.debug { "[RUM] SCRIPT_STOP_RUM_SESSION result is #{result.inspect}" } # introduce a delay to allow the RUM session to be stopped delay = rum_flush_wait_millis / 1000.0 Datadog.logger.debug { "[RUM] Waiting for #{delay} seconds" } sleep(delay) end |