langfuse_rs/models/
usage_by_model.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct UsageByModel {
17 #[serde(
18 rename = "model",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub model: Option<Option<String>>,
24 #[serde(rename = "inputUsage")]
26 pub input_usage: i32,
27 #[serde(rename = "outputUsage")]
29 pub output_usage: i32,
30 #[serde(rename = "totalUsage")]
32 pub total_usage: i32,
33 #[serde(rename = "countTraces")]
34 pub count_traces: i32,
35 #[serde(rename = "countObservations")]
36 pub count_observations: i32,
37 #[serde(rename = "totalCost")]
39 pub total_cost: f64,
40}
41
42impl UsageByModel {
43 pub fn new(input_usage: i32, output_usage: i32, total_usage: i32, count_traces: i32, count_observations: i32, total_cost: f64) -> UsageByModel {
45 UsageByModel {
46 model: None,
47 input_usage,
48 output_usage,
49 total_usage,
50 count_traces,
51 count_observations,
52 total_cost,
53 }
54 }
55}