* fix: logs popover content logic extracted out
* fix: logs popover content in live view
* fix: destory popover on close
* feat: add logs format tests
* feat: minor refactor
* feat: test case refactor
* feat: remove menu refs in logs live view
* chore(authz): bump up openfga version
* chore(authz): bump up openfga version
* chore(authz): bump up openfga version
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added cold storage in set ttl v2 method
* feat: standardised cold storage ttl to days
* feat: added coldstorage ttl in response structure of get api
* feat: standardise header to include share and feedback sections
* feat: add unit test cases
* feat: handle click outside to close open modals
* fix: handle click outside to close modals
* chore: update event name and placeholder
* fix: test cases
* feat: show success / failure message on feedback submit, fix test cases
* feat: add test cases to check if toast messages are shown on feedback submit
* feat: address review comments
* feat: update test cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: revamp onboarding, send list to mixpanel, join logic to convert to single string
* chore: props changes
* fix: allow user to proceed even if api fails
* chore: remove console.log
* chore: remove commented code
* chore: minor colour tweaks
* chore: resolve comments
* fix: fixed scroll reset issue when interacting with legends
* fix: added test cases to ensure codes execution and req function are attached
* fix: added test cases
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: moved apis out and added proper types
* feat: intergrated new api in 3rd party monitoring
* feat: intergrated new API structure
* chore: fix for null pointer exception
* test: added test for formatDataForTable function
* chore: added placeholder prop in querysearch
* chore: added placeholder prop in querysearch
* feat: added hook for listoverview api
* fix: added fix for cursor jump in QB
* chore: minor cleanup
* feat: updating the query when the editor is getting out for focus or running the query
* test: added test for QuerySearch
* chore: updated variable name for QB interaction
* chore: updated PR review changes
* chore: removed non required comments
* fix: fixed edit and patch rule functionality
* fix: fixed edit and patch rule functionality
* fix: fixed edit and patch rule functionality
* fix: added patch rule test and rule mock store
* fix: removed schema version field
* fix: removed schema version field
* fix: added test cases for patch, create, edit
* fix: removed schema version field
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003bf74b0da1c5951f1b5d0f2c250905d.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8c6a838941014ea4929e9f5c908d975.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
* fix: refetch quick filters on revisit to page
* fix: return expected response from queryFn and use as state
* fix: change getByRole to getByText for performant test
* chore: add sonner mock
* chore: mock revert
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* fix: removed staleTime for dashboard API, to fetch fresh data while switching between dashboards
* fix: removed query client level staleTime and cacheTime
* fix: adding dashbaordID to the query key
* fix: removed unnecessary query key
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003bf74b0da1c5951f1b5d0f2c250905d.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8c6a838941014ea4929e9f5c908d975.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
* fix: refetch quick filters on revisit to page
* fix: return expected response from queryFn and use as state
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003bf74b0da1c5951f1b5d0f2c250905d.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8c6a838941014ea4929e9f5c908d975.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
* chore: add global uplot mock
* chore: query builder context update to all provider
* chore: add cursor rules init
* chore: useSafeNavigate mock added
* chore: more cleanups
* chore: remove react-router-v5 mock from setup
* chore: update cursorrules
* chore: add tests readme init
* chore: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* fix: make the trace details sidebar scrollable
* fix: fix the long value overflowing trace details attributes
* fix: fix the layout issues in trace details v2
* Revert "fix: make the trace details sidebar scrollable"
This reverts commit 469022ed6aa89f9cc5864fdd30bdd6096bb11870.
* fix: make the trace details sidebar scrollable
* fix: make the attribute value take 100% width
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This pull request introduces a new, customizable logs export feature in the Logs Explorer view, replacing the previous hardcoded download functionality. Users can now select export format, row limit, and which columns to include via a dedicated options menu. The implementation includes a new API integration for downloading export data, UI components for export options, and associated styling.
This pull request refactors the LogsFormatOptionsMenu component to use the Ant Design Popover for displaying format options, replacing the previous custom dropdown implementation. It also updates the related styles and removes now-unnecessary state and logic from parent components. The changes improve code maintainability, UI consistency, and simplify event handling.
* chore: automatically show query addon when the value is present even after refresh
* chore: minor cleanup
* test: added tests for queryAddon
* test: removed inputwithlabel mock
- Deprecate legacy alertmanager. Are the new alert improvements compatible with legacy? I don't think they are. More importantly, I don't think they should be. It will be a pain to manage it at both places.
- Improve msteamsv2 experience. I have taken alertmanager's upstream and merged it with our custom implementation. Note the use of `titleLink` field to propagate the url of the alert.
- Delete the private http server needed for alertmanager. It's cleanup as part of 1.
* fix: fixed severity color getting incorrectly assigned due to the response changed in v5 API
* fix: implement consistent severity variant colors across logs chart and indicator component
* chore: fix the failing tests
* chore: fix the failing check
---------
Co-authored-by: ahmadshaheer <ashaheerki@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This introduces a new Raw Data Export module to the codebase, enabling users to export raw log data via a dedicated API endpoint. The changes include the implementation of the module and handler, integration with existing infrastructure, configuration updates, and adjustments to tests and module wiring.
* feat: drilldown prop drilldowned
* feat: refactor code
* feat: update click plugin in uplot
* feat: lint fix
* feat: add search to breakout and other refactor
* feat: context menu - increase width and add overlay
* feat: add context links
* feat: context links init
* feat: context links init
* feat: context links init
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003bf74b0da1c5951f1b5d0f2c250905d.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8c6a838941014ea4929e9f5c908d975.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
* fix: hide drilldown options in view mode for non-builder panels
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: add drilldown options in uplot
* feat: add time range to timeseries, bar charts
* feat: remove unwanted code
* feat: minor refactor
* feat: drilldown prop drilldowned
* feat: refactor code
* feat: update click plugin in uplot
* feat: lint fix
* feat: add search to breakout and other refactor
* feat: context menu - increase width and add overlay
* feat: add context links
* feat: context links init
* feat: context links init
* feat: context links init
* feat: update context link modal form init
* feat: add double way sync on urls and param
* feat: minor refactor
* feat: minor refactor
* feat: change contextlinks data structure
* feat: context menu changes init
* feat: context menu hook refactor
* feat: context links processors
* feat: context variables hook added
* feat: add support for field variables
* feat: minor refactor
* feat: minor refactor
* feat: minor refactor
* feat: handle on save
* feat: minor refactor
* feat: snapshot update
* feat: revert qbv5
* feat: aggregation header val
* feat: fix header color
* feat: minor refactor
* feat: minor refactor
* feat: fix breaking changes from qb v5
* feat: change api for breakout opitons
* feat: minor refactor
* feat: minor refactor
* fix: added fix for extractquerypararms when value is string in multivalue operator
* feat: minor refactor
* feat: add back in breakout
* feat: minor refactor
* feat: add substitute var api call to decode vars
* feat: minor fix
* feat: optimize query value comparison in QueryBuilderV2
* feat: minor fix
* feat: minor fix
* feat: test fix
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable (#7944)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added variable in url and made dashboard sync around that and sharable
* feat: added test cases
* feat: added safety check
* feat: enabled url setting on first load itself
* feat: code refactor
* feat: cleared options query param when on dashboard list page
* feat: resolved conflicts
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* feat: minor refactor
* feat: added test cases
* feat: refactor
* feat: remove consoles
* feat: pass panel types to substitutevars
* feat: cross filtering init
* fix: added fix for query builder filters
* feat: cross filtering add set/unset/create functionality
* feat: test update
* fix: added migration to filter expression for crud operations of variable
* feat: format legend name according to existing format
* feat: breakout test init
* feat: breakout test match query
* feat: context links tests
* feat: minor refactor
* feat: show edit only if user has access
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: updated test case
* feat: corrected the regex matcher for resolved titles
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: reverted dynamic variable url config changes (#8877)
* Revert "feat: changed query param name"
This reverts commit 62bee5f003bf74b0da1c5951f1b5d0f2c250905d.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8c6a838941014ea4929e9f5c908d975.
* feat: reverted url var changes
* feat: reverted url changed from usedashboardvarupdate hook
* feat: send empty array for widgetId
* feat: added type in the variables in query_range payload for dynamic
* feat: minor fixes
* fix: added fix for multivalue operator without brackets
* feat: minor fix
* feat: fix failing test
* feat: change revert
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* feat: handle number dataType in filters
* feat: correct the variable addition to panel format for new qb expression
* feat: remove other queries in breakout
* feat: add metric to traces mapping
* feat: pass proper time range
* feat: update time range logic
* feat: value panel drilldown init
* feat: value panel drilldown init
* feat: enable context links in value panel
* feat: minor fix
* feat: update snapshot
* feat: hide breakout in value panel
* feat: add panel type to view mode
* feat: add support to change panel in breakouts
* feat: panel change for breakout logic added
* chore: fix style
* chore: show variables suggestion while creating context links
* chore: add timestamp to graphs
* chore: add timestamp to table panel
* chore: fix failing tests
* chore: fix infinite re-rendering due to queryRange
* chore: send appropriate time range when signal is metrics
* chore: show variables suggestion while creating context links
* chore: minor refactor
* chore: show trace details link if filter has trace_id
* chore: fix infinite render of table component
* chore: added tests for v2
* fix: context links set from dropdown
* chore: minor refactor
* chore: minor refactor
* chore: fix test
* chore: fix timerange for apm metrics
* fix: get correct timestamp for clicked data
* chore: comment out change to histogram on breakout by number
* chore: change panel type on panel type change in url
* chore: remove consoles
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: fixed test case
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* chore: fix dynamic variable update in context menu to latest logic
* chore: minor fix
* chore: type fix
* fix: remove unwanted code
* fix: remove unwanted code
* fix: resolved pr comments
* fix: minor fix
* fix: fix tests
* fix: style fix
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
Co-authored-by: Abhi Kumar <ahrefabhi@gmail.com>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
* feat: added dynamic variables creation flow (#7541)
* feat: added dynamic variables creation flow
* feat: added keys and value apis and hooks
* feat: added api and select component changes
* feat: added keys fetching and preview values
* feat: added dynamic variable to variable items
* feat: handled value persistence and tab switches
* feat: added default value and formed a schema for dyn-variables
* feat: added client and server side searches
* feat: corrected the initial load getfieldKey api
* feat: removed fetch on mount restriction
* feat: added dynamic variable to the dashboard details (#7755)
* feat: added dynamic variable to the dashboard details
* feat: added new component to existing variables
* feat: added enhancement to multiselect and select for dyn-variables
* feat: added refetch method between all dynamic-variables
* feat: correct error handling
* feat: correct error handling
* feat: enforced non-empty selectedvalues and default value
* feat: added client and server side searches
* feat: retry on error
* feat: correct error handling
* feat: handle defautl value in existing variables
* feat: lowercase the source for payload
* feat: fixed the incorrect assignment of active indices
* feat: improved handling of all option
* feat: improved the ALL option visuals
* feat: handled default value enforcement in existing variables
* feat: added unix time to values call
* feat: added incomplete data message and info to search
* feat: changed dashboard panel call handling with existing variables
* feat: adjusted the response type and data with the new API schema for values
* feat: code refactor
* feat: made dyn-variable option as the default
* feat: added test cases for dyn variable creation and completion
* feat: updated test cases
* feat: fix lint and test cases
* feat: fix typo
* feat: resolved comments and refactoring
* feat: added dynamic variable suggestion in where clause (#8875)
* feat: added dynamic variable suggestion in where clause
* feat: added test cases for hooks and api call functions
* feat: added test case for querybuildersearchv2 suggestion changes
* feat: code refactor
* feat: corrected the regex matcher for resolved titles
* feat: fixed test cases
* feat: added ability to add/remove variable filter to one or more existing panels (#8876)
* feat: added ability to add/remove variable filter to one or more existing panels
* feat: added widgetselector on variable creation
* feat: show labels in widget selector
* feat: added apply to all and variable removal logical
* feat: refectch only related and affected panels in case of dynamic variables
* feat: added button loader for apply-all
* feat: light-mode styles
* fix: added migration to filter expression for crud operations of variable
* feat: added type in the variables in query_range payload for dynamic
* feat: correct the variable addition to panel format for new qb expression
* feat: added test cases for dynamic variable and add/remove panel feat
* feat: implemented where clause suggestion in new qb v5
* feat: added retries for dyn variable and fixed on-enter selection issue
* feat: added relatedValues and existing query in param related changes
* feat: sanitized data storage and removed duplicates
* fix: fixed typechecks
* feat: updated panel wait and refetch logic and ALL option selection
* feat: fixed variable tabel reordering issue
* feat: added empty name validation in variable creation
* feat: change value to searchtext in values API
* feat: added option for regex in the component, disabled for now
* feat: added beta and not rec. tag in variable tabs
* feat: added check to prevent api and updates calls with same payload
* feat: optimized localstorage for all selection in dynamic variable and updated __all__ case
* feat: resolved variable tables infinite loop update error
* feat: aded variable name auto-update based on attribute name entered for dynamic variables
* feat: modified only/all click behaviour and set all selection always true for dynamic variable
* feat: fix dropdown closing doesn't reset us back to our all available values when we have a search
* feat: handled all state distinction and carry forward in existing variables
* feat: trucate + n more tooltip content to 10
* feat: fixed infinite loop because of dependency of frequently changing object ref in var table
* feat: fixed inconsist search implementations
* feat: reverted only - all updated area implementation
* feat: added more space for search in multiselect component
* feat: checked for variable id instead of variable key for refetch
* feat: improved performance around multiselect component and added confirm modal for apply to all
* feat: rewrite functionality around add and remove panels
* feat: changed color for apply to all modal
* feat: added changes under flag to handle variable specific removal for removeKeysFromExpression func
* feat: added validation in variable edit panel
* feat: fixed failing test cases due to recent logic change
* feat: added doc links in the dynamic variable feat
* feat: resolved comments and refactoring
* feat: resolved comments and refactoring
* feat: fixed test cases
* feat: fixed test cases
* feat: added new component to existing variables
* feat: added multiselect component and solved dropdown closing on every selection
* feat: fixed incorrect all label
* feat: allow custom value
* feat: better styles
* feat: added maxtagcount placeholder
* feat: added onclear function
* feat: updated regex and handlings
* feat: updated regex and handlings
* feat: added enableall prop control
* feat: fix the rebase conflict
* feat: fixed comments
* feat: fix test case
* feat: added test cases for customMultiselect, customSelect and variableItem integration
* feat: added test cases for behaviour around values added and selections showed
* feat: refactored test cases
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
## 📄 Summary
implement strong controls for password. Now the password requirement is :
password must be at least 12 characters long, should contain at least one uppercase letter [A-Z], one lowercase letter [a-z], one number [0-9], and one symbol
* refactor: adjust the attribute pinning changes based on trace actionables latest changes
* feat: persist pinned attributes on the BE, fallback to local storage
* chore: overall improvement
* chore: fix the failing tests
* fix: make the changes w.r.t. pinned attributes preferences in in preference.go
* feat(authz): implement the current usecases in openfga
* feat(authz): implement the current usecases in openfga
* feat(authz): extract out the schema and DI the same
* feat(authz): extract out the schema and DI the same
* feat: handle active log flow
* feat: show live logs in logs explorer view
* feat: enable live logs in logs explorer
* feat: show live time option only in logs list view
* chore: pass showLiveLogs as false in test cases
* fix: handle live logs data format to open in log details
* fix: use current query state for frequency chart in live logs view
* fix: encode filter expression, show live option only in list view
* feat(access-control): embed openfga in signoz
* feat(authz): rename access control to authz
* feat(authz): fix codeowners and go mod tidy
* feat(authz): fix lint
* feat(authz): update go version and move convertor to instrumentation
* feat(authz): some more lint issues
* feat(authz): some more lint issues
* feat(authz): some more lint issues
* feat(authz): fix more lint issues
* feat(authz): make logger converter interface
* fix: don't skip resource filter in main table for OR queries
* fix: dont skip resource table
* fix: make check case insensitive
* fix: iterate over token stream
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: added native support for 1.26
* feat: added native support for 1.26
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: adding support for 1.26 semconv
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: resolved conflicts
* feat: replace infinity list view component with data table component
* feat: remove duplicate hook calls
* chore: add @signozhq/table to transformIgnorePatterns
* feat: update test cases for frequency chart in logs explorer
* feat: address review comments , add sonner for notifications
* feat: address review comments
* feat: enable global actions
* feat: separate actions for collapse and open sidebar
* fix: remove spaces from shortcuts
* chore: remove console log
* chore: yarn install to update yarn.lock
* feat: display http status badge in trace details v2 spans
* chore: change the fallback background for status code badge
* fix: align the status badge to the end of span details column
* chore: fix the failing tests
* feat: date picker v2
* feat: custom date time range history
* feat: light mode updates and interaction fixes
* fix: improve usability
* chore: add calendar, input and popover to transformIgnorePatterns
* chore: add date-fns to transformIgnorePatterns
* chore: add @signozhq/button to transformIgnorePatterns
* feat: update css variables
* fix: fix the issue of group by queries not switching to timeseries view in logs explorer
* fix: fix the issue of group by queries not switching to timeseries view in traces explorer
* chore: overall improvements
* feat: fixed panel coorelation not spreading the filter expression in explorer pages
* feat: fixed multiagregation not getting sent in create alert
* fix: fixed failing test cases
* Update frontend/src/api/v5/queryRange/prepareQueryRangePayloadV5.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix lint error
* fix: stepInterval not updating in panel qb
* fix: added test cases for mapQueryDataFromApi and prepareQueryRangePayloadV5
* fix: added convertV5Response test cases - timeseries, pie and table
* fix: refactored handleRunQuery
* fix: code refactor
* fix: refactored the mapQueryDataFromApi function according to new sub_var api
* fix: updated test cases
* fix: removed isJSON and isColumn from everywhere
* fix: fixed code and test cases
* fix: fixed bar chart custom - step interval for qb v5 (#8806)
* fix: added querytype boolean check for v5 changes
* fix: fixed typechecks
* fix: fixed typechecks
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: added fix for query builder filters
* fix: added fix for multivalue operator without brackets
* test: added tests for querycontextUtils + querybuilderv2 utils
* fix: added fix for replacing filter with the new value
* fix: added fix for replacing filters + datetimepicker composite query
* test: fixed querybuilderv2 utils test
* chore: added changes for jest to use es6
* test: fixed tests for querycontextutils + querybuilderv2 utils
* test: fixed failing tests
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* chore(meter): add warnings and make meter live in sidenav
* fix: use lower and convert re2 to string in fulltext
* fix: minor error change
* fix: address comments
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: added sanity logic for explorer old urls
* fix: added test for useSanitizeOrderBy
* fix: added sentry events for orderby validation
* fix: cleanup unused logic and renamed boolean state
* fix: added fix for supporting older queries
* fix: added fix for exist operator
* chore: minor fix for quick filters
* chore: added tests for convertfilterstoexpression
* chore: added fix for regex to regexp conversion
* test: added test for regex to regexp
* fix: added fix for functions conversion and tests
* fix: added fix for negated non_value_operators
* feat(meter): add pre-defined panels for meter breakdown
* feat(meter): update the routes for future scope
* feat(meter): added graphs for total calculation
* feat(meter): added graphs for total calculation
* feat(devenv): add otel-collector support for local development
- Add .devenv/docker/otel-collector/ with compose.yaml and config
- Add devenv-otel-collector and devenv-up targets to Makefile
- Update development.md with otel-collector setup instructions
- Add README.md with usage documentation for otel-collector setup
This enables developers to run the complete SigNoz stack locally,
including the OpenTelemetry Collector for receiving telemetry data
on ports 4317 (gRPC) and 4318 (HTTP).
* docs: improve collector setup wordings
* chore: fixed comment and service name
* chore: docker service name updated otel-collector -> signoz-otel-collector
* feat: meter explorer
* feat: meter explorer
* fix: remove meter as data source
* fix: change meter-explorer to meter - quick filter
* chore: delete test file
* fix: failing test cases
* feat(telemetry/meter): added base setup for telemetry meter signal
* feat(telemetry/meter): added metadata setup for meter
* feat(telemetry/meter): fix stmnt builder tests
* feat(telemetry/meter): test query range API fixes
* feat(telemetry/meter): improve error messages
* feat(telemetrymeter): step interval improvements
* feat(telemetrymeter): metadata changes and aggregate attribute changes
* feat(telemetrymeter): metadata changes and aggregate attribute changes
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): deprecate the signal and use aggregation instead
* feat(telemetrymeter): cleanup the types
* feat(telemetrymeter): introduce source for query
* feat(telemetrymeter): better naming for source in metadata
* feat(telemetrymeter): added quick filters for meter explorer
* feat(telemetrymeter): incorporate the new changes to stmnt builder
* feat(telemetrymeter): add the statement builder for the ranged cache queries
* feat(telemetrymeter): use meter aggregate keys
* feat(telemetrymeter): use meter aggregate keys
* feat(telemetrymeter): remove meter from complete bools
* feat(telemetrymeter): remove meter from complete bools
* feat(telemetrymeter): update the quick filters to use meter
## 📄 Summary
To reliably migrate the alerts and dashboards, we need access to the telemetrystore to fetch some metadata and while doing migration, I need to log some stuff to fix stuff later.
Key changes:
- Modified the migration to include telemetrystore and a logging provider (open to using a standard logger instead)
- To avoid the previous issues with imported dashboards failing during migration, I've ensured that imported JSON files are automatically transformed when migration is active
- Implemented detailed logic to handle dashboard migration cleanly and prevent unnecessary errors
- Separated the core migration logic from SQL migration code, as users from the dot metrics migration requested shareable code snippets for local migrations. This modular approach allows others to easily reuse the migration functionality.
Known: I didn't register the migration yet in this PR, and will not merge this yet, so please review with that in mid.
* fix: removed unused code for querycontext (#8674)
* Update frontend/src/utils/queryValidationUtils.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: added tooltips in metric aggregations
* feat: enabled legend enhancement for explorer pages and alert page
* feat: updated the error state in explorer pages with new APIError
* fix: cloned panel query shows previous query (#8681)
* fix: cloned panel query shows previous query
* chore: removed comments
* chore: added null check
* fix: added fix for auto run query in dashboard panel + trace view issue
---------
Co-authored-by: Abhi Kumar <abhikumar@Mac.lan>
* feat: added new SubstituteVars api and enable v5 for creating new alerts (#8683)
* feat: added new SubstituteVars api and enable v5 for creating new alerts
* feat: add warning notification for query response
* feat: fixed failing test case
* fix: metric histogram UI config state in edit mode
* fix: fixed table columns getting duplicate data (#8685)
* fix: added fix for conversion of QB function to filter expression. (#8684)
* fix: added fix for QB filters for functions
* chore: minor fix
---------
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
* feat: query builder fixes and enhancement (#8692)
* feat: legend format fixes around single and multiple aggregation
* feat: fixed table unit and metric units
* feat: add fallbacks to columnWidth and columnUnits for old-dashboards
* feat: fixed metric edit issue and having filter suggestion duplications
* feat: fix and cleanup functions across product for v5
* chore: add tooltips with links to documentation (#8676)
* fix: added fix for query validation and empty query error (#8694)
* fix: added fix for selected columns being empty in logs explorer (#8709)
* feat: added columnUnit changes for old dashboard migrations (#8706)
* fix: fixed keyfetching logic (#8712)
* chore: lint fix
* fix: fixed logs explorer test
* feat: fix type checks
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: SagarRajput-7 <sagar@signoz.io>
Co-authored-by: Abhi Kumar <abhikumar@Mac.lan>
Co-authored-by: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
For the requestType: Trace, we don't care about the timestamp in the rawRow.
- Handling Zero timestamp values in the rawData response
- simplify RawRow `map[string]*any` to `map[string]any` and eliminate unnecessary pointer indirection.
The change adds missing flags required during execution of `make go-run-community`. Currently, running the command cause the error "unknown flag: --config", mentioned in the issue #8623
* feat: enable creating more than 3 steps in trace funnels
- Remove 3-step limitation from FunnelContext.tsx addNewStep function
- Remove UI restriction in StepsContent.tsx to always show "Add Funnel Step" button
- Allow unlimited funnel steps while maintaining proper step_order indexing
- Step indexing continues to work correctly for API calls (1-based indexing)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: enable latency pointer configuration with smart defaults (#8629)
- Enable latency pointer dropdown UI in funnel step configuration
- Set step 1 default to 'Start of span' and all other steps to 'End of span'
- Add permission-based controls for latency pointer selection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
* fix: prevent creation of funnels with duplicate names
- Fixed Update method to validate duplicate names before updating
- Added proper duplicate name validation that excludes the current funnel being updated
- Fixed incorrect error wrapping in Update method that was marking all errors as "already exists"
- Fixed typo in error message ("funnelr" -> "funnel")
- Added comprehensive tests for duplicate name validation in both Create and Update operations
- Used internal errors package for consistent error handling
The funnel API now properly prevents creating or updating funnels with duplicate names
within the same organization, resolving issues where duplicate funnels could be created
but would fail during retrieval.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: returning error instance
* fix: implement database transactions for funnel creation and updates
- Wrap check-and-create operations in Bun transactions to prevent race conditions
- Apply transaction pattern to both Create() and Update() methods
- Ensures atomic operations when checking for duplicate funnel names
- Prevents concurrent requests from creating duplicate funnels
- Follows existing transaction patterns from user store implementation
Addresses PR feedback for race condition prevention
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Shaheer Kochai <ashaheerki@gmail.com>
* feat: refactor tracefunnel to support dynamic multi-step funnels
Replace hardcoded 2-step and 3-step funnel functions with dynamic
implementations that support unlimited steps. Add comprehensive tests
for multi-step funnel functionality while maintaining backward
compatibility.
Key changes:
- Add dynamic query builders for n-step funnels
- Update all query functions to use new builders
- Remove old hardcoded functions
- Add tests for 1-6 step funnels
- Maintain temporal ordering logic
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add duration calculation for latency_pointer='end' in funnel qu… (#8632)
* feat: add duration calculation for latency_pointer='end' in funnel queries
- Updated BuildFunnelOverviewQuery and BuildFunnelStepOverviewQuery to calculate end time
when latency_pointer is 'end'
- Modified BuildFunnelTopSlowTracesQuery and BuildFunnelTopSlowErrorTracesQuery to support
latency pointer parameters
- Added comprehensive tests for latency pointer functionality in
clickhouse_queries_latency_test.go
- When latency_pointer is 'end', the query now adds span duration to timestamp for
accurate latency calculations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* do matching after lowercase conversion
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: apply remaining changes from PR #8615 for ClickHouse 25.5 compatibility
- Updated BuildTracesFilter to BuildTracesFilterQuery with false parameter in query.go
- Updated test files to expect resource_string_service$$name instead of serviceName
- Fixed function reference in query_test.go
These changes complete the ClickHouse 25.5 compatibility updates while maintaining
the dynamic multi-step funnel functionality.
* fix: replace durationNano with duration_nano for ClickHouse compatibility
- Updated all SQL queries in clickhouse_queries.go to use duration_nano column name
- Updated test expectations in clickhouse_queries_latency_test.go
- Ensures consistency with ClickHouse snake_case column naming convention
* refactor: code formatting and add TODO comment
- Remove trailing whitespace in query.go
- Add TODO comment for GetErroredTraces function regarding product improvement
- Add newline at end of file for proper formatting
---------
Co-authored-by: Ankit Nayan <ankitnayan@Ankits-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: enhance logs explorer chart to display full selected time window
* fix: don't show tooltip in logs chart on empty hover areas + lint fix
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
## 📄 Summary
- Fix the order by for the time series result
- Add the statement builder for trace query (was supposed to be replaced with new development but that never happened, so we continue the old table)
- Removed `pkg/types/telemetrytypes/virtualfield.go`, not used currently anywhere but causing circular import. Will re-introduce later.
Our community is filled with passionate developers who love SigNoz and have been helping spread the word about observability across the world. The SigNoz Community Advocate Program is our way of recognizing these incredible community members and creating deeper collaboration opportunities.
## What is the SigNoz Community Advocate Program?
The SigNoz Community Advocate Program celebrates and supports community members who are already passionate about observability and helping fellow developers. If you're someone who loves discussing SigNoz, helping others with their implementations, or sharing knowledge about observability practices, this program is designed with you in mind.
Our advocates are the heart of the SigNoz community, helping other developers succeed with observability and providing valuable insights that help us build better products.
## What Do Advocates Do?
1. **Community Support**
- Help fellow developers in our Slack community and GitHub Discussions
- Answer questions and share solutions
- Guide newcomers through SigNoz self-host implementations
2. **Knowledge Sharing**
- Spread awareness about observability best practices on developer forums
- Create content like blog posts, social media posts, and videos
- Host local meetups and events in their regions
3. **Product Collaboration**
- Provide insights on features, changes, and improvements the community needs
- Beta test new features and provide early feedback
- Help us understand real-world use cases and pain points
## What's In It For You?
**Recognition & Swag**
- Official recognition as a SigNoz advocate
- Welcome hamper upon joining
- Exclusive swag box within your first 3 months
- Feature on our website (with your permission)
**Early Access**
- First look at new features and updates
- Direct line to the SigNoz team for feedback and suggestions
- Opportunity to influence product roadmap
**Community Impact**
- Help shape the observability landscape
- Build your reputation in the developer community
- Connect with like-minded developers globally
## How Does It Work?
Currently, the SigNoz Community Advocate Program is **invite-only**. We're starting with a small group of passionate community members who have already been making a difference.
We'll be working closely with our first advocates to shape the program details, benefits, and structure based on what works best for everyone involved.
If you're interested in learning more about the program or want to get more involved in the SigNoz community, join our [Slack community](https://signoz-community.slack.com/) and let us know!
---
*The SigNoz Community Advocate Program recognizes and celebrates the amazing community members who are already passionate about helping fellow developers succeed with observability.*
@ -78,3 +78,5 @@ Need assistance? Join our Slack community:
- Set up your [development environment](docs/contributing/development.md)
- Deploy and observe [SigNoz in action with OpenTelemetry Demo Application](docs/otel-demo-docs.md)
- Explore the [SigNoz Community Advocate Program](ADVOCATE.md), which recognises contributors who support the community, share their expertise, and help shape SigNoz's future.
fmt.Println("🚨 CRITICAL SECURITY ISSUE: No JWT secret key specified!")
fmt.Println("SIGNOZ_JWT_SECRET environment variable is not set. This has dire consequences for the security of the application.")
fmt.Println("Without a JWT secret, user sessions are vulnerable to tampering and unauthorized access.")
fmt.Println("Please set the SIGNOZ_JWT_SECRET environment variable immediately.")
fmt.Println("For more information, please refer to https://github.com/SigNoz/signoz/issues/8400.")
logger.ErrorContext(ctx,"🚨 CRITICAL SECURITY ISSUE: No JWT secret key specified!","error","SIGNOZ_JWT_SECRET environment variable is not set. This has dire consequences for the security of the application. Without a JWT secret, user sessions are vulnerable to tampering and unauthorized access. Please set the SIGNOZ_JWT_SECRET environment variable immediately. For more information, please refer to https://github.com/SigNoz/signoz/issues/8400.")
SigNoz uses integration tests to verify that different components work together correctly in a real environment. These tests run against actual services (ClickHouse, PostgreSQL, etc.) to ensure end-to-end functionality.
## How to set up the integration test environment?
### Prerequisites
Before running integration tests, ensure you have the following installed:
- Python 3.13+
- Poetry (for dependency management)
- Docker (for containerized services)
### Initial Setup
1. Navigate to the integration tests directory:
```bash
cd tests/integration
```
2. Install dependencies using Poetry:
```bash
poetry install --no-root
```
### Starting the Test Environment
To spin up all the containers necessary for writing integration tests and keep them running:
```bash
poetry run pytest --basetemp=./tmp/ -vv --reuse src/bootstrap/setup.py::test_setup
```
This command will:
- Start all required services (ClickHouse, PostgreSQL, Zookeeper, etc.)
- Keep containers running due to the `--reuse` flag
- Verify that the setup is working correctly
### Stopping the Test Environment
When you're done writing integration tests, clean up the environment:
```bash
poetry run pytest --basetemp=./tmp/ -vv --teardown -s src/bootstrap/setup.py::test_teardown
```
This will destroy the running integration test setup and clean up resources.
## Understanding the Integration Test Framework
Python and pytest form the foundation of the integration testing framework. Testcontainers are used to spin up disposable integration environments. Wiremock is used to spin up **test doubles** of other services.
- **Why Python/pytest?** It's expressive, low-boilerplate, and has powerful fixture capabilities that make integration testing straightforward. Extensive libraries for HTTP requests, JSON handling, and data analysis (numpy) make it easier to test APIs and verify data
- **Why testcontainers?** They let us spin up isolated dependencies that match our production environment without complex setup.
- **Why wiremock?** Well maintained, documented and extensible.
```
.
├── conftest.py
├── fixtures
│ ├── __init__.py
│ ├── auth.py
│ ├── clickhouse.py
│ ├── fs.py
│ ├── http.py
│ ├── migrator.py
│ ├── network.py
│ ├── postgres.py
│ ├── signoz.py
│ ├── sql.py
│ ├── sqlite.py
│ ├── types.py
│ └── zookeeper.py
├── poetry.lock
├── pyproject.toml
└── src
└── bootstrap
├── __init__.py
├── a_database.py
├── b_register.py
└── c_license.py
```
Each test suite follows some important principles:
1. **Organization**: Test suites live under `src/` in self-contained packages. Fixtures (a pytest concept) live inside `fixtures/`.
2. **Execution Order**: Files are prefixed with `a_`, `b_`, `c_` to ensure sequential execution.
3. **Time Constraints**: Each suite should complete in under 10 minutes (setup takes ~4 mins).
### Test Suite Design
Test suites should target functional domains or subsystems within SigNoz. When designing a test suite, consider these principles:
- **Functional Cohesion**: Group tests around a specific capability or service boundary
- **Data Flow**: Follow the path of data through related components
- **Change Patterns**: Components frequently modified together should be tested together
The exact boundaries for modules are intentionally flexible, allowing teams to define logical groupings based on their specific context and knowledge of the system.
Eg: The **bootstrap** integration test suite validates core system functionality:
- Database initialization
- Version check
Other test suites can be **pipelines, auth, querier.**
## How to write an integration test?
Now start writing an integration test. Create a new file `src/bootstrap/e_version.py` and paste the following:
We have written a simple test which calls the `version` endpoint of the container in step 1. In **order to just run this function, run the following command:**
```bash
poetry run pytest --basetemp=./tmp/ -vv --reuse src/bootstrap/e_version.py::test_version
```
> Note: The `--reuse` flag is used to reuse the environment if it is already running. Always use this flag when writing and running integration tests. If you don't use this flag, the environment will be destroyed and recreated every time you run the test.
Here's another example of how to write a more comprehensive integration test:
// Check middleware accepts the relation, typeable, parentTypeable (for direct access + group relations) and a callback function to derive selector and parentSelectors on per request basis.
r.logger.InfoContext(ctx,"prepare query range request v5","ts",ts.UnixMilli(),"eval_window",r.EvalWindow().Milliseconds(),"eval_delay",r.EvalDelay().Milliseconds())
r.logger.InfoContext(ctx,"not enough data points to evaluate series, skipping","ruleid",r.ID(),"numPoints",len(series.Points),"requiredPoints",r.Condition().RequiredNumPoints)
r.logger.InfoContext(ctx,"not enough data points to evaluate series, skipping","ruleid",r.ID(),"numPoints",len(series.Points),"requiredPoints",r.Condition().RequiredNumPoints)
zap.L().Debug("Alert template data for rule",zap.String("name",r.Name()), zap.String("formatter",valueFormatter.Name()), zap.String("value",value), zap.String("threshold",threshold))
r.logger.DebugContext(ctx,"Alert template data for rule","rule_name",r.Name(), "formatter",valueFormatter.Name(), "value",value, "threshold",threshold)
parsedRule.Annotations[labels.AlertSummaryLabel]=fmt.Sprintf("The rule threshold is set to %.4f, and the observed metric value is {{$value}}.",*parsedRule.RuleCondition.Target)
You are an expert developer with deep knowledge of Jest, React Testing Library, MSW, and TypeScript, tasked with creating unit tests for this repository.
# Auto-detect TypeScript Usage
Check for TypeScript in the project through tsconfig.json or package.json dependencies.
Adjust syntax based on this detection.
# TypeScript Type Safety for Jest Tests
**CRITICAL**: All Jest tests MUST be fully type-safe with proper TypeScript types.
**Type Safety Requirements:**
- Use proper TypeScript interfaces for all mock data
- Type all Jest mock functions with `jest.MockedFunction<T>`
- Use generic types for React components and hooks
- Define proper return types for mock functions
- Use `as const` for literal types when needed
- Avoid `any` type – use proper typing instead
# Unit Testing Focus
Focus on critical functionality (business logic, utility functions, component behavior)
Mock dependencies (API calls, external modules) before imports
Test multiple data scenarios (valid inputs, invalid inputs, edge cases)
Write maintainable tests with descriptive names grouped in describe blocks
Keep large responses in `mocks-server/__mockdata_`.
## Interactions
- Prefer `userEvent` for real user interactions (click, type, select, tab).
- Use `fireEvent` only for low-level/programmatic events not covered by `userEvent` (e.g., scroll, resize, setting `element.scrollTop` for virtualization). Wrap in `act(...)` if needed.
- Always await interactions:
```ts
const user = userEvent.setup({ pointerEventsCheck: 0 });
This directory contains the structured test plan for the SigNoz application. Each subfolder corresponds to a main module or feature area, and contains scenario files for all user journeys, edge cases, and cross-module flows. These documents serve as the basis for generating Playwright MCP-driven E2E tests.
## Structure
- Each main module (e.g., logs, traces, dashboards, alerts, settings, etc.) has its own folder or markdown file.
- Each file contains detailed scenario templates, including preconditions, step-by-step actions, and expected outcomes.
- Use these documents to write, review, and update test cases as the application evolves.
## Folders & Files
- `logs/` — Logs module scenarios
- `traces/` — Traces module scenarios
- `metrics/` — Metrics module scenarios
- `dashboards/` — Dashboards module scenarios
- `alerts/` — Alerts module scenarios
- `services/` — Services module scenarios
- `settings/` — Settings and all sub-settings scenarios
- `onboarding/` — Onboarding and signup flows
- `navigation/` — Navigation, sidebar, and cross-module flows
- `exceptions/` — Exception and error handling scenarios
- `external-apis/` — External API monitoring scenarios
2. In the 'Customize your team’s URL' dialog, enter the preferred subdomain
3. Click 'Apply Changes'
- **Expected:** Domain is set/updated for the team (UI feedback/confirmation should be checked)
## 2. Verify Domain Ownership
- **Note:** No explicit 'Verify' button or flow is present in the current UI. If verification is required, it may be handled automatically or via support.
## 3. Remove a Custom Domain
- **Note:** No explicit 'Remove' button or flow is present in the current UI. The only available action is to update the subdomain.
This report documents the validation of the E2E test plan against the current live application using Playwright MCP. Each module is reviewed for coverage, gaps, and required updates.
RULE: All test code for this repo must be generated by following the step-by-step Playwright MCP process as described below.
- You are a playwright test generator.
- You are given a scenario and you need to generate a playwright test for it.
- Use login util if not logged in.
- DO NOT generate test code based on the scenario alone.
- DO run steps one by one using the tools provided by the Playwright MCP.
- Only after all steps are completed, emit a Playwright TypeScript test that uses @playwright/test based on message history
- Gather correct selectors before writing the test
- DO NOT valiate for dynamic content in the tests, only validate for the correctness with meta data
- Always inspect the DOM at each navigation or interaction step to determine the correct selector for the next action. Do not assume selectors, confirm via inspection before proceeding.
- Assert visibility of definitive/static elements in the UI (such as labels, headings, or section titles) rather than dynamic values or content that may change between runs.
- Save generated test file in the tests directory
- Execute the test file and iterate until the test passes
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.