What changed
🎉 AI Observability: monitor your LLM and agent workloads
SigNoz now offers dedicated AI Observability for LLM and agent workloads:
- An Overview of tokens, cost, latency, and errors across models, providers, and agents
- An Explorer to query AI spans by model, provider, agent, and tool
- Attribute mapping that normalizes span attributes from different AI frameworks into OpenTelemetry
gen_ai.*keys - Pricing to set per-model prices and get cost on every LLM span
🔐 Login Sessions: opaque tokens by default
Login sessions now use opaque tokens by default, so each user signs in again once. To continue using JWT, set SIGNOZ_TOKENIZER_PROVIDER=jwt and SIGNOZ_TOKENIZER_JWT_SECRET. With the JWT provider and no secret, SigNoz refuses to start.
Read the v0.143.0 upgrade guide before upgrading.
🚀 Features
- feat(llm-observability): add ai o11y analytics events (#12952) @tewarig
- feat(storybook): add stories for each existing page (#12734) @H4ad
- feat(llm-observability): move module tabs to RouteTab , add tab icons & other ui changes (#12762) @tewarig
- feat(authz): enable FGA for cloud integration (#12895) @swapnil-signoz
- feat: add plugin schema for area chart panel (#12635) @namanv3
- feat: support for default attribute mapping (#12809) @nityanandagohain
- feat(quick-filters): AI o11y quick filters (#12788) @tewarig
- feat: add more slack configuration opts in notification channels (#12907) @namanv3
- feat(ai-observability): Trace view changes (#12796) @tewarig
- Feat: How to use doc for sqlcompiler (#12869) @nikhilmantri0902
- feat(tokenizer): default to the opaque provider (#12896) @therealpandey
- feat: add api to repair malformed channels created via v1 (#12910) @namanv3
- feat(llm-observability): add ai o11y analytics events (#12952) @tewarig
🐛 Bug Fixes
- fix(dashboard): don't re-run an errored panel query on scroll back into view (#12958) @ahrefabhi
- fix: failing e2e for llm (#12953) @tewarig
- fix(dashboard): reserve legend rows the grid actually lays out (#12951) @ahrefabhi
- fix(analytics): format segment logger messages before passing to slog (#12950) @therealpandey
- fix(dashboard): restore related values and API search in dynamic variable dropdowns (#12935) @AshwinBhatkal
- fix: AI o11y ui testing bug bash (#12933) @tewarig
- fix(user): revoke sessions when a user is deleted (#12943) @vikrantgupta25
- fix: use db upsert for model pricing (#12942) @nityanandagohain
- fix(tokenizer): accept the previous token pair only within the rotation duration (#12941) @vikrantgupta25
- fix: update attribute mappings for ai (#12925) @nityanandagohain
- fix(charts): stop tooltip labels breaking mid-word (#12894) @ahrefabhi
- fix(legend): isolate legend stacking context (#12924) @ahrefabhi
- fix(tokenizer): require a jwt secret when the provider is jwt (#12899) @therealpandey
- fix(querybuilder): prefer resource over any context for ambiguous filter keys (#12888) @krsoninikhil
🧰 Maintenance
- chore: remove ai-o11y ff (#12947) @nityanandagohain
- chore(codeowners): change ownership of storybook (#12949) @H4ad
- chore: add scaffolding tool for feature structure in frontend (#12669) @YounixM
- chore: remove v1 dashboards code from backend (#12932) @namanv3
- chore(logs): delete the old logs explorer (#12930) @aks07
- chore: update dashboard for ai observability (#12875) @nityanandagohain
- chore: use endpoint for fetching data (#12926) @tewarig
- chore: enable ai 011y processors by default (#12912) @nityanandagohain
- test(traces-explorer): flaky "select a view" test on CI (#12931) @aks07
- refactor(traces): delete the old trace explorer code (#12919) @aks07
- refactor(log-details): move infra metrics charts to v5 query_range (#12916) @aks07
- refactor(query-builder): make panel field config actually drive the builder (#12793) @ahrefabhi
- chore: use genai semconv for ai-o11y (#12905) @nityanandagohain
- refactor(prometheus)!: remove the v1 provider and let the provider ow… (#12840) @srikanthccv
- chore: add scaffolding tool for feature structure in frontend (#12669) @YounixM
Full Changelog: v0.142.1...v0.143.0