- Home
- Skills
- Omidzamani
- Dspy Skills
- Dspy Debugging Observability
dspy-debugging-observability_skill
- Python
26
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill omidzamani/dspy-skills --skill dspy-debugging-observability- SKILL.md8.3 KB
Overview
This skill helps debug, trace, and monitor DSPy programs in development and production. It combines quick inspection tools, MLflow autologging, and customizable callbacks to capture LLM calls, token usage, latency, and cost information. Use it to gain visibility into program execution, optimize prompt flows, and maintain production observability.
How this skill works
Start with inspect_history() to view recent execution traces stored by DSPy. Enable MLflow autologging to capture runs, token usage, costs, and timelines in an MLflow experiment. For production-grade monitoring, attach custom callbacks that receive lifecycle hooks (on_lm_start, on_lm_end) to aggregate metrics, sample traces, or push events to external systems.
When to use it
- Investigating unexpected LLM outputs or multi-step program flows
- Instrumenting production pipelines to track latency, cost, and errors
- Logging inference traces and token usage to MLflow for audits
- Building custom metrics or alerts with callbacks
- Sampling traces in high-volume services to limit overhead
Best practices
- Use inspect_history() for fast local debugging before enabling heavy tracing
- Enable MLflow autolog only where persistent trace storage and UI access are needed
- Implement sampling (1–10%) for high-traffic endpoints to balance visibility and cost
- Redact PII and sensitive fields inside callbacks before logging or exporting
- Run callbacks asynchronously or minimize work in hooks to avoid blocking LLM calls
Example use cases
- Quickly inspect the last program execution to see model, usage, and cost fields
- Autolog all RAG pipeline runs to MLflow to compare optimizer versions and prompt variants
- Attach a ProductionMonitoringCallback to report total cost, tokens, and error counts to a dashboard
- Use a SamplingCallback to store representative traces for forensic analysis without full logging
- Integrate callbacks with metrics systems (Prometheus, Datadog) to create alerts on latency or cost spikes
FAQ
Yes when MLflow autolog for DSPy is enabled it records token counts, model names, timings, and any cost fields provided by the LLM client.
How do I avoid tracing every single call in high-volume production?
Use a sampling callback (e.g., 1–10% sample_rate) or filter traces by error conditions; keep heavy logging off the main request path.