[pull] main from SigNoz:main#731
Merged
Merged
Conversation
Co-authored-by: primus-bot[bot] <171087277+primus-bot[bot]@users.noreply.github.com>
…r + UI restructure (#11345) * feat: setup types and interface for waterfall v3 v3 is required for udpating the response json of the waterfall api. There wont' be any logical change. Using this requirement as an opportunity to move waterfall api to provider codebase architecture from older query-service * refactor: move type conversion logic to types pkg * chore: add reason for using snake case in response * fix: update span.attributes to map of string to any To support otel format of diffrent types of attributes * fix: remove unused fields and rename span type To avoid confusing with otel span * refactor: convert waterfall api to modules format * chore: add same test cases as for old waterfall api * chore: avoid sorting on every traversal * fix: remove unused fields and rename span type To avoid confusing with otel span * fix: rename timestamp to milli for readability * fix: add timeout to module context * fix: use typed paramter field in logs * feat: api integration * feat: add limit * feat: minor change * feat: supress click * chore: generate openapi spec for v3 waterfall * feat: fix test * feat: fix test * feat: lint fix * feat: span details ux * feat: analytics * feat: add icons * feat: added loading to flamegraph and timeout to webworker * feat: sync error and loading state for flamegraph for n/w and computation logic * feat: auto scroll horizontally to span * feat: show total span count * feat: disable anaytics span tab for now * feat: add span details loader * feat: prevent api call on closing span detail * fix: remove timeout since waterfall take longer * fix: use int16 for status code as per db schema * fix: update openapi specs * feat: make filter and search work with flamegraph * feat: filter ui fix * feat: remove trace header * feat: new filter ui * feat: setup types and interface for waterfall v3 v3 is required for udpating the response json of the waterfall api. There wont' be any logical change. Using this requirement as an opportunity to move waterfall api to provider codebase architecture from older query-service * refactor: move type conversion logic to types pkg * chore: add reason for using snake case in response * fix: update span.attributes to map of string to any To support otel format of diffrent types of attributes * fix: remove unused fields and rename span type To avoid confusing with otel span * refactor: convert waterfall api to modules format * chore: add same test cases as for old waterfall api * chore: avoid sorting on every traversal * fix: remove unused fields and rename span type To avoid confusing with otel span * fix: rename timestamp to milli for readability * fix: add timeout to module context * fix: use typed paramter field in logs * chore: generate openapi spec for v3 waterfall * fix: remove timeout since waterfall take longer * fix: use int16 for status code as per db schema * fix: update openapi specs * feat: api integration * feat: automatically scroll left on vertical scroll * feat: reduce time * feat: set limit to 100k for flamegraph * feat: show child count in waterfall * fix: align timeline and span length in flamegraph and waterfall * feat: fix flamegraph and waterfall bg color * feat: show caution on sampled flamegraph * feat: api integration v3 * feat: disable scroll to view for collapse and uncollapse * feat: setup types and interface for waterfall v3 v3 is required for udpating the response json of the waterfall api. There wont' be any logical change. Using this requirement as an opportunity to move waterfall api to provider codebase architecture from older query-service * refactor: move type conversion logic to types pkg * chore: add reason for using snake case in response * fix: update span.attributes to map of string to any To support otel format of diffrent types of attributes * fix: remove unused fields and rename span type To avoid confusing with otel span * refactor: convert waterfall api to modules format * chore: add same test cases as for old waterfall api * chore: avoid sorting on every traversal * fix: remove unused fields and rename span type To avoid confusing with otel span * fix: rename timestamp to milli for readability * fix: add timeout to module context * fix: use typed paramter field in logs * chore: generate openapi spec for v3 waterfall * fix: remove timeout since waterfall take longer * fix: use int16 for status code as per db schema * fix: update openapi specs * refactor: break down GetWaterfall method for readability * chore: avoid returning nil, nil * refactor: move type creation and constants to types package - Move DB/table/cache/windowing constants to tracedetailtypes package - Add NewWaterfallTrace and NewWaterfallResponse constructors in types - Use constructors in module.go instead of inline struct literals - Reorder waterfall.go so public functions precede private ones * refactor: extract ClickHouse queries into a store abstraction Move GetTraceSummary and GetTraceSpans out of module.go into a traceStore interface backed by clickhouseTraceStore in store.go. The module struct now holds a traceStore instead of a raw telemetrystore.TelemetryStore, keeping DB access separate from business logic. * refactor: move error to types as well * refactor: separate out store calls and computations * refactor: breakdown GetSelectedSpans for readability * refactor: return 404 on missing trace and other cleanup * refactor: use same method for cache key creation * chore: remove unused duration nano field * chore: use sqlbuilder in clickhouse store where possible * feat: dropdown added to span details * feat: fix color duplications * feat: no data screen * feat: old trace btn added * feat: minor fix * feat: rename copy to copy value * feat: delete unused file * feat: use semantic tokens * feat: use semantic tokens * feat: add crosshair * feat: fix test * feat: disable crosshair in waterfall * feat: fix colors * feat: minor fix * feat: add status codes * feat: load all spans in waterfall under limit * feat: uncollapse spans on select from flamegraph * feat: style fix * feat: add service name * feat: open in new tab * feat: add trace details header * feat: add trace details header styles * feat: add trace details header styles * feat: minor changes * feat: floating fields set * feat: filters init * feat: filter toggle added * feat: fix color * fix: scroll to span in frontend mode * feat: delete waterfall go * feat: minor change * feat: minor change * feat: lint fix * feat: analytics spans * feat: color by field * feat: save color by pref in user pref * feat: migrate v2 pinned attr * feat: preview fields * feat: minor refactors * feat: minor refactors * feat: v3 behind feature flag * feat: minor refactors * feat: packages remove * feat: packages remove * feat: remove common component * feat: remove antd component usage * feat: leaf node indent fix * feat: fix mouse wheel in json view * feat: update signoz ui * feat: remove feature flag * feat: fixed the waterfall span hover card * feat: fix hidden filters * feat: trace details always visible * feat: correct status code * fix: pagination calls in waterfall * feat: fix failing test * feat: show error count * feat: fix waterfall child sibling indent * feat: change how we show span hover data in waterfall * feat: fix logs in span details styles * feat: minor fixes * feat: make trace id copyable * feat: add status message to highlight section * feat: persist user choosing old view * feat: add more fields in color by * feat: add llm as fast filter * feat: show api error correctly * feat: update test cases * feat: revert route change * feat: revert route change * feat: replace antd btns * feat: allow removing all fields in preview * feat: send selected span when flamegraph is sampled * feat: only scroll when span is not in view * feat: auto expand on highlight errors * feat: move analytics panel * feat: additional check * feat: minor fix * feat: minor fix * feat: dont use antd button and tooltip * feat: dont use antd button and tooltip * feat: update icons * feat: minor change * feat: minor change * feat: move to zustand * feat: update test cases * feat: update border color * feat: add icons * feat: support filter on parent keys * feat: add links to non filterable keys * feat: minor fix * feat: use pinned attributes accross views * feat: update tests * feat: hide v3 * feat: migrate to css modules * feat: fix minor style * feat: fix test * feat: enable new trace details * feat: remove unnecessary waterfall api calls if span already in the list * feat: minor change * feat: add clear filter * feat: realign trace details filters * feat: restructure trace details header * feat: minor fix * feat: update tests * feat: update tests --------- Co-authored-by: Nikhil Soni <nikhil.soni@signoz.io>
…UX (#11457) * feat: update routing and permissions for AI Assistant feature * feat: ai assistant routing, mid-execution auth recovery * chore: remove local overrides
* chore: breakdown query range function * fix: move unexported helper functions to end of file --------- Co-authored-by: Yunus M <myounis.ar@live.com>
* feat(authz): upgrade OpenFGA from v1.11.2 to v1.14.0 Upgrade OpenFGA and its companion packages: - github.com/openfga/openfga v1.11.2 -> v1.14.0 - github.com/openfga/api/proto v0.0.0-20250909 -> v0.0.0-20260319 - github.com/openfga/language/pkg/go v0.2.0-beta.2.0.20251027 -> v0.2.0-beta.2.0.20251202 This picks up security fixes (CVE-2026-34972 BatchCheck, CVE-2026-33729 Check caching), ListObjects deadlock fixes, and pipeline performance improvements. Breaking change in v1.14.0: the PostgreSQL storage code now passes int32 for the changelog.operation column instead of the protobuf enum type used in v1.11.2. SigNoz migration 054 created this column as TEXT, causing "unable to encode 0 into text format for text (OID 25)" errors. Migration 090 fixes all OpenFGA table schema mismatches from 054: - changelog: drop and recreate with operation INTEGER (was TEXT) and corrected condition_name (TEXT) / condition_context (BYTEA) types that were swapped - tuple (PG only): alter condition_name BYTEA->TEXT and condition_context TEXT->BYTEA to match OpenFGA's expected schema * chore: suppress deprecated AsyncInsert lint warning clickhouse-go/v2 v2.43.0 (pulled in as transitive dep from the OpenFGA upgrade) deprecated AsyncInsert in favor of WithAsync(). Suppress the staticcheck warning for now. * fix(authz): remove tuple condition column alter from migration 090 The TEXT -> BYTEA cast fails without an explicit USING clause which sqlschema.AlterColumn does not support. Since SigNoz does not use FGA conditions (columns are always NULL), defer this fix. * chore: add TODO for AsyncInsert deprecation Tracked in SigNoz/engineering-pod#5093 * feat(authz): bump OpenFGA from v1.14.0 to v1.14.1 Picks up bug fixes and performance improvements: - Reduced heap allocations in ListObjects - Improved cache key generation performance - Fixed AuthZEN discovery metadata host-header poisoning - Server shutdown timeout configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )