Commit 20743441 authored by James Fargher's avatar James Fargher

Merge branch '250323-move-projects_with_error_tracking_enabled-to-core' into 'master'

[RUN AS-IF-FOSS] Move projects_with_error_tracking_enabled ping usage to Core

See merge request gitlab-org/gitlab!46556
parents f103aee8 421367a7
...@@ -571,6 +571,7 @@ class Project < ApplicationRecord ...@@ -571,6 +571,7 @@ class Project < ApplicationRecord
scope :imported_from, -> (type) { where(import_type: type) } scope :imported_from, -> (type) { where(import_type: type) }
scope :with_tracing_enabled, -> { joins(:tracing_setting) } scope :with_tracing_enabled, -> { joins(:tracing_setting) }
scope :with_enabled_error_tracking, -> { joins(:error_tracking_setting).where(project_error_tracking_settings: { enabled: true }) }
enum auto_cancel_pending_pipelines: { disabled: 0, enabled: 1 } enum auto_cancel_pending_pipelines: { disabled: 0, enabled: 1 }
......
---
title: Moves projects_with_error_tracking_enabled ping usage to Core
merge_request: 46556
author:
type: changed
...@@ -134,7 +134,6 @@ module EE ...@@ -134,7 +134,6 @@ module EE
scope :with_security_reports, -> { where('EXISTS (?)', ::Ci::JobArtifact.security_reports.scoped_project.select(1)) } scope :with_security_reports, -> { where('EXISTS (?)', ::Ci::JobArtifact.security_reports.scoped_project.select(1)) }
scope :with_github_service_pipeline_events, -> { joins(:github_service).merge(GithubService.pipeline_hooks) } scope :with_github_service_pipeline_events, -> { joins(:github_service).merge(GithubService.pipeline_hooks) }
scope :with_active_prometheus_service, -> { joins(:prometheus_service).merge(PrometheusService.active) } scope :with_active_prometheus_service, -> { joins(:prometheus_service).merge(PrometheusService.active) }
scope :with_enabled_error_tracking, -> { joins(:error_tracking_setting).where(project_error_tracking_settings: { enabled: true }) }
scope :with_enabled_incident_sla, -> { joins(:incident_management_setting).where(project_incident_management_settings: { sla_timer: true }) } scope :with_enabled_incident_sla, -> { joins(:incident_management_setting).where(project_incident_management_settings: { sla_timer: true }) }
scope :mirrored_with_enabled_pipelines, -> do scope :mirrored_with_enabled_pipelines, -> do
joins(:project_feature).mirror.where(mirror_trigger_builds: true, joins(:project_feature).mirror.where(mirror_trigger_builds: true,
......
...@@ -294,7 +294,6 @@ module EE ...@@ -294,7 +294,6 @@ module EE
super.merge({ super.merge({
operations_dashboard_users_with_projects_added: distinct_count(UsersOpsDashboardProject.joins(:user).merge(::User.active).where(time_period), :user_id), operations_dashboard_users_with_projects_added: distinct_count(UsersOpsDashboardProject.joins(:user).merge(::User.active).where(time_period), :user_id),
projects_prometheus_active: distinct_count(::Project.with_active_prometheus_service.where(time_period), :creator_id), projects_prometheus_active: distinct_count(::Project.with_active_prometheus_service.where(time_period), :creator_id),
projects_with_error_tracking_enabled: distinct_count(::Project.with_enabled_error_tracking.where(time_period), :creator_id),
projects_incident_sla_enabled: count(::Project.with_enabled_incident_sla) projects_incident_sla_enabled: count(::Project.with_enabled_incident_sla)
}) })
end end
......
...@@ -436,20 +436,17 @@ RSpec.describe Gitlab::UsageData do ...@@ -436,20 +436,17 @@ RSpec.describe Gitlab::UsageData do
project = create(:project, creator: user) project = create(:project, creator: user)
create(:users_ops_dashboard_project, user: user) create(:users_ops_dashboard_project, user: user)
create(:prometheus_service, project: project) create(:prometheus_service, project: project)
create(:project_error_tracking_setting, project: project)
create(:project_incident_management_setting, :sla_enabled, project: project) create(:project_incident_management_setting, :sla_enabled, project: project)
end end
expect(described_class.usage_activity_by_stage_monitor({})).to include( expect(described_class.usage_activity_by_stage_monitor({})).to include(
operations_dashboard_users_with_projects_added: 2, operations_dashboard_users_with_projects_added: 2,
projects_prometheus_active: 2, projects_prometheus_active: 2,
projects_with_error_tracking_enabled: 2,
projects_incident_sla_enabled: 2 projects_incident_sla_enabled: 2
) )
expect(described_class.usage_activity_by_stage_monitor(described_class.last_28_days_time_period)).to include( expect(described_class.usage_activity_by_stage_monitor(described_class.last_28_days_time_period)).to include(
operations_dashboard_users_with_projects_added: 1, operations_dashboard_users_with_projects_added: 1,
projects_prometheus_active: 1, projects_prometheus_active: 1,
projects_with_error_tracking_enabled: 1,
projects_incident_sla_enabled: 2 projects_incident_sla_enabled: 2
) )
end end
......
...@@ -617,7 +617,8 @@ module Gitlab ...@@ -617,7 +617,8 @@ module Gitlab
operations_dashboard_default_dashboard: count(::User.active.with_dashboard('operations').where(time_period), operations_dashboard_default_dashboard: count(::User.active.with_dashboard('operations').where(time_period),
start: user_minimum_id, start: user_minimum_id,
finish: user_maximum_id), finish: user_maximum_id),
projects_with_tracing_enabled: distinct_count(::Project.with_tracing_enabled.where(time_period), :creator_id) projects_with_tracing_enabled: distinct_count(::Project.with_tracing_enabled.where(time_period), :creator_id),
projects_with_error_tracking_enabled: distinct_count(::Project.with_enabled_error_tracking.where(time_period), :creator_id)
} }
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
......
...@@ -294,19 +294,22 @@ RSpec.describe Gitlab::UsageData, :aggregate_failures do ...@@ -294,19 +294,22 @@ RSpec.describe Gitlab::UsageData, :aggregate_failures do
create(:project, creator: user) create(:project, creator: user)
create(:clusters_applications_prometheus, :installed, cluster: cluster) create(:clusters_applications_prometheus, :installed, cluster: cluster)
create(:project_tracing_setting) create(:project_tracing_setting)
create(:project_error_tracking_setting)
end end
expect(described_class.usage_activity_by_stage_monitor({})).to include( expect(described_class.usage_activity_by_stage_monitor({})).to include(
clusters: 2, clusters: 2,
clusters_applications_prometheus: 2, clusters_applications_prometheus: 2,
operations_dashboard_default_dashboard: 2, operations_dashboard_default_dashboard: 2,
projects_with_tracing_enabled: 2 projects_with_tracing_enabled: 2,
projects_with_error_tracking_enabled: 2
) )
expect(described_class.usage_activity_by_stage_monitor(described_class.last_28_days_time_period)).to include( expect(described_class.usage_activity_by_stage_monitor(described_class.last_28_days_time_period)).to include(
clusters: 1, clusters: 1,
clusters_applications_prometheus: 1, clusters_applications_prometheus: 1,
operations_dashboard_default_dashboard: 1, operations_dashboard_default_dashboard: 1,
projects_with_tracing_enabled: 1 projects_with_tracing_enabled: 1,
projects_with_error_tracking_enabled: 1
) )
end end
end end
......
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