Class: Gitlab::Observability::PipelineToMetrics

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

Constant Summary collapse

HISTOGRAM_BUCKETS =
[1, 5, 10, 30, 60, 300, 600, 1800, 3600].freeze

Instance Method Summary collapse

Constructor Details

#initialize(integration, pipeline_data) ⇒ PipelineToMetrics

Returns a new instance of PipelineToMetrics.



10
11
12
13
14
15
# File 'lib/gitlab/observability/pipeline_to_metrics.rb', line 10

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



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

def convert
  return empty_metrics_payload if @pipeline.blank?

  {
    resourceMetrics: [
      {
        resource: build_resource,
        scopeMetrics: [
          {
            scope: build_scope,
            metrics: build_metrics
          }
        ]
      }
    ]
  }
end