#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
mod collector;
mod config;
mod events;
mod sink;
mod time;
mod timers;
pub use collector::{
OwnedRequestCompletion, OwnedRequestHandle, OwnedStartedRequest, RequestCompletion,
RequestHandle, RuntimeSamplerRegistrationError, StartedRequest, Tailtriage,
};
pub use config::{
BuildError, CaptureLimits, CaptureLimitsOverride, CaptureMode, EffectiveCoreConfig,
RequestOptions, TailtriageBuilder,
};
pub use events::{
EffectiveTokioSamplerConfig, InFlightSnapshot, Outcome, QueueEvent, RequestEvent, Run,
RunEndReason, RunMetadata, RuntimeSnapshot, StageEvent, TruncationSummary,
UnfinishedRequestSample, UnfinishedRequests, SCHEMA_VERSION,
};
pub use sink::{DiscardSink, LocalJsonSink, MemorySink, RunSink, SinkError};
pub use time::{system_time_to_unix_ms, unix_time_ms};
pub use timers::{InflightGuard, QueueTimer, StageTimer};
#[doc(hidden)]
pub mod __internal {
use crate::{EffectiveTokioSamplerConfig, RuntimeSamplerRegistrationError, Tailtriage};
pub fn register_tokio_runtime_sampler(
tailtriage: &Tailtriage,
config: EffectiveTokioSamplerConfig,
) -> Result<(), RuntimeSamplerRegistrationError> {
tailtriage.register_tokio_runtime_sampler(config)
}
}
#[cfg(test)]
mod tests;