Skip to content

feat(muse-code): add Meta Muse Code dashboard template - #417

Merged
revmag merged 1 commit into
mainfrom
muse-code-dashboard
Sep 15, 2026
Merged

revmag merged 1 commit into
mainfrom
muse-code-dashboard

Conversation

@gkarthi-signoz

Copy link
Copy Markdown
Contributor

Adds a dashboard template for Meta Muse Code, the terminal coding agent Meta shipped in August 2026. This is the CLI agent, distinct from the existing muse-spark board which covers the Model API.

Where the telemetry comes from

Muse Code ships a built-in OpenTelemetry exporter, but it cannot be pointed at SigNoz. Its telemetry.auth is a two-value enum, bearer or none, with no field anywhere to supply your own credential, so there is no way to send signoz-ingestion-key. Verified on both 1.0.3-R2198.1 and 1.2.1-R2847.1. Separately, the native exporter emits nothing at all in public builds even with a valid login and a parsed config.

So this dashboard is built on traces emitted from Muse Code's hook system instead. A hook script receives each lifecycle event as JSON on stdin and posts OTLP/HTTP directly to SigNoz, which works because the script is user code and can set its own headers. The accompanying setup guide is in progress.

Span shape

Span Kind Notes
muse session Internal One per TUI session, its own trace
turn Internal Root of the turn trace; trace id is Muse's own turn_id, so hook spans line up with the agent's internal traceparent
chat {model} Client One per completed model call, gen_ai.* attributes
execute_tool {tool} Internal One per tool execution

Attributes follow gen_ai.* semantic conventions, including the dotted gen_ai.usage.cache_read.input_tokens and gen_ai.usage.reasoning.output_tokens spellings already used by the muse-spark board, so both dashboards read the same vocabulary. Agent-specific dimensions that have no gen_ai.* equivalent use muse.*.

Panels

Section Panels
Overview Sessions, Turns, Model Calls, Tool Calls, Input Tokens, Output Tokens
Tokens & Cache Token usage over time, Cache read ratio, Input tokens by model, Reasoning tokens
Latency Model call latency p50/p95/p99, Turn duration p50/p95/p99
Tool Activity Calls by tool, p95 duration by tool, Outcomes, Failures over time
Model Behaviour Finish reasons, Reasoning effort

Query scoping worth knowing

  • Every panel filters service.name IN $service_name through a multi-select dynamic variable, rather than hardcoding a service. Teams commonly split Muse Code telemetry by repo or team via MUSE_OTEL_SERVICE.
  • Chat panels filter on gen_ai.operation.name = 'chat' rather than the span name, because the span name carries the model id and would need a wildcard.
  • Tool panels filter on gen_ai.tool.name EXISTS.
  • Cache Read Ratio is a formula panel; its two base queries are disabled so only the ratio renders. Leaving them enabled plots raw token counts on a percent axis.

Docs link

The README links to https://signoz.io/docs/muse-code-monitoring/, which does not resolve yet. The guide is being added in a companion PR to the website repo.

Adds a dashboard for Meta's Muse Code terminal coding agent, built from
OTel traces emitted by its hook system rather than from its built-in
exporter, which cannot authenticate to a third-party backend.

18 panels across five sections: Overview scorecards, Tokens and Cache,
Latency, Tool Activity, and Model Behaviour. Spans use gen_ai.* semantic
conventions plus muse.* attributes for the agent-specific dimensions
(turn outcome, tool status, session end reason).

Every panel filters through a multi-select service_name variable, so the
board works for teams that split Muse Code telemetry across several
service names via MUSE_OTEL_SERVICE.
@github-actions

Copy link
Copy Markdown

📊 Dashboard files added in this PR

✅ An issue has been created in SigNoz/signoz.io to track these dashboard changes.

@revmag
revmag merged commit 90107e8 into main Sep 15, 2026
1 check passed
@revmag
revmag deleted the muse-code-dashboard branch September 15, 2026 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants