Class: OpenTelemetry::SDK::Metrics::Export::MetricReader
- Inherits:
-
Object
- Object
- OpenTelemetry::SDK::Metrics::Export::MetricReader
- Defined in:
- lib/opentelemetry/sdk/metrics/export/metric_reader.rb
Overview
MetricReader provides a minimal example implementation. It is not required to subclass this class to provide an implementation of MetricReader, provided the interface is satisfied.
Direct Known Subclasses
ConsoleMetricPullExporter, InMemoryMetricPullExporter, PeriodicMetricReader
Instance Attribute Summary collapse
-
#metric_store ⇒ Object
readonly
Returns the value of attribute metric_store.
Instance Method Summary collapse
-
#collect ⇒ Object
Collects and returns the current metrics from the metric store.
-
#force_flush(timeout: nil) ⇒ Object
No-op: subclasses should override to force an export.
-
#initialize(aggregation_cardinality_limit: nil) ⇒ MetricReader
constructor
A new instance of MetricReader.
-
#register_meter_provider(meter_provider) ⇒ Object
Registers this reader with a MeterProvider.
-
#shutdown(timeout: nil) ⇒ Object
No-op: subclasses should override to release resources.
Constructor Details
#initialize(aggregation_cardinality_limit: nil) ⇒ MetricReader
Returns a new instance of MetricReader.
22 23 24 25 |
# File 'lib/opentelemetry/sdk/metrics/export/metric_reader.rb', line 22 def initialize(aggregation_cardinality_limit: nil) @mutex = Mutex.new @metric_store = OpenTelemetry::SDK::Metrics::State::MetricStore.new(cardinality_limit: aggregation_cardinality_limit) end |
Instance Attribute Details
#metric_store ⇒ Object (readonly)
Returns the value of attribute metric_store.
20 21 22 |
# File 'lib/opentelemetry/sdk/metrics/export/metric_reader.rb', line 20 def metric_store @metric_store end |
Instance Method Details
#collect ⇒ Object
Collects and returns the current metrics from the metric store.
37 38 39 |
# File 'lib/opentelemetry/sdk/metrics/export/metric_reader.rb', line 37 def collect @metric_store.collect end |
#force_flush(timeout: nil) ⇒ Object
No-op: subclasses should override to force an export.
47 48 49 |
# File 'lib/opentelemetry/sdk/metrics/export/metric_reader.rb', line 47 def force_flush(timeout: nil) Export::SUCCESS end |
#register_meter_provider(meter_provider) ⇒ Object
Registers this reader with a MeterProvider.
28 29 30 31 32 33 34 |
# File 'lib/opentelemetry/sdk/metrics/export/metric_reader.rb', line 28 def register_meter_provider(meter_provider) @mutex.synchronize do raise ArgumentError, SINGLE_PROVIDER_ERROR if @meter_provider && !@meter_provider.equal?(meter_provider) @meter_provider = meter_provider end end |