Module metrics

Source
Expand description

The crust of the OpenTelemetry metrics SDK.

§Configuration

The metrics SDK configuration is stored with each SdkMeterProvider. Configuration for Resources, views, and [ManualReader] or PeriodicReader instances can be specified.

§Example

use opentelemetry::global;
use opentelemetry::KeyValue;
use opentelemetry_sdk::{metrics::SdkMeterProvider, Resource};

// Generate SDK configuration, resource, views, etc
let resource = Resource::builder().build(); // default attributes about the current process

// Create a meter provider with the desired config
let meter_provider = SdkMeterProvider::builder().with_resource(resource).build();
global::set_meter_provider(meter_provider.clone());

// Use the meter provider to create meter instances
let meter = global::meter("my_app");

// Create instruments scoped to the meter
let counter = meter
    .u64_counter("power_consumption")
    .with_unit("kWh")
    .build();

// use instruments to record measurements
counter.add(10, &[KeyValue::new("rate", "standard")]);

// shutdown the provider at the end of the application to ensure any metrics not yet
// exported are flushed.
meter_provider.shutdown().unwrap();

Re-exports§

pub use in_memory_exporter::InMemoryMetricExporter;
pub use in_memory_exporter::InMemoryMetricExporterBuilder;

Modules§

data
Types for delivery of pre-aggregated metric time series data.
exporter
Interfaces for exporting metrics
in_memory_exporter
In-Memory metric exporter for testing purpose.

Structs§

Instrument
Describes the properties of an instrument at creation, used for filtering in views. This is utilized in the with_view methods on MeterProviderBuilder to customize metric output.
MeterProviderBuilder
Configuration options for a MeterProvider.
PeriodicReader
A MetricReader that periodically collects and exports metrics at a configurable interval.
PeriodicReaderBuilder
Configuration options for PeriodicReader.
SdkMeterProvider
Handles the creation and coordination of Meters.
Stream
Describes the stream of data an instrument produces. Used in with_view methods on MeterProviderBuilder to customize the metric output.
StreamBuilder
A builder for creating Stream objects.

Enums§

InstrumentKind
The identifier of a group of instruments that all perform the same function.
Temporality
Defines the window that an aggregation was calculated over.