mod export;
pub(crate) mod internal;
mod metric;
#[cfg(feature = "runtime")]
mod runtime;
pub mod span;
mod temporality;
pub use export::text::{DogStatsDExport, PrometheusExport};
#[doc(hidden)]
pub mod __macro_support {
pub use crate::export::text::{
__write_dogstatsd, __write_dogstatsd_distribution, __write_dogstatsd_distribution_delta,
__write_dogstatsd_distribution_delta_dynamic,
__write_dogstatsd_distribution_delta_dynamic_pairs, __write_dogstatsd_distribution_dynamic,
__write_dogstatsd_dynamic, __write_dogstatsd_dynamic_pairs, __write_dogstatsd_with_label,
FastFormat,
};
}
pub use metric::ExportMetrics;
pub use metric::{
Counter, CounterSet, CounterSetBuffer, Distribution, DistributionSnapshot, DynamicCounter,
DynamicCounterSeries, DynamicCounterSet, DynamicCounterSetSeries, DynamicDistribution,
DynamicDistributionSeries, DynamicGauge, DynamicGaugeI64, DynamicGaugeI64Series,
DynamicGaugeSeries, DynamicHistogram, DynamicHistogramSeries, DynamicHistogramSeriesView,
DynamicLabelSet, Gauge, GaugeF64, Histogram, HistogramSnapshot, LabelEnum, LabeledCounter,
LabeledGauge, LabeledHistogram, LabeledSampledTimer, MaxGauge, MaxGaugeF64, MetricKind,
MetricLabel, MetricLabels, MetricLabelsIter, MetricMeta, MetricVisitor, MinGauge, MinGaugeF64,
SampledTimer, SampledTimerGuard,
};
#[cfg(feature = "eviction")]
pub use metric::{advance_cycle, current_cycle};
#[cfg(feature = "runtime")]
pub use runtime::{MetricScope, RegisteredMetrics, Runtime, RuntimeConfig};
pub use span::{
CompletedSpan, Span, SpanAttribute, SpanCollector, SpanEvent, SpanId, SpanKind, SpanStatus,
SpanValue, TraceId, current_span_id, current_trace_id,
};
pub use temporality::Temporality;
#[cfg(feature = "otlp")]
pub use export::otlp::OtlpExport;
#[cfg(feature = "clickhouse")]
pub use export::clickhouse::{ClickHouseExport, ClickHouseMetricBatch};
#[cfg(feature = "macros")]
pub use fast_telemetry_macros::{ExportMetrics, LabelEnum as DeriveLabel};
pub(crate) use internal::exp_buckets;
pub(crate) use internal::thread_id;
pub(crate) use metric::label;
#[cfg(feature = "otlp")]
pub mod otlp {
pub use crate::export::otlp::*;
}
#[cfg(feature = "clickhouse")]
pub mod clickhouse {
pub use crate::export::clickhouse::*;
}