Skip to content
代码片段 群组 项目
未验证 提交 03dcd149 编辑于 作者: Hakeem Abdul-Razak's avatar Hakeem Abdul-Razak 提交者: GitLab
浏览文件

Add count of createdservice_accounts,28d

Changelog: added
EE: true
上级 c6c0c153
No related branches found
No related tags found
2 合并请求!3031Merge per-main-jh to main-jh by luzhiyuan,!3030Merge per-main-jh to main-jh
---
key_path: counts.created_service_accounts
description: "Number of created service accounts every 28 days"
product_group: authentication
value_type: number
status: active
milestone: "17.10"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/183222
time_frame: 28d
data_source: database
data_category: optional
instrumentation_class: CountCreatedServiceAccountsMetric
performance_indicator_type: []
tiers:
- premium
- ultimate
---
key_path: counts.active_service_accounts
description: "Number of active service accounts every 28 days"
product_group: authentication
value_type: number
status: active
milestone: "17.10"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/183222
time_frame: 28d
data_source: database
data_category: optional
instrumentation_class: CountActiveServiceAccountsMetric
performance_indicator_type: []
tiers:
- premium
- ultimate
# frozen_string_literal: true
module Gitlab
module Usage
module Metrics
module Instrumentations
class CountActiveServiceAccountsMetric < DatabaseMetric
operation :distinct_count
timestamp_column :updated_at
relation do
User.service_account.where(state: 'active')
end
end
end
end
end
end
# frozen_string_literal: true
module Gitlab
module Usage
module Metrics
module Instrumentations
class CountCreatedServiceAccountsMetric < DatabaseMetric
operation :distinct_count
timestamp_column :created_at
relation do
User.service_account
end
end
end
end
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::Usage::Metrics::Instrumentations::CountActiveServiceAccountsMetric, feature_category: :service_ping do
context 'when the time_frame is 28 days' do
let_it_be(:service_account_created_within_28d) { create(:user, :service_account, updated_at: 3.days.ago) }
let_it_be(:expected_value) { 1 }
let(:old_time) { 30.days.ago.to_fs(:db) }
let(:recent_time) { 2.days.ago.to_fs(:db) }
let(:expected_query) do
<<~SQL.squish
SELECT COUNT(DISTINCT "users"."id")
FROM "users"
WHERE "users"."user_type" = 13
AND "users"."state" = 'active'
AND "users"."updated_at" BETWEEN '#{old_time}' AND '#{recent_time}'
SQL
end
it_behaves_like 'a correct instrumented metric value and query', { time_frame: '28d', data_source: 'database' }
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::Usage::Metrics::Instrumentations::CountCreatedServiceAccountsMetric,
:aggregate_failures, feature_category: :service_ping do
context 'when the time_frame is 28 days' do
let_it_be(:service_account_created_within_28d) { create(:user, :service_account, created_at: 3.days.ago) }
let(:expected_value) { 1 }
let(:old_time) { 30.days.ago.to_fs(:db) }
let(:recent_time) { 2.days.ago.to_fs(:db) }
let(:expected_query) do
<<~SQL.squish
SELECT COUNT(DISTINCT "users"."id") FROM "users"
WHERE "users"."user_type" = 13 AND "users"."created_at"
BETWEEN '#{old_time}' AND '#{recent_time}'
SQL
end
it_behaves_like 'a correct instrumented metric value and query', { time_frame: '28d', data_source: 'database' }
end
end
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册