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, 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::*;
}