Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/metrics/rails_slis.rb')
-rw-r--r--lib/gitlab/metrics/rails_slis.rb32
1 files changed, 22 insertions, 10 deletions
diff --git a/lib/gitlab/metrics/rails_slis.rb b/lib/gitlab/metrics/rails_slis.rb
index 69e0c1e9fde..8c40c0ad441 100644
--- a/lib/gitlab/metrics/rails_slis.rb
+++ b/lib/gitlab/metrics/rails_slis.rb
@@ -4,23 +4,32 @@ module Gitlab
module Metrics
module RailsSlis
class << self
- def request_apdex_counters_enabled?
- Feature.enabled?(:request_apdex_counters)
- end
-
def initialize_request_slis_if_needed!
- return unless request_apdex_counters_enabled?
- return if Gitlab::Metrics::Sli.initialized?(:rails_request_apdex)
-
- Gitlab::Metrics::Sli.initialize_sli(:rails_request_apdex, possible_request_labels)
+ Gitlab::Metrics::Sli.initialize_sli(:rails_request_apdex, possible_request_labels) unless Gitlab::Metrics::Sli.initialized?(:rails_request_apdex)
+ Gitlab::Metrics::Sli.initialize_sli(:graphql_query_apdex, possible_graphql_query_labels) unless Gitlab::Metrics::Sli.initialized?(:graphql_query_apdex)
end
def request_apdex
Gitlab::Metrics::Sli[:rails_request_apdex]
end
+ def graphql_query_apdex
+ Gitlab::Metrics::Sli[:graphql_query_apdex]
+ end
+
private
+ def possible_graphql_query_labels
+ ::Gitlab::Graphql::KnownOperations.default.operations.map do |op|
+ {
+ endpoint_id: op.to_caller_id,
+ # We'll be able to correlate feature_category with https://gitlab.com/gitlab-org/gitlab/-/issues/328535
+ feature_category: nil,
+ query_urgency: op.query_urgency.name
+ }
+ end
+ end
+
def possible_request_labels
possible_controller_labels + possible_api_labels
end
@@ -30,10 +39,12 @@ module Gitlab
endpoint_id = API::Base.endpoint_id_for_route(route)
route_class = route.app.options[:for]
feature_category = route_class.feature_category_for_app(route.app)
+ request_urgency = route_class.urgency_for_app(route.app)
{
endpoint_id: endpoint_id,
- feature_category: feature_category
+ feature_category: feature_category,
+ request_urgency: request_urgency.name
}
end
end
@@ -42,7 +53,8 @@ module Gitlab
Gitlab::RequestEndpoints.all_controller_actions.map do |controller, action|
{
endpoint_id: controller.endpoint_id_for_action(action),
- feature_category: controller.feature_category_for_action(action)
+ feature_category: controller.feature_category_for_action(action),
+ request_urgency: controller.urgency_for_action(action).name
}
end
end