Class: OpenTelemetry::SDK::Metrics::Export::InMemoryMetricPullExporter
- Inherits:
-
MetricReader
- Object
- MetricReader
- OpenTelemetry::SDK::Metrics::Export::InMemoryMetricPullExporter
- Defined in:
- lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb
Overview
The InMemoryMetricPullExporter behaves as a Metric Reader and Exporter. To be used for testing purposes, not production.
Instance Attribute Summary collapse
-
#metric_snapshots ⇒ Object
readonly
Returns the value of attribute metric_snapshots.
Attributes inherited from MetricReader
Instance Method Summary collapse
-
#export(metrics, timeout: nil) ⇒ Object
Appends the given metrics to #metric_snapshots.
-
#initialize(aggregation_cardinality_limit: nil) ⇒ InMemoryMetricPullExporter
constructor
A new instance of InMemoryMetricPullExporter.
-
#pull ⇒ Object
Collects and exports the current metrics into #metric_snapshots.
-
#reset ⇒ Object
Clears #metric_snapshots.
-
#shutdown ⇒ Object
No-op: there is nothing to shut down for this exporter.
Methods inherited from MetricReader
#collect, #force_flush, #register_meter_provider
Constructor Details
#initialize(aggregation_cardinality_limit: nil) ⇒ InMemoryMetricPullExporter
Returns a new instance of InMemoryMetricPullExporter.
16 17 18 19 20 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 16 def initialize(aggregation_cardinality_limit: nil) super @metric_snapshots = [] @mutex = Mutex.new end |
Instance Attribute Details
#metric_snapshots ⇒ Object (readonly)
Returns the value of attribute metric_snapshots.
14 15 16 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 14 def metric_snapshots @metric_snapshots end |
Instance Method Details
#export(metrics, timeout: nil) ⇒ Object
Appends the given metrics to #metric_snapshots.
28 29 30 31 32 33 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 28 def export(metrics, timeout: nil) @mutex.synchronize do @metric_snapshots.concat(Array(metrics)) end SUCCESS end |
#pull ⇒ Object
Collects and exports the current metrics into #metric_snapshots.
23 24 25 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 23 def pull export(collect) end |
#reset ⇒ Object
Clears #metric_snapshots.
36 37 38 39 40 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 36 def reset @mutex.synchronize do @metric_snapshots.clear end end |
#shutdown ⇒ Object
No-op: there is nothing to shut down for this exporter.
43 44 45 |
# File 'lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb', line 43 def shutdown SUCCESS end |