langfuse_client/models/
trace.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Trace {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "timestamp")]
21 pub timestamp: String,
22 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub name: Option<Option<String>>,
25 #[serde(rename = "input", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub input: Option<Option<serde_json::Value>>,
28 #[serde(rename = "output", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub output: Option<Option<serde_json::Value>>,
31 #[serde(rename = "sessionId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub session_id: Option<Option<String>>,
34 #[serde(rename = "release", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub release: Option<Option<String>>,
37 #[serde(rename = "version", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub version: Option<Option<String>>,
40 #[serde(rename = "userId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
42 pub user_id: Option<Option<String>>,
43 #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45 pub metadata: Option<Option<serde_json::Value>>,
46 #[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
48 pub tags: Option<Option<Vec<String>>>,
49 #[serde(rename = "public", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub public: Option<Option<bool>>,
52 #[serde(rename = "environment", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
54 pub environment: Option<Option<String>>,
55}
56
57impl Trace {
58 pub fn new(id: String, timestamp: String) -> Trace {
59 Trace {
60 id,
61 timestamp,
62 name: None,
63 input: None,
64 output: None,
65 session_id: None,
66 release: None,
67 version: None,
68 user_id: None,
69 metadata: None,
70 tags: None,
71 public: None,
72 environment: None,
73 }
74 }
75}
76