AshenH commited on
Commit
23dc37a
·
verified ·
1 Parent(s): 81516f3

Update utils/tracing.py

Browse files
Files changed (1) hide show
  1. utils/tracing.py +38 -30
utils/tracing.py CHANGED
@@ -1,30 +1,38 @@
1
- import os
2
- import json
3
- from typing import Optional
4
-
5
- class Tracer:
6
- def __init__(self, client=None, trace_url: Optional[str] = None):
7
- self.client = client
8
- self.trace_url = trace_url
9
-
10
- @classmethod
11
- def from_env(cls):
12
- try:
13
- from langfuse import Langfuse
14
- pk = os.getenv("LANGFUSE_PUBLIC_KEY")
15
- sk = os.getenv("LANGFUSE_SECRET_KEY")
16
- host = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com")
17
- if pk and sk:
18
- client = Langfuse(public_key=pk, secret_key=sk, host=host)
19
- session = client.trace("tabular-agentic-xai")
20
- return cls(client=session, trace_url=session.get_url() if hasattr(session, "get_url") else None)
21
- except Exception:
22
- pass
23
- return cls()
24
-
25
- def trace_event(self, name: str, payload: dict):
26
- if self.client:
27
- try:
28
- self.client.event(name=name, input=json.dumps(payload))
29
- except Exception:
30
- pass
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+
4
+ class Tracer:
5
+ def __init__(self):
6
+ self.enabled = False
7
+ self.client = None
8
+ self.trace = None
9
+ try:
10
+ from langfuse import Langfuse
11
+ pk = os.getenv("LANGFUSE_PUBLIC_KEY")
12
+ sk = os.getenv("LANGFUSE_SECRET_KEY")
13
+ host = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com")
14
+ if pk and sk:
15
+ self.client = Langfuse(public_key=pk, secret_key=sk, host=host)
16
+ self.trace = self.client.trace(name="tabular-agentic-xai")
17
+ self.enabled = True
18
+ except Exception:
19
+ pass
20
+
21
+ @classmethod
22
+ def from_env(cls):
23
+ return cls()
24
+
25
+ @property
26
+ def trace_url(self):
27
+ try:
28
+ return self.trace.get_url() if (self.enabled and hasattr(self.trace, "get_url")) else None
29
+ except Exception:
30
+ return None
31
+
32
+ def trace_event(self, name: str, payload: dict):
33
+ if not self.enabled or not self.trace:
34
+ return
35
+ try:
36
+ self.trace.event(name=name, input=json.dumps(payload))
37
+ except Exception:
38
+ pass