diff options
Diffstat (limited to 'lib/gitlab/ci/pipeline/chain/command.rb')
-rw-r--r-- | lib/gitlab/ci/pipeline/chain/command.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/gitlab/ci/pipeline/chain/command.rb b/lib/gitlab/ci/pipeline/chain/command.rb index fa46114615c..73187401903 100644 --- a/lib/gitlab/ci/pipeline/chain/command.rb +++ b/lib/gitlab/ci/pipeline/chain/command.rb @@ -76,6 +76,21 @@ module Gitlab def parent_pipeline bridge&.parent_pipeline end + + def duration_histogram + strong_memoize(:duration_histogram) do + name = :gitlab_ci_pipeline_creation_duration_seconds + comment = 'Pipeline creation duration' + labels = {} + buckets = [0.01, 0.05, 0.1, 0.5, 1.0, 2.0, 5.0, 20.0, 50.0, 240.0] + + Gitlab::Metrics.histogram(name, comment, labels, buckets) + end + end + + def observe_creation_duration(duration) + duration_histogram.observe({}, duration.seconds) + end end end end |