diff --git a/ee/app/services/ci/runners/send_usage_csv_service.rb b/ee/app/services/ci/runners/send_usage_csv_service.rb index fdb0414d90a22d1cd3c2812179f4367594f9bcef..2a723c073120e506b4c8241581a64d611271e64d 100644 --- a/ee/app/services/ci/runners/send_usage_csv_service.rb +++ b/ee/app/services/ci/runners/send_usage_csv_service.rb @@ -21,6 +21,8 @@ def initialize(current_user:, runner_type:, from_date:, to_date:, max_project_co end def execute + Gitlab::InternalEvents.track_event('export_runner_usage_by_project_as_csv', user: @current_user) + result = process_csv return result if result.error? diff --git a/ee/config/events/export_runner_usage_by_project_as_csv.yml b/ee/config/events/export_runner_usage_by_project_as_csv.yml new file mode 100644 index 0000000000000000000000000000000000000000..de840203fbb335e7f996acd64b8bf64a8d82db8e --- /dev/null +++ b/ee/config/events/export_runner_usage_by_project_as_csv.yml @@ -0,0 +1,15 @@ +--- +description: Export runner usage as CSV +category: InternalEventTracking +action: export_runner_usage_by_project_as_csv +identifiers: +- user +product_section: ci +product_stage: verify +product_group: runner +milestone: '16.9' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328 +distributions: +- ee +tiers: +- ultimate diff --git a/ee/config/metrics/counts_28d/count_total_export_runner_usage_by_project_as_csv_monthly.yml b/ee/config/metrics/counts_28d/count_total_export_runner_usage_by_project_as_csv_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..9fa5d1211b97e48d2e04caa7cf39d5aa9b56c05b --- /dev/null +++ b/ee/config/metrics/counts_28d/count_total_export_runner_usage_by_project_as_csv_monthly.yml @@ -0,0 +1,23 @@ +--- +key_path: counts.count_total_export_runner_usage_by_project_as_csv_monthly +description: Monthly count of Runner usage CSV report exports +product_section: ci +product_stage: verify +product_group: runner +performance_indicator_type: [] +value_type: number +status: active +milestone: '16.9' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328 +time_frame: 28d +data_source: internal_events +data_category: optional +distribution: +- ee +tier: +- ultimate +options: + events: + - export_runner_usage_by_project_as_csv +events: +- name: export_runner_usage_by_project_as_csv diff --git a/ee/config/metrics/counts_7d/count_total_export_runner_usage_by_project_as_csv_weekly.yml b/ee/config/metrics/counts_7d/count_total_export_runner_usage_by_project_as_csv_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..759b7dd865f3cd3ea0dcb8ac5e903109d2149e92 --- /dev/null +++ b/ee/config/metrics/counts_7d/count_total_export_runner_usage_by_project_as_csv_weekly.yml @@ -0,0 +1,23 @@ +--- +key_path: counts.count_total_export_runner_usage_by_project_as_csv_weekly +description: Weekly count of Runner usage CSV report exports +product_section: ci +product_stage: verify +product_group: runner +performance_indicator_type: [] +value_type: number +status: active +milestone: '16.9' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142328 +time_frame: 7d +data_source: internal_events +data_category: optional +distribution: +- ee +tier: +- ultimate +options: + events: + - export_runner_usage_by_project_as_csv +events: +- name: export_runner_usage_by_project_as_csv diff --git a/ee/spec/services/ci/runners/send_usage_csv_service_spec.rb b/ee/spec/services/ci/runners/send_usage_csv_service_spec.rb index 44f3b7e643b85f1cbc9c1b0845afaf8fb0f7c0b7..2e9db724e7dd803998271066ffa6f398d6991de9 100644 --- a/ee/spec/services/ci/runners/send_usage_csv_service_spec.rb +++ b/ee/spec/services/ci/runners/send_usage_csv_service_spec.rb @@ -47,6 +47,13 @@ expect(response.payload).to eq({ status: expected_status }) end + it 'creates tracking event' do + expect(Gitlab::InternalEvents).to receive(:track_event) + .with('export_runner_usage_by_project_as_csv', user: current_user) + + response + end + it 'creates audit event' do expect(Gitlab::Audit::Auditor).to receive(:audit).with( a_hash_including(