langfuse_client_base/models/
model_usage_unit.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum ModelUsageUnit {
18 #[serde(rename = "CHARACTERS")]
19 Characters,
20 #[serde(rename = "TOKENS")]
21 Tokens,
22 #[serde(rename = "MILLISECONDS")]
23 Milliseconds,
24 #[serde(rename = "SECONDS")]
25 Seconds,
26 #[serde(rename = "IMAGES")]
27 Images,
28 #[serde(rename = "REQUESTS")]
29 Requests,
30}
31
32impl std::fmt::Display for ModelUsageUnit {
33 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
34 match self {
35 Self::Characters => write!(f, "CHARACTERS"),
36 Self::Tokens => write!(f, "TOKENS"),
37 Self::Milliseconds => write!(f, "MILLISECONDS"),
38 Self::Seconds => write!(f, "SECONDS"),
39 Self::Images => write!(f, "IMAGES"),
40 Self::Requests => write!(f, "REQUESTS"),
41 }
42 }
43}
44
45impl Default for ModelUsageUnit {
46 fn default() -> ModelUsageUnit {
47 Self::Characters
48 }
49}