Class: OpenTelemetry::SDK::Metrics::Meter
- Inherits:
-
Metrics::Meter
- Object
- Metrics::Meter
- OpenTelemetry::SDK::Metrics::Meter
- Defined in:
- lib/opentelemetry/sdk/metrics/meter.rb
Overview
Meter is the SDK implementation of Metrics::Meter.
Instance Method Summary collapse
- #add_metric_reader(metric_reader) ⇒ Object private
- #create_instrument(kind, name, unit, description, callback) ⇒ Object
-
#initialize(name, version, meter_provider) ⇒ Meter
constructor
private
Returns a new Meter instance.
Constructor Details
#initialize(name, version, meter_provider) ⇒ Meter
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new OpenTelemetry::SDK::Metrics::Meter instance.
22 23 24 25 26 27 |
# File 'lib/opentelemetry/sdk/metrics/meter.rb', line 22 def initialize(name, version, meter_provider) @mutex = Mutex.new @instrument_registry = {} @instrumentation_scope = InstrumentationScope.new(name, version) @meter_provider = meter_provider end |
Instance Method Details
#add_metric_reader(metric_reader) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
30 31 32 33 34 |
# File 'lib/opentelemetry/sdk/metrics/meter.rb', line 30 def add_metric_reader(metric_reader) @instrument_registry.each_value do |instrument| instrument.register_with_new_metric_store(metric_reader.metric_store) end end |
#create_instrument(kind, name, unit, description, callback) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/opentelemetry/sdk/metrics/meter.rb', line 36 def create_instrument(kind, name, unit, description, callback) super do case kind when :counter then OpenTelemetry::SDK::Metrics::Instrument::Counter.new(name, unit, description, @instrumentation_scope, @meter_provider) when :observable_counter then OpenTelemetry::SDK::Metrics::Instrument::ObservableCounter.new(name, unit, description, callback, @instrumentation_scope, @meter_provider) when :histogram then OpenTelemetry::SDK::Metrics::Instrument::Histogram.new(name, unit, description, @instrumentation_scope, @meter_provider) when :observable_gauge then OpenTelemetry::SDK::Metrics::Instrument::ObservableGauge.new(name, unit, description, callback, @instrumentation_scope, @meter_provider) when :up_down_counter then OpenTelemetry::SDK::Metrics::Instrument::UpDownCounter.new(name, unit, description, @instrumentation_scope, @meter_provider) when :observable_up_down_counter then OpenTelemetry::SDK::Metrics::Instrument::ObservableUpDownCounter.new(name, unit, description, callback, @instrumentation_scope, @meter_provider) end end end |