Docs
How Nozzle works
Nozzle is an AI conversation-intelligence layer on top of SigNoz. Your agents emit OpenTelemetry gen_ai traces; Nozzle reads them from SigNoz, reconstructs conversations, classifies each with an LLM, and surfaces business insight — then writes its findings back into SigNoz. SigNoz is the observability layer; Nozzle is the semantic layer on top.
The pipeline
From raw agent spans to analyzed conversations and back — one continuous loop.
Self-observing loop: Nozzle writes verdicts back to SigNoz as correlated logs, emits its own metrics, and self-instruments its pipeline as traces — so the analyzer is observed by the very system it reads from.
Three OpenTelemetry signals
Nozzle uses all three OTel signals — the semantic layer rides in as span, log, and metric attributes.
- Read agent gen_ai / OpenInference spans to reconstruct conversations
- Derive tool latency (P50/P90/P99) and discover agents
- Emit nozzle-backend spans (poll, analyze, chat) with gen_ai.* attrs
- Each analysis verdict written back as an OTLP log
- Correlated to the originating trace via trace/span context
- Filterable in SigNoz by nozzle.intent, nozzle.outcome, …
- conversations.analyzed counter (intent / outcome / sentiment)
- frustration.score + llm.duration histograms
- llm.tokens counter — native SigNoz dashboards & alerts
Architecture
Two systems on a shared Docker network: the SigNoz stack, and Nozzle's own services.
SigNoz integration
Dashboards
Every panel is a Query Builder group-by over the semantics attached to your telemetry.
Configuration
Core environment variables (backend). Local and Cloud differ only in endpoint and auth.
SIGNOZ_QUERY_URL | SigNoz query API base (read-back). |
SIGNOZ_AUTH_TOKEN | Service-account key, sent as the SIGNOZ-API-KEY header. |
SIGNOZ_OTLP_ENDPOINT / INGESTION_URL | OTLP export target — local :4318 or Cloud ingest URL. |
INGESTION_KEY | SigNoz Cloud ingestion key (sent as signoz-ingestion-key). |
SIGNOZ_URL | Browser-reachable SigNoz UI base for trace deep-links. |
SIGNOZ_SERVICE_NAMES | Comma-separated services the poller ingests. |
CHAT_API_BASE / CHAT_MODEL / NVIDIA_API_KEY | LLM endpoint for analysis (NVIDIA NIM). |