Module metrics
Available on crate features
opentelemetry and metrics only.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();Modules§
- data
- Types for delivery of pre-aggregated metric time series data.
- exporter
- Interfaces for exporting metrics
Structs§
- Instrument
- Describes the properties of an instrument at creation, used for filtering in
views. This is utilized in the
with_viewmethods onMeterProviderBuilderto customize metric output. - Meter
Provider Builder - Configuration options for a MeterProvider.
- Periodic
Reader - A
MetricReaderthat periodically collects and exports metrics at a configurable interval. - Periodic
Reader Builder - Configuration options for PeriodicReader.
- SdkMeter
Provider - Handles the creation and coordination of Meters.
- Stream
- Describes the stream of data an instrument produces. Used in
with_viewmethods onMeterProviderBuilderto customize the metric output. - Stream
Builder - A builder for creating Stream objects.
Enums§
- Instrument
Kind - The identifier of a group of instruments that all perform the same function.
- Temporality
- Defines the window that an aggregation was calculated over.