Skip to content

Commit 0085ea5

Browse files
fix: update langfuse example to use correct TraceEmitter protocol
- Replace ContextTraceEmitter with TraceEmitter for proper ActionEvent protocol usage - Add try/finally block for guaranteed sink cleanup and resource management - Ensures example follows correct protocol contract and demonstrates safe resource handling Co-authored-by: MervinPraison <454862+MervinPraison@users.noreply.github.com>
1 parent 19297c0 commit 0085ea5

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

examples/observability/langfuse_example.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
"""
1414
from praisonaiagents import Agent
1515
from praisonai.observability import LangfuseSink
16-
from praisonaiagents.trace.context_events import (
17-
ContextTraceEmitter, set_context_emitter
16+
from praisonaiagents.trace.protocol import (
17+
TraceEmitter, set_default_emitter
1818
)
1919

2020
# Initialize Langfuse observability
2121
sink = LangfuseSink()
22-
emitter = ContextTraceEmitter(sink=sink, enabled=True)
23-
set_context_emitter(emitter)
22+
emitter = TraceEmitter(sink=sink, enabled=True)
23+
set_default_emitter(emitter)
2424

2525
# Create and run agent — all traces automatically captured
2626
agent = Agent(
@@ -29,11 +29,12 @@
2929
llm="openai/gpt-4o-mini",
3030
)
3131

32-
result = agent.start("Write a Python function to calculate fibonacci numbers")
33-
print(result)
34-
35-
# Flush traces
36-
sink.flush()
37-
sink.close()
32+
try:
33+
result = agent.start("Write a Python function to calculate fibonacci numbers")
34+
print(result)
35+
finally:
36+
# Ensure traces are flushed and resources cleaned up
37+
sink.flush()
38+
sink.close()
3839

3940
print("\nCheck Langfuse dashboard for traces!")

0 commit comments

Comments
 (0)