Module: Datadog::CI::TestVisibility::Telemetry
- Defined in:
- lib/datadog/ci/test_visibility/telemetry.rb
Overview
Telemetry for test visibility
Constant Summary collapse
- SPAN_TYPE_TO_TELEMETRY_EVENT_TYPE =
{ Ext::AppTypes::TYPE_TEST => Ext::Telemetry::EventType::TEST, Ext::AppTypes::TYPE_TEST_SUITE => Ext::Telemetry::EventType::SUITE, Ext::AppTypes::TYPE_TEST_MODULE => Ext::Telemetry::EventType::MODULE, Ext::AppTypes::TYPE_TEST_SESSION => Ext::Telemetry::EventType::SESSION }.freeze
Class Method Summary collapse
- .add_browser_tags!(span, tags) ⇒ Object
- .event_created(span) ⇒ Object
- .event_finished(span) ⇒ Object
- .event_tags_from_span(span) ⇒ Object
- .test_session_started(test_session) ⇒ Object
Class Method Details
.add_browser_tags!(span, tags) ⇒ Object
71 72 73 74 75 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 71 def self.(span, ) [Ext::Telemetry::TAG_IS_RUM] = "true" if span.get_tag(Ext::Test::TAG_IS_RUM_ACTIVE) browser_driver = span.get_tag(Ext::Test::TAG_BROWSER_DRIVER) [Ext::Telemetry::TAG_BROWSER_DRIVER] = browser_driver if browser_driver end |
.event_created(span) ⇒ Object
21 22 23 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 21 def self.event_created(span) Utils::Telemetry.inc(Ext::Telemetry::METRIC_EVENT_CREATED, 1, (span)) end |
.event_finished(span) ⇒ Object
25 26 27 28 29 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 25 def self.event_finished(span) = (span) (span, ) Utils::Telemetry.inc(Ext::Telemetry::METRIC_EVENT_FINISHED, 1, ) end |
.event_tags_from_span(span) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 42 def self.(span) # base tags for span # @type var tags: Hash[String, String] = { Ext::Telemetry::TAG_EVENT_TYPE => SPAN_TYPE_TO_TELEMETRY_EVENT_TYPE.fetch(span.type, "unknown"), Ext::Telemetry::TAG_TEST_FRAMEWORK => span.get_tag(Ext::Test::TAG_FRAMEWORK) } # ci provider tag [Ext::Telemetry::TAG_IS_UNSUPPORTED_CI] = "true" if span.get_tag(Ext::Environment::TAG_PROVIDER_NAME).nil? # codeowner tag [Ext::Telemetry::TAG_HAS_CODEOWNER] = "true" if span.get_tag(Ext::Test::TAG_CODEOWNERS) # set is_retry tag if span represents a retried test [Ext::Telemetry::TAG_IS_RETRY] = "true" if span.get_tag(Ext::Test::TAG_IS_RETRY) # is_new [Ext::Telemetry::TAG_IS_NEW] = "true" if span.get_tag(Ext::Test::TAG_IS_NEW) # session-level tag - early_flake_detection_abort_reason early_flake_detection_abort_reason = span.get_tag(Ext::Test::TAG_EARLY_FLAKE_ABORT_REASON) if early_flake_detection_abort_reason [Ext::Telemetry::TAG_EARLY_FLAKE_DETECTION_ABORT_REASON] = early_flake_detection_abort_reason end end |
.test_session_started(test_session) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 31 def self.test_session_started(test_session) Utils::Telemetry.inc( Ext::Telemetry::METRIC_TEST_SESSION, 1, { Ext::Telemetry::TAG_AUTO_INJECTED => "false", # ruby doesn't support auto injection yet Ext::Telemetry::TAG_PROVIDER => test_session.ci_provider || Ext::Telemetry::Provider::UNSUPPORTED } ) end |