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
64 65 66 67 68 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 64 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
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/datadog/ci/test_visibility/telemetry.rb', line 44 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) end |
.test_session_started(test_session) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# 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.get_tag(Ext::Environment::TAG_PROVIDER_NAME) || Ext::Telemetry::Provider::UNSUPPORTED } ) end |