Class: Ci::JobArtifacts::TrackArtifactReportService

Inherits:
Object
  • Object
show all
Includes:
Gitlab::Utils::UsageData
Defined in:
app/services/ci/job_artifacts/track_artifact_report_service.rb

Constant Summary collapse

REPORT_TRACKED =
%i[test coverage].freeze

Constants included from Gitlab::Utils::UsageData

Gitlab::Utils::UsageData::DISTRIBUTED_HLL_FALLBACK, Gitlab::Utils::UsageData::FALLBACK, Gitlab::Utils::UsageData::HISTOGRAM_FALLBACK, Gitlab::Utils::UsageData::MAX_BUCKET_SIZE

Instance Method Summary collapse

Methods included from Gitlab::Utils::UsageData

#add, #add_metric, #alt_usage_data, #average, #count, #distinct_count, #estimate_batch_distinct_count, #histogram, #maximum_id, #measure_duration, #minimum_id, #redis_usage_data, #sum, #track_usage_event, #with_finished_at, #with_metadata, #with_prometheus_client

Instance Method Details

#event_name(report) ⇒ Object



18
19
20
# File 'app/services/ci/job_artifacts/track_artifact_report_service.rb', line 18

def event_name(report)
  "i_testing_#{report}_report_uploaded"
end

#execute(pipeline) ⇒ Object



10
11
12
13
14
15
16
# File 'app/services/ci/job_artifacts/track_artifact_report_service.rb', line 10

def execute(pipeline)
  REPORT_TRACKED.each do |report|
    if pipeline.complete_and_has_reports?(Ci::JobArtifact.of_report_type(report))
      track_usage_event(event_name(report), pipeline.user_id)
    end
  end
end