opentelemetry.sdk.metrics.export¶
-
class
opentelemetry.sdk.metrics.export.
AggregationTemporality
(value)[source]¶ Bases:
enum.IntEnum
The temporality to use when aggregating data.
Can be one of the following values:
-
UNSPECIFIED
= 0¶
-
DELTA
= 1¶
-
CUMULATIVE
= 2¶
-
-
class
opentelemetry.sdk.metrics.export.
ConsoleMetricExporter
(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, formatter=<function ConsoleMetricExporter.<lambda>>, preferred_temporality=None, preferred_aggregation=None)[source]¶ Bases:
opentelemetry.sdk.metrics._internal.export.MetricExporter
Implementation of
MetricExporter
that prints metrics to the console.This class can be used for diagnostic purposes. It prints the exported metrics to the console STDOUT.
-
export
(metrics_data, timeout_millis=10000, **kwargs)[source]¶ Exports a batch of telemetry data.
- Parameters
metrics – The list of
opentelemetry.sdk.metrics.export.Metric
objects to be exported- Return type
MetricExportResult
- Returns
The result of the export
-
-
class
opentelemetry.sdk.metrics.export.
InMemoryMetricReader
(preferred_temporality=None, preferred_aggregation=None)[source]¶ Bases:
opentelemetry.sdk.metrics._internal.export.MetricReader
Implementation of
MetricReader
that returns its metrics fromget_metrics_data()
.This is useful for e.g. unit tests.
-
shutdown
(timeout_millis=30000, **kwargs)[source]¶ Shuts down the MetricReader. This method provides a way for the MetricReader to do any cleanup required. A metric reader can only be shutdown once, any subsequent calls are ignored and return failure status.
When a
MetricReader
is registered on aMeterProvider
,shutdown()
will invoke this automatically.- Return type
-
-
class
opentelemetry.sdk.metrics.export.
MetricExporter
(preferred_temporality=None, preferred_aggregation=None)[source]¶ Bases:
abc.ABC
Interface for exporting metrics.
Interface to be implemented by services that want to export metrics received in their own format.
- Parameters
preferred_temporality – Used by
opentelemetry.sdk.metrics.export.PeriodicExportingMetricReader
to configure exporter level preferred temporality. Seeopentelemetry.sdk.metrics.export.MetricReader
for more details on what preferred temporality is.preferred_aggregation – Used by
opentelemetry.sdk.metrics.export.PeriodicExportingMetricReader
to configure exporter level preferred aggregation. Seeopentelemetry.sdk.metrics.export.MetricReader
for more details on what preferred aggregation is.
-
abstract
export
(metrics_data, timeout_millis=10000, **kwargs)[source]¶ Exports a batch of telemetry data.
- Parameters
metrics – The list of
opentelemetry.sdk.metrics.export.Metric
objects to be exported- Return type
MetricExportResult
- Returns
The result of the export
-
class
opentelemetry.sdk.metrics.export.
MetricExportResult
(value)[source]¶ Bases:
enum.Enum
Result of exporting a metric
Can be any of the following values:
-
SUCCESS
= 0¶
-
FAILURE
= 1¶
-
-
class
opentelemetry.sdk.metrics.export.
MetricReader
(preferred_temporality=None, preferred_aggregation=None)[source]¶ Bases:
abc.ABC
Base class for all metric readers
- Parameters
preferred_temporality – A mapping between instrument classes and aggregation temporality. By default uses CUMULATIVE for all instrument classes. This mapping will be used to define the default aggregation temporality of every instrument class. If the user wants to make a change in the default aggregation temporality of an instrument class, it is enough to pass here a dictionary whose keys are the instrument classes and the values are the corresponding desired aggregation temporalities of the classes that the user wants to change, not all of them. The classes not included in the passed dictionary will retain their association to their default aggregation temporalities.
preferred_aggregation – A mapping between instrument classes and aggregation instances. By default maps all instrument classes to an instance of
DefaultAggregation
. This mapping will be used to define the default aggregation of every instrument class. If the user wants to make a change in the default aggregation of an instrument class, it is enough to pass here a dictionary whose keys are the instrument classes and the values are the corresponding desired aggregation for the instrument classes that the user wants to change, not necessarily all of them. The classes not included in the passed dictionary will retain their association to their default aggregations. The aggregation defined here will be overridden by an aggregation defined by a view that is notDefaultAggregation
.
-
abstract
_receive_metrics
(metrics_data, timeout_millis=10000, **kwargs)[source]¶ Called by
MetricReader.collect
when it receives a batch of metrics- Return type
-
collect
(timeout_millis=10000)[source]¶ Collects the metrics from the internal SDK state and invokes the
_receive_metrics
with the collection.- Parameters
timeout_millis (
float
) – Amount of time in milliseconds before this function raises a timeout error.
If any of the underlying
collect
methods called by this method fails by any reason (including timeout) an exception will be raised detailing the individual errors that caused this function to fail.- Return type
-
abstract
shutdown
(timeout_millis=30000, **kwargs)[source]¶ Shuts down the MetricReader. This method provides a way for the MetricReader to do any cleanup required. A metric reader can only be shutdown once, any subsequent calls are ignored and return failure status.
When a
MetricReader
is registered on aMeterProvider
,shutdown()
will invoke this automatically.- Return type
-
class
opentelemetry.sdk.metrics.export.
PeriodicExportingMetricReader
(exporter, export_interval_millis=None, export_timeout_millis=None)[source]¶ Bases:
opentelemetry.sdk.metrics._internal.export.MetricReader
PeriodicExportingMetricReader
is an implementation ofMetricReader
that collects metrics based on a user-configurable time interval, and passes the metrics to the configured exporter. If the time interval is set tomath.inf
, the reader will not invoke periodic collection.The configured exporter’s
export()
method will not be called concurrently.-
shutdown
(timeout_millis=30000, **kwargs)[source]¶ Shuts down the MetricReader. This method provides a way for the MetricReader to do any cleanup required. A metric reader can only be shutdown once, any subsequent calls are ignored and return failure status.
When a
MetricReader
is registered on aMeterProvider
,shutdown()
will invoke this automatically.- Return type
-
-
class
opentelemetry.sdk.metrics.export.
Gauge
(data_points)[source]¶ Bases:
object
Represents the type of a scalar metric that always exports the current value for every data point. It should be used for an unknown aggregation.
-
data_points
: Sequence[opentelemetry.sdk.metrics._internal.point.NumberDataPoint]¶
-
-
class
opentelemetry.sdk.metrics.export.
Histogram
(data_points, aggregation_temporality)[source]¶ Bases:
object
Represents the type of a metric that is calculated by aggregating as a histogram of all reported measurements over a time interval.
-
data_points
: Sequence[opentelemetry.sdk.metrics._internal.point.HistogramDataPoint]¶
-
aggregation_temporality
: opentelemetry.sdk.metrics._internal.aggregation.AggregationTemporality¶
-
-
class
opentelemetry.sdk.metrics.export.
HistogramDataPoint
(attributes, start_time_unix_nano, time_unix_nano, count, sum, bucket_counts, explicit_bounds, min, max)[source]¶ Bases:
object
Single data point in a timeseries that describes the time-varying scalar value of a metric.
-
class
opentelemetry.sdk.metrics.export.
Metric
(name, description, unit, data)[source]¶ Bases:
object
Represents a metric point in the OpenTelemetry data model to be exported.
-
data
: Union[opentelemetry.sdk.metrics._internal.point.Sum, opentelemetry.sdk.metrics._internal.point.Gauge, opentelemetry.sdk.metrics._internal.point.Histogram]¶
-
-
class
opentelemetry.sdk.metrics.export.
MetricsData
(resource_metrics)[source]¶ Bases:
object
An array of ResourceMetrics
-
resource_metrics
: Sequence[opentelemetry.sdk.metrics._internal.point.ResourceMetrics]¶
-
-
class
opentelemetry.sdk.metrics.export.
NumberDataPoint
(attributes, start_time_unix_nano, time_unix_nano, value)[source]¶ Bases:
object
Single data point in a timeseries that describes the time-varying scalar value of a metric.
-
class
opentelemetry.sdk.metrics.export.
ResourceMetrics
(resource, scope_metrics, schema_url)[source]¶ Bases:
object
A collection of ScopeMetrics from a Resource
-
resource
: opentelemetry.sdk.resources.Resource¶
-
scope_metrics
: Sequence[opentelemetry.sdk.metrics._internal.point.ScopeMetrics]¶
-
-
class
opentelemetry.sdk.metrics.export.
ScopeMetrics
(scope, metrics, schema_url)[source]¶ Bases:
object
A collection of Metrics produced by a scope
-
metrics
: Sequence[opentelemetry.sdk.metrics._internal.point.Metric]¶
-
-
class
opentelemetry.sdk.metrics.export.
Sum
(data_points, aggregation_temporality, is_monotonic)[source]¶ Bases:
object
Represents the type of a scalar metric that is calculated as a sum of all reported measurements over a time interval.
-
data_points
: Sequence[opentelemetry.sdk.metrics._internal.point.NumberDataPoint]¶
-
aggregation_temporality
: opentelemetry.sdk.metrics._internal.aggregation.AggregationTemporality¶
-