Class: Gitlab::Observability::PipelineToTraces

Inherits:
Object
  • Object
show all
Includes:
Utils::StrongMemoize
Defined in:
lib/gitlab/observability/pipeline_to_traces.rb

Instance Method Summary collapse

Constructor Details

#initialize(integration, pipeline_data) ⇒ PipelineToTraces

Returns a new instance of PipelineToTraces.



8
9
10
11
12
13
# File 'lib/gitlab/observability/pipeline_to_traces.rb', line 8

def initialize(integration, pipeline_data)
  @integration = integration
  @pipeline_data = pipeline_data
  @pipeline = pipeline_data[:object_attributes]
  @builds = pipeline_data[:builds] || []
end

Instance Method Details

#convertObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/gitlab/observability/pipeline_to_traces.rb', line 15

def convert
  return empty_traces_payload if @pipeline.blank?

  {
    resourceSpans: [
      {
        resource: build_resource,
        scopeSpans: [
          {
            scope: build_scope,
            spans: build_spans
          }
        ]
      }
    ]
  }
end