diff --git a/backends/v3/src/main.rs b/backends/v3/src/main.rs index c1538b88..21952e66 100644 --- a/backends/v3/src/main.rs +++ b/backends/v3/src/main.rs @@ -69,7 +69,7 @@ struct Args { #[clap(default_value = "4", long, env)] max_client_batch_size: usize, #[clap(default_value = "on", long, env)] - usage_stats: Option, + usage_stats: usage_stats::UsageStatsLevel, } #[derive(Debug, Subcommand)] @@ -125,8 +125,6 @@ async fn main() -> Result<(), RouterError> { }; text_generation_router::logging::init_logging(otlp_endpoint, otlp_service_name, json_output); - let usage_stats_level = usage_stats.unwrap_or(usage_stats::UsageStatsLevel::On); - // Validate args if max_input_tokens >= max_total_tokens { return Err(RouterError::ArgumentValidation( @@ -187,7 +185,7 @@ async fn main() -> Result<(), RouterError> { messages_api_enabled, disable_grammar_support, max_client_batch_size, - usage_stats_level, + usage_stats, ) .await?; Ok(()) diff --git a/launcher/src/main.rs b/launcher/src/main.rs index 6d310da4..8acfda0c 100644 --- a/launcher/src/main.rs +++ b/launcher/src/main.rs @@ -497,7 +497,7 @@ struct Args { /// Options are "on", "off" and "no-stack" /// Defaul is on. #[clap(default_value = "on", long, env)] - usage_stats: Option, + usage_stats: UsageStatsLevel, } #[derive(Debug)] @@ -1243,9 +1243,8 @@ fn spawn_webserver( ]; // Pass usage stats flags to router - let usage_stats_level = args.usage_stats.unwrap_or(UsageStatsLevel::On); router_args.push("--usage-stats".to_string()); - router_args.push(usage_stats_level.to_string()); + router_args.push(args.usage_stats.to_string()); // Grammar support if args.disable_grammar_support { diff --git a/router/src/server.rs b/router/src/server.rs index 43e82d4f..dcbaa2ad 100644 --- a/router/src/server.rs +++ b/router/src/server.rs @@ -1778,19 +1778,17 @@ pub async fn run( } Err(e) => { let description = match usage_stats_level { - usage_stats::UsageStatsLevel::On => { - Some(e.to_string()), - ); - - } - usage_stats::UsageStatsLevel::NoStack => { - "unknow_error".to_string() - } - } - let event =.... // Create event - event.send().await; - _ => {} + usage_stats::UsageStatsLevel::On => Some(e.to_string()), + usage_stats::UsageStatsLevel::NoStack => Some("unknow_error".to_string()), + _ => None, }; + let event = usage_stats::UsageStatsEvent::new( + ua.clone(), + usage_stats::EventType::Error, + description, + ); + event.send().await; + Err(e) } }