Restrict cycle analytics usage data to instances that use postgres only
This commit is contained in:
parent
41bb23ae1d
commit
3f31da9c69
5 changed files with 9 additions and 10 deletions
|
@ -7,13 +7,8 @@ class CycleAnalytics
|
|||
end
|
||||
|
||||
def all_medians_per_stage
|
||||
medians_per_stage = {}
|
||||
|
||||
# We only need this data for Postgres instances
|
||||
return medians_per_stage if Gitlab::Database.mysql?
|
||||
|
||||
STAGES.each do |stage_name|
|
||||
medians_per_stage[stage_name] = self[stage_name].median
|
||||
STAGES.each_with_object({}) do |stage_name, hsh|
|
||||
hsh[stage_name] = self[stage_name].median
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -8,14 +8,14 @@ module Gitlab
|
|||
private
|
||||
|
||||
def base_query
|
||||
@base_query ||= stage_query([@project.id])
|
||||
@base_query ||= stage_query([@project.id]) # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||||
end
|
||||
|
||||
def stage_query(project_ids)
|
||||
query = mr_closing_issues_table.join(issue_table).on(issue_table[:id].eq(mr_closing_issues_table[:issue_id]))
|
||||
.join(issue_metrics_table).on(issue_table[:id].eq(issue_metrics_table[:issue_id]))
|
||||
.project(issue_table[:project_id].as("project_id"))
|
||||
.where(issue_table[:project_id].in(project_ids)) # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||||
.where(issue_table[:project_id].in(project_ids))
|
||||
.where(issue_table[:created_at].gteq(@options[:from])) # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||||
|
||||
# Load merge_requests
|
||||
|
|
|
@ -73,6 +73,9 @@ module Gitlab
|
|||
end
|
||||
|
||||
def cycle_analytics_usage_data
|
||||
# We only want to generate this data for instances that use PostgreSQL
|
||||
return {} if Gitlab::Database.mysql?
|
||||
|
||||
projects = Project.sorted_by_activity.limit(Gitlab::CycleAnalytics::UsageData::PROJECTS_LIMIT)
|
||||
|
||||
Gitlab::CycleAnalytics::UsageData.new(projects, { from: 7.days.ago }).to_json
|
||||
|
|
|
@ -36,6 +36,7 @@ describe Gitlab::UsageData do
|
|||
gitlab_shared_runners
|
||||
git
|
||||
database
|
||||
avg_cycle_analytics
|
||||
))
|
||||
end
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ module CycleAnalyticsHelpers
|
|||
end
|
||||
|
||||
median_time_difference = time_differences.sort[2]
|
||||
expect(subject[phase].median).to be_within(5).of(median_time_difference)
|
||||
expect(subject[phase].median.presence).to be_within(5).of(median_time_difference)
|
||||
end
|
||||
|
||||
context "when the data belongs to another project" do
|
||||
|
|
Loading…
Reference in a new issue