Commit 2cfd1805 authored by charlie ablett's avatar charlie ablett

Merge branch '216157-add-usage-ping-recording_finished_at-field' into 'master'

Add recording finish times to usage data

Closes #216157

See merge request gitlab-org/gitlab!31222
parents 36f80ead dec7e2ad
---
title: Record usage ping finish time
merge_request: 31222
author:
type: performance
...@@ -38,7 +38,16 @@ module EE ...@@ -38,7 +38,16 @@ module EE
def uncached_data def uncached_data
time_period = { created_at: 28.days.ago..Time.current } time_period = { created_at: 28.days.ago..Time.current }
usage_activity_by_stage_monthly = usage_activity_by_stage(:usage_activity_by_stage_monthly, time_period) usage_activity_by_stage_monthly = usage_activity_by_stage(:usage_activity_by_stage_monthly, time_period)
super.merge(usage_activity_by_stage).merge(usage_activity_by_stage_monthly) super
.merge(usage_activity_by_stage)
.merge(usage_activity_by_stage_monthly)
.merge(recording_ee_finish_data)
end
def recording_ee_finish_data
{
recording_ee_finished_at: Time.now
}
end end
override :features_usage_data override :features_usage_data
......
...@@ -673,6 +673,14 @@ describe Gitlab::UsageData do ...@@ -673,6 +673,14 @@ describe Gitlab::UsageData do
end end
end end
describe '.recording_ee_finished_at' do
subject { described_class.recording_ee_finish_data }
it 'gathers time ee recording finishes at' do
expect(subject[:recording_ee_finished_at]).to be_a(Time)
end
end
def for_defined_days_back(days: [29, 2]) def for_defined_days_back(days: [29, 2])
days.each do |n| days.each do |n|
Timecop.travel(n.days.ago) do Timecop.travel(n.days.ago) do
......
...@@ -35,6 +35,7 @@ module Gitlab ...@@ -35,6 +35,7 @@ module Gitlab
.merge(components_usage_data) .merge(components_usage_data)
.merge(cycle_analytics_usage_data) .merge(cycle_analytics_usage_data)
.merge(object_store_usage_data) .merge(object_store_usage_data)
.merge(recording_ce_finish_data)
end end
def to_json(force_refresh: false) def to_json(force_refresh: false)
...@@ -43,16 +44,22 @@ module Gitlab ...@@ -43,16 +44,22 @@ module Gitlab
def license_usage_data def license_usage_data
{ {
recorded_at: Time.now, # should be calculated very first
uuid: alt_usage_data { Gitlab::CurrentSettings.uuid }, uuid: alt_usage_data { Gitlab::CurrentSettings.uuid },
hostname: alt_usage_data { Gitlab.config.gitlab.host }, hostname: alt_usage_data { Gitlab.config.gitlab.host },
version: alt_usage_data { Gitlab::VERSION }, version: alt_usage_data { Gitlab::VERSION },
installation_type: alt_usage_data { installation_type }, installation_type: alt_usage_data { installation_type },
active_user_count: count(User.active), active_user_count: count(User.active),
recorded_at: Time.now,
edition: 'CE' edition: 'CE'
} }
end end
def recording_ce_finish_data
{
recording_ce_finished_at: Time.now
}
end
# rubocop: disable Metrics/AbcSize # rubocop: disable Metrics/AbcSize
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def system_usage_data def system_usage_data
......
...@@ -151,6 +151,14 @@ describe Gitlab::UsageData, :aggregate_failures do ...@@ -151,6 +151,14 @@ describe Gitlab::UsageData, :aggregate_failures do
end end
end end
describe '.recording_ce_finished_at' do
subject { described_class.recording_ce_finish_data }
it 'gathers time ce recording finishes at' do
expect(subject[:recording_ce_finished_at]).to be_a(Time)
end
end
context 'when not relying on database records' do context 'when not relying on database records' do
describe '#features_usage_data_ce' do describe '#features_usage_data_ce' do
subject { described_class.features_usage_data_ce } subject { described_class.features_usage_data_ce }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment