import synapsekit.observe enables SynapseKit's tracing hooks for LLMs, RAG pipelines, agents, and graphs.
pip install synapsekit[observe,openai]import synapsekit.observe as observe
from synapsekit import RAG
observe.configure(
exporter="jaeger",
endpoint="http://localhost:4317",
service_name="my-rag-app",
trace_llm_inputs=True,
trace_llm_outputs=True,
cost_tracking=True,
sample_rate=1.0,
)
rag = RAG(model="gpt-4o-mini", api_key="sk-...")
answer = await rag.ask("What is the main topic?")- Start Prometheus + Grafana (see the Helm chart below or your own stack).
- Enable metrics and expose a
/metricsendpoint:
from synapsekit.observability import PrometheusMetrics
import synapsekit.observe as observe
metrics = PrometheusMetrics(start_server=True, port=8000)
observe.configure(
exporter="otlp",
endpoint="http://localhost:4317",
metrics=metrics,
)- In Grafana, add Prometheus as a data source.
- Import
assets/grafana/synapsekit-observe-dashboard.json.
SynapseKit emits the following metrics when enabled:
synapsekit_cost_usd_total(counter)synapsekit_tokens_total(counter)synapsekit_latency_seconds(histogram)
Supported exporter names:
consoleotlpjaegerlangfusehoneycomb
You can also pass a custom exporter object with export() and clear() methods.
observe.configure(
trace_llm_inputs=False,
trace_llm_outputs=False,
redact_keys=["api_key", "password"],
)services:
jaeger:
image: jaegertracing/all-in-one:1.57
ports:
- "16686:16686"
- "4317:4317"Import assets/grafana/synapsekit-observe-dashboard.json into Grafana as a starting point for tracing dashboards.
