Commit 938d9ffe authored by Pawel Chojnacki's avatar Pawel Chojnacki

Refactor metrics to use metrics dsl notation

parent 7d716cc8
...@@ -8,11 +8,12 @@ module Gitlab ...@@ -8,11 +8,12 @@ module Gitlab
BASE_LABELS = { module: nil, method: nil }.freeze BASE_LABELS = { module: nil, method: nil }.freeze
attr_reader :real_time, :cpu_time, :call_count, :labels attr_reader :real_time, :cpu_time, :call_count, :labels
define_histogram :gitlab_method_call_duration_seconds, define_histogram :gitlab_method_call_duration_seconds do
docstring: 'Method calls real duration', docstring 'Method calls real duration'
base_labels: Transaction::BASE_LABELS.merge(BASE_LABELS), base_labels Transaction::BASE_LABELS.merge(BASE_LABELS)
buckets: [0.01, 0.05, 0.1, 0.5, 1], buckets [0.01, 0.05, 0.1, 0.5, 1]
with_feature: :prometheus_metrics_method_instrumentation with_feature :prometheus_metrics_method_instrumentation
end
# name - The full name of the method (including namespace) such as # name - The full name of the method (including namespace) such as
# `User#sign_in`. # `User#sign_in`.
......
...@@ -4,11 +4,12 @@ module Gitlab ...@@ -4,11 +4,12 @@ module Gitlab
# Class for tracking the rendering timings of views. # Class for tracking the rendering timings of views.
class ActionView < ActiveSupport::Subscriber class ActionView < ActiveSupport::Subscriber
include Gitlab::Metrics::Concern include Gitlab::Metrics::Concern
define_histogram :gitlab_view_rendering_duration_seconds, define_histogram :gitlab_view_rendering_duration_seconds do
docstring: 'View rendering time', docstring 'View rendering time'
base_labels: Transaction::BASE_LABELS.merge({ path: nil }), base_labels Transaction::BASE_LABELS.merge({ path: nil })
buckets: [0.001, 0.01, 0.1, 10.0], buckets [0.001, 0.01, 0.1, 10.0]
with_feature: :prometheus_metrics_view_instrumentation with_feature :prometheus_metrics_view_instrumentation
end
attach_to :action_view attach_to :action_view
......
...@@ -137,16 +137,18 @@ module Gitlab ...@@ -137,16 +137,18 @@ module Gitlab
"#{labels[:controller]}##{labels[:action]}" if labels && !labels.empty? "#{labels[:controller]}##{labels[:action]}" if labels && !labels.empty?
end end
define_histogram :gitlab_transaction_duration_seconds, define_histogram :gitlab_transaction_duration_seconds do
docstring: 'Transaction duration', docstring 'Transaction duration'
base_labels: BASE_LABELS, base_labels BASE_LABELS
buckets: [0.001, 0.01, 0.1, 0.5, 10.0] buckets [0.001, 0.01, 0.1, 0.5, 10.0]
end
define_histogram :gitlab_transaction_allocated_memory_bytes,
docstring: 'Transaction allocated memory bytes', define_histogram :gitlab_transaction_allocated_memory_bytes do
base_labels: BASE_LABELS, docstring 'Transaction allocated memory bytes'
buckets: [100, 1000, 10000, 100000, 1000000, 10000000], base_labels BASE_LABELS
with_feature: :prometheus_metrics_transaction_allocated_memory buckets [100, 1000, 10000, 100000, 1000000, 10000000]
with_feature :prometheus_metrics_transaction_allocated_memory
end
def self.transaction_metric(name, type, prefix: nil, tags: {}) def self.transaction_metric(name, type, prefix: nil, tags: {})
metric_name = "gitlab_transaction_#{prefix}#{name}_total".to_sym metric_name = "gitlab_transaction_#{prefix}#{name}_total".to_sym
......
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