trim conversation if it exceed max limit of what router model can handle (#488)

This commit is contained in:
Adil Hafeez 2025-05-27 20:28:22 -07:00 committed by GitHub
parent 79cbcb5fe1
commit d29eba4102
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 393 additions and 83 deletions

View file

@ -0,0 +1 @@
pub mod tracing;

View file

@ -0,0 +1,29 @@
use std::sync::OnceLock;
use opentelemetry::global;
use opentelemetry_sdk::{propagation::TraceContextPropagator, trace::SdkTracerProvider};
use opentelemetry_stdout::SpanExporter;
use tracing_subscriber::EnvFilter;
static INIT_LOGGER: OnceLock<SdkTracerProvider> = OnceLock::new();
pub fn init_tracer() -> &'static SdkTracerProvider {
INIT_LOGGER.get_or_init(|| {
global::set_text_map_propagator(TraceContextPropagator::new());
// Install stdout exporter pipeline to be able to retrieve the collected spans.
// For the demonstration, use `Sampler::AlwaysOn` sampler to sample all traces.
let provider = SdkTracerProvider::builder()
.with_simple_exporter(SpanExporter::default())
.build();
global::set_tracer_provider(provider.clone());
tracing_subscriber::fmt()
.with_env_filter(
EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info")),
)
.init();
provider
})
}