Skip to content
Back to skills

Domino Trace Setup

ASecurity

Set up GenAI tracing for an LLM or agent application in Domino by checking MLflow 3.2.0 and Domino SDK requirements, then adding a tracing_setup.py helper, evaluators, a config.yaml, and @add_tracing / DominoRun wiring. Use when the user asks to add tracing, observability, or evaluation to an agent or LLM app running on Domino.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 9, 2026
ai-agentspythongodocker

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned October 9, 2026

npx -y skills add dominodatalab/domino-ai-plugin --skill domino-trace-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Domino Trace Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Domino Trace Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dominodatalab-domino-trace-setup/badge)](https://www.skillsdirectory.com/skills/dominodatalab-domino-trace-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: domino-trace-setup
description: Set up GenAI tracing for an LLM or agent application in Domino by checking MLflow 3.2.0 and Domino SDK requirements, then adding a tracing_setup.py helper, evaluators, a config.yaml, and @add_tracing / DominoRun wiring. Use when the user asks to add tracing, observability, or evaluation to an agent or LLM app running on Domino.
---

# Set Up Domino GenAI Tracing

Instrument an agent or LLM application so its calls, spans, and evaluator scores show up in
Domino experiments. For traditional ML tracking, use the `domino-experiment-setup` skill instead.

## Inputs

1. **LLM framework**: `openai` (default), `anthropic`, or `langchain`. Detect from the code if possible.
2. **Agent name**: name for the traced entry-point function.
3. **Evaluator**: whether to add quality scoring, and whether to use an LLM-as-judge.
4. **Aggregated metrics**: which evaluator metrics to summarize per run.

## Steps

1. **Check requirements.** Confirm `mlflow==3.2.0` and the Domino SDK with agents support are
   installed. If not, tell the user to add them to the environment's Dockerfile:

   ```dockerfile
   RUN pip install mlflow==3.2.0
   RUN pip install "dominodatalab[data,agents]==2.2.0"
   ```

2. **Copy helpers** from this skill's `assets/` folder into the project:
   - `assets/tracing_setup.py`: `setup_tracing(framework)`, `create_evaluator()`,
     `create_llm_judge_evaluator()`, and `get_aggregation_metrics()`.
   - `assets/config.yaml`: agent configuration logged with `DominoRun(agent_config_path=...)`.
     Replace the example model names with the ones the user actually calls.
3. **Instrument the agent.** Decorate the entry point with `@add_tracing` and run it inside
   `DominoRun`, following the example below. Keep the user's existing logic unchanged.
4. **Explain how to view traces** (see "Viewing traces").

## Example traced agent

```python
import mlflow
from domino.agents.tracing import add_tracing
from domino.agents.logging import DominoRun
from openai import OpenAI

mlflow.openai.autolog()
client = OpenAI()

def quality_evaluator(inputs, output):
    return {
        "response_length": len(output.get("response", "")),
        "confidence": output.get("confidence", 0),
    }

@add_tracing(name="my_agent", evaluator=quality_evaluator)
def my_agent(query: str) -> dict:
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": query}],
    )
    return {
        "response": response.choices[0].message.content,
        "confidence": 0.9,
        "model": "gpt-4o-mini",
    }

if __name__ == "__main__":
    aggregated_metrics = [("response_length", "mean"), ("confidence", "mean")]

    with DominoRun(
        run_name="example-run",
        agent_config_path="config.yaml",
        custom_summary_metrics=aggregated_metrics,
    ) as run:
        for query in ["What is machine learning?", "Explain neural networks"]:
            result = my_agent(query)
            print(f"Q: {query}\nA: {result['response'][:100]}...\n")
        print(f"Run ID: {run.run_id}")
```

## Framework autologging

| Framework | Setup |
|---|---|
| OpenAI | `mlflow.openai.autolog()` then `OpenAI()` |
| Anthropic | `mlflow.anthropic.autolog()` then `Anthropic()` |
| LangChain | `mlflow.langchain.autolog()` then e.g. `ChatOpenAI(model="gpt-4o-mini")` |

## Viewing traces

1. Go to **Experiments** in Domino.
2. Open the experiment the run logged to (by default `tracing-{username}`).
3. Select the run and open the **Traces** tab.

The trace view shows the span tree (agents, tools, messages), token usage, latency, and evaluator
scores.

For evaluators, multi-agent patterns, and `DominoRun` details, use the `domino-genai-tracing` skill.

Files in this skill

  • SKILL.md3.7 KB
  • assets/config.yaml1.5 KB
  • assets/tracing_setup.py6.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.