Skip to content
Snippets Groups Projects
Commit 3f31da9c authored by Tiago Botelho's avatar Tiago Botelho
Browse files

Restrict cycle analytics usage data to instances that use postgres only

parent 41bb23ae
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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
 
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -36,6 +36,7 @@ describe Gitlab::UsageData do
gitlab_shared_runners
git
database
avg_cycle_analytics
))
end
 
Loading
Loading
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment