Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions skills/nooa-trace-viewer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,18 @@ Trace-detail features worth knowing:
- **Batch ID chip** in the header (copyable) — groups imported/eval runs; filter the list with `/traces?batch_id=…`.
- Keyboard: `j`/`k` navigate, `/` search, `?` shows all shortcuts. URL captures view state, so links are shareable; add `&embed=true` to embed.

## Viewer plugin metadata

The viewer selects a registered span renderer from the `nooa.viewer.plugin`
OpenTelemetry span attribute. Core NOOA tracing sets this automatically for
method, generation, code-execution, and tool-execution spans. Code that adds a
new renderer in `src/nooa/viewer/frontend-react/src/components/plugins/index.ts`
can select it for custom spans by setting the same attribute on those spans.

Older imported traces may still carry the pre-NOOA key
`nemo_oo_agents.viewer.plugin`; the viewer accepts that as a compatibility
fallback, but new span producers should write `nooa.viewer.plugin`.

## Import, export, delete

```bash
Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/nooa/viewer/frontend-react/dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NVIDIA OO Agents Viewer</title>
<script type="module" crossorigin src="/assets/index-DwrEQzTi.js"></script>
<script type="module" crossorigin src="/assets/index-BWvXXIvw.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DKBq4F_b.css">
</head>
<body>
Expand Down
14 changes: 13 additions & 1 deletion src/nooa/viewer/frontend-react/src/api/traces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,24 @@ function nsDuration(startStr: string | undefined, endStr: string | undefined): n
}
}

const VIEWER_PLUGIN_ATTR = 'nooa.viewer.plugin';
const LEGACY_VIEWER_PLUGIN_ATTR = 'nemo_oo_agents.viewer.plugin';

function getViewerPlugin(attrs: Record<string, unknown>): string | undefined {
const canonicalPlugin = attrs[VIEWER_PLUGIN_ATTR];
if (typeof canonicalPlugin === 'string') return canonicalPlugin;

// Keep imported traces from the pre-NOOA rename readable.
const legacyPlugin = attrs[LEGACY_VIEWER_PLUGIN_ATTR];
return typeof legacyPlugin === 'string' ? legacyPlugin : undefined;
}

/**
* Derive the viewer plugin type, using span.name for more specific grouping
* when the plugin is a generic category (e.g. "method" -> "method.handle").
*/
function derivePluginType(attrs: Record<string, unknown>, spanName: string | undefined): string {
const plugin = attrs['nemo_oo_agents.viewer.plugin'] as string | undefined;
const plugin = getViewerPlugin(attrs);
if (!plugin) return spanName || 'unknown';

// For method/method_call plugins, the span name (e.g. "method.handle")
Expand Down
Loading