Class: Datadog::CI::Span
- Inherits:
-
Object
- Object
- Datadog::CI::Span
- Defined in:
- lib/datadog/ci/span.rb
Overview
Represents a single part of a test run. Could be a session, suite, test, or any custom span.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#tracer_span ⇒ Object
readonly
Returns the value of attribute tracer_span.
Instance Method Summary collapse
-
#failed!(exception: nil) ⇒ void
Sets the status of the span to “fail”.
-
#finish ⇒ void
Finishes the span.
-
#get_tag(key) ⇒ String
Gets tag value by key.
-
#initialize(tracer_span) ⇒ Span
constructor
A new instance of Span.
-
#name ⇒ String
The name of the span.
-
#passed! ⇒ void
Sets the status of the span to “pass”.
- #set_default_tags ⇒ Object
- #set_environment_runtime_tags ⇒ Object
-
#set_metric(key, value) ⇒ void
Sets metric value by key.
-
#set_tag(key, value) ⇒ void
Sets tag value by key.
-
#set_tags(tags) ⇒ void
Sets multiple tags at once.
-
#skipped!(exception: nil, reason: nil) ⇒ void
Sets the status of the span to “skip”.
-
#span_type ⇒ String
The type of the span (for example “test” or type that was provided to [Datadog::CI.trace]).
- #to_s ⇒ Object
Constructor Details
#initialize(tracer_span) ⇒ Span
Returns a new instance of Span.
14 15 16 |
# File 'lib/datadog/ci/span.rb', line 14 def initialize(tracer_span) @tracer_span = tracer_span end |
Instance Attribute Details
#tracer_span ⇒ Object (readonly)
Returns the value of attribute tracer_span.
12 13 14 |
# File 'lib/datadog/ci/span.rb', line 12 def tracer_span @tracer_span end |
Instance Method Details
#failed!(exception: nil) ⇒ void
This method returns an undefined value.
Sets the status of the span to “fail”.
37 38 39 40 41 |
# File 'lib/datadog/ci/span.rb', line 37 def failed!(exception: nil) tracer_span.status = 1 tracer_span.set_tag(Ext::Test::TAG_STATUS, Ext::Test::Status::FAIL) tracer_span.set_error(exception) unless exception.nil? end |
#finish ⇒ void
This method returns an undefined value.
Finishes the span.
78 79 80 |
# File 'lib/datadog/ci/span.rb', line 78 def finish tracer_span.finish end |
#get_tag(key) ⇒ String
Gets tag value by key.
56 57 58 |
# File 'lib/datadog/ci/span.rb', line 56 def get_tag(key) tracer_span.get_tag(key) end |
#name ⇒ String
Returns the name of the span.
19 20 21 |
# File 'lib/datadog/ci/span.rb', line 19 def name tracer_span.name end |
#passed! ⇒ void
This method returns an undefined value.
Sets the status of the span to “pass”.
30 31 32 |
# File 'lib/datadog/ci/span.rb', line 30 def passed! tracer_span.set_tag(Ext::Test::TAG_STATUS, Ext::Test::Status::PASS) end |
#set_default_tags ⇒ Object
98 99 100 |
# File 'lib/datadog/ci/span.rb', line 98 def tracer_span.set_tag(Ext::Test::TAG_SPAN_KIND, Ext::AppTypes::TYPE_TEST) end |
#set_environment_runtime_tags ⇒ Object
91 92 93 94 95 96 |
# File 'lib/datadog/ci/span.rb', line 91 def tracer_span.set_tag(Ext::Test::TAG_OS_ARCHITECTURE, ::RbConfig::CONFIG["host_cpu"]) tracer_span.set_tag(Ext::Test::TAG_OS_PLATFORM, ::RbConfig::CONFIG["host_os"]) tracer_span.set_tag(Ext::Test::TAG_RUNTIME_NAME, Core::Environment::Ext::LANG_ENGINE) tracer_span.set_tag(Ext::Test::TAG_RUNTIME_VERSION, Core::Environment::Ext::ENGINE_VERSION) end |
#set_metric(key, value) ⇒ void
This method returns an undefined value.
Sets metric value by key.
72 73 74 |
# File 'lib/datadog/ci/span.rb', line 72 def set_metric(key, value) tracer_span.set_metric(key, value) end |
#set_tag(key, value) ⇒ void
This method returns an undefined value.
Sets tag value by key.
64 65 66 |
# File 'lib/datadog/ci/span.rb', line 64 def set_tag(key, value) tracer_span.set_tag(key, value) end |
#set_tags(tags) ⇒ void
This method returns an undefined value.
Sets multiple tags at once.
85 86 87 88 89 |
# File 'lib/datadog/ci/span.rb', line 85 def () .each do |key, value| tracer_span.set_tag(key, value) end end |
#skipped!(exception: nil, reason: nil) ⇒ void
This method returns an undefined value.
Sets the status of the span to “skip”.
47 48 49 50 51 |
# File 'lib/datadog/ci/span.rb', line 47 def skipped!(exception: nil, reason: nil) tracer_span.set_tag(Ext::Test::TAG_STATUS, Ext::Test::Status::SKIP) tracer_span.set_error(exception) unless exception.nil? tracer_span.set_tag(Ext::Test::TAG_SKIP_REASON, reason) unless reason.nil? end |
#span_type ⇒ String
Returns the type of the span (for example “test” or type that was provided to [Datadog::CI.trace]).
24 25 26 |
# File 'lib/datadog/ci/span.rb', line 24 def span_type tracer_span.type end |
#to_s ⇒ Object
102 103 104 |
# File 'lib/datadog/ci/span.rb', line 102 def to_s "#{self.class}(name:#{name},tracer_span:#{@tracer_span})" end |