Module: Gitlab::Metrics::Sli::ClassMethods
- Defined in:
- lib/gitlab/metrics/sli.rb
Constant Summary collapse
- INITIALIZATION_MUTEX =
Mutex.new
Instance Method Summary collapse
- #[](name) ⇒ Object
- #initialize_sli(name, possible_label_combinations) ⇒ Object
- #initialized?(name) ⇒ Boolean
Instance Method Details
#[](name) ⇒ Object
11 12 13 |
# File 'lib/gitlab/metrics/sli.rb', line 11 def [](name) known_slis[name] || initialize_sli(name, []) end |
#initialize_sli(name, possible_label_combinations) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/gitlab/metrics/sli.rb', line 15 def initialize_sli(name, possible_label_combinations) INITIALIZATION_MUTEX.synchronize do next known_slis[name] if initialized?(name) sli = new(name) sli.initialize_counters(possible_label_combinations) known_slis[name] = sli end end |
#initialized?(name) ⇒ Boolean
25 26 27 |
# File 'lib/gitlab/metrics/sli.rb', line 25 def initialized?(name) known_slis.key?(name) && known_slis[name].initialized? end |