Meta Muse Code Monitoring with OpenTelemetry and SigNoz SigNoz published a guide for exporting telemetry from Meta Muse Code, Meta's terminal coding agent powered by the Muse Spark model family, to SigNoz using OpenTelemetry. Because Muse Code's built-in OpenTelemetry exporter cannot send the signoz-ingestion-key header required by SigNoz Cloud, the guide uses Muse Code's hook system and a Python 3.9+ script at ~/.local/share/muse-otel/muse_otel_hook.py to convert lifecycle events into OpenTelemetry spans posted to SigNoz over OTLP/HTTP JSON. The setup lets operators observe sessions, turns, model calls, token and prompt cache usage, and tool activity, since cost is driven by context replay and latency by hidden reasoning. What is Meta Muse Code Monitoring? Meta Muse Code https://www.meta.ai/ is Meta's terminal coding agent, powered by the Muse Spark model family. It runs from your shell, reads and edits files, runs commands, and spawns subagents, which means a single prompt can turn into a dozen model calls and as many tool executions before you see a reply. That is exactly what makes it hard to reason about without telemetry. Cost is driven by context replay rather than by how much anyone typed, latency is dominated by reasoning the user never sees, and a failing tool shows up as an agent that quietly takes longer. This guide walks you through exporting Muse Code telemetry to SigNoz using OpenTelemetry https://opentelemetry.io/ , so you can observe sessions, turns, model calls, token and prompt cache usage, and tool activity. Prerequisites - A SigNoz Cloud account https://signoz.io/teams/ with an active ingestion key, or a self-hosted SigNoz instance https://signoz.io/docs/install/self-host/ - Muse Code installed and signed in. Run muse --version to confirm - Python 3.9 or newer, already present on macOS and most Linux distributions Monitor Meta Muse Code with OpenTelemetry Muse Code ships its own OpenTelemetry exporter, but it cannot send the signoz-ingestion-key header that SigNoz Cloud requires, so this guide uses the hook system instead. Muse Code runs a hook command at each point in its lifecycle and passes the event to that command as JSON on stdin. The script below turns those events into OpenTelemetry spans and posts them to SigNoz over OTLP/HTTP. No SDK is required, because SigNoz accepts OTLP/HTTP JSON directly. Step 1: Create the hook script at ~/.local/share/muse-otel/muse otel hook.py . bash /usr/bin/env python3 """Export Meta Muse Code hook events to SigNoz as OpenTelemetry spans.""" import hashlib, json, os, pathlib, sys, time, urllib.request STATE = pathlib.Path os.path.expanduser "~/.local/state/muse-otel" CFG PATHS = pathlib.Path file .resolve .parent / "config.json", pathlib.Path os.path.expanduser "~/.config/muse-otel/config.json" def config : for p in CFG PATHS: try: return json.loads p.read text except Exception: continue return {} CFG = config ENDPOINT = CFG.get "endpoint", "https://ingest.