* feat: json Body Keys
* feat: telemetry types
* feat: change ExtractBodyPaths
* chore: minor comment change
* chore: func rename, file rename
* chore: change table names
* chore: reflect changes from the overhaul
* test: fixing test 1
* fix: test TestQueryToKeys
* fix: test TestPrepareLogsQuery
* chore: remove db
* chore: go mod
* chore: changes based on review
* chore: changes based on review
* fix: in LIKE operation
* chore: addressed few changes
* revert: test file
* fix: comparison fix
* test: add TestBuildListLogsJSONIndexesQuery
* fix: in test TestBuildListLogsJSONIndexesQuery
* fix: pull promoted paths in single db call
* fix: reducing db calls
* test: fix TestBuildListLogsJSONIndexesQuery
* fix: test TestConditionForJSONBodySearch
* fix: lint try 1
* chore: review changes based on cursor
* fix: use enums only
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: expand related search keywords and add React Native option to onboarding configurations
* feat: enhance onboarding data source configurations
With nested questions for migration and log collection, and add new related logos.
* chore: update React Native doc links to absolute URLs and remove 404
* feat: revert datasource changes
* feat: implement copy functionality for individual JSON tree nodes in log details
* chore: add tests for individual json tree nodes in log details
* test: enhance copy button tests for BodyTitleRenderer
* feat: add support for copying any node in json tree in log details
* test: update BodyTitleRenderer tests to verify copy functionality for JSON tree nodes
* fix: hide isRoot and isEntryPoint options from columns options
* test: add tests to ensure isRoot and isEntryPoint are hidden in column options
* refactor: improve the columns exclusion logic + update test
This pull request refines how deprecated and new trace fields are mapped and handled within the query service, ensuring more accurate field translation and data type usage. It also updates related test cases and constant definitions to reflect these changes, improving consistency and correctness when working with trace attributes like `kind` and `kind_string`.
This pull request refactors error variable naming throughout the codebase for improved clarity and consistency. The main change is replacing the generic variable name err with apiErr when handling errors of type *model.ApiError. Additionally, some related function signatures and comments were updated to match this change. No business logic or behaviour is affected; this is a code quality and maintainability improvement.
* feat: synchronise panel type state
* feat: refactor explorer queries
* feat: use explorer util queries
* feat: minor refactor
* feat: update test cases
* feat: remove code
* feat: minor refactor
* feat: minor refactor
* feat: update tests
* feat: replace callout with warning icon for trace operators
* feat: update list query logic to only support first staged query
* feat: fix export query and saved views change
* feat: test fix
* feat: add list and trace query util
* feat: integrate list and trace query
* feat: remove util
* feat: trace explorer container cleanup
* feat: remove order by from trace view
* fix: fix cancel btn in traces explorer view
* feat: remove offset in logs list query
* feat: show trace op caution only in list view
* feat: send correct export query
* feat: remove try catch
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix: fix typeerror in getYAxisFormattedValue function
* fix: added test cases
* fix: added format equals none handling in try-catch
* fix: test cleanup
* style: fix the UI issues in endpoint metadata pills
* style: fix the UI issues in endpoint and QB filters
* fix: fix the light mode colors for domain drawer
* fix: fix datatype and type-tag pills breaking for smaller width QB search
* style: enhance text overflow handling in QueryBuilder search options
* fix: remove visible 'View Traces' buttons on drag selection in UPlot chart options
* fix: add border-bottom to table cells when pagination is not present
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: update logEvent, rename `tenant_url` to `deployment_url`
* feat: Update telemetry attributes, add logs format options tooltip, enable login form submission with Enter
* test: update test
* feat: add queriesCount prop to QueryV2 and conditionally render delete option
* fix: make the trace operator label match the case and color of QB addons
* fix: fix the inconsistency in the styles of trace operator and other query addons
* fix: make the QB footer buttons styles consistent with other buttons
* fix: fix similar colors for different queries in timeseries view
* fix: enhance the UI of formula label to match the other add-ons
* fix: update styles for metrics operators and select components for consistency
* fix: format styles for query footer buttons for improved readability
* fix: update #888 to var(--bg-vanilla-400)
* fix: add hover bg for attributes on hover
* fix: sort service execution times in descending order for better visibility
* fix: make the % exec time colors consistent with colors in other components
* fix: fix the light mode colors for signoz radio group component hover and disabled states
* fix: add lightmode styles for attribute hover style
* fix: prevent displaying double tooltips in span attributes
* fix: remove the temporary style change
* fix: don't display span attribute if it doesn't have value
* fix: remove background color from action button in attributes styles
* fix: fix the background of border handle in light mode
* fix: update action button visibility based on open state
* fix: fix the divider color between tabs in light mode
* refactor: implement related signals buttons using button group
* revert: fix: fix the light mode colors for signoz radio group component hover and disabled states
* chore: remove link to old trace details page and remove the component and files
* fix: don't display span attribute if it has value "-"
* feat: add constant to prevent consumers breaking
* fix: update role from radio to button for metrics tab in SpanDetailsDrawer tests
* fix: update role from radio to button for logs tab in SpanDetailsDrawer tests
* fix: add null checks to service execution time calculations
* fix(authz): sqlmigration for postgres
* fix(authz): only launch transaction for pg
* fix(authz): fix the sql migration number
* fix(authz): add integration tests for public_dashboard
* fix(authz): added changes for tuples in integration tests
* fix(authz): added changes for tuples in integration tests
* fix(authz): reduce cyclomatic complexity
* chore: role change integration tests added
* fix: use protected endpoints and role elevate from viewer to admin
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* chore: hide span selector in exceptions page
* refactor: remove unnecessary order by functionality and related components from TracesView
* chore: remove unnecessary icon from QB in trace funnels step
* chore: improve result table styles in trace funnels
* chore: fix formatting
* Revert "refactor: remove unnecessary order by functionality and related components from TracesView"
This reverts commit 724e9f67af.
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: add support for v5 queries in endPointDetailsDataQueries of EndPointDetails
* chore: add common utility functions
* chore: add convertFiltersWithUrlHandling helper
* fix: remove the aggregateOperator fallback logic changes
* refactor: migrate external APIs -> endpoint metrics query range request to v5 (#9494)
* refactor: migrate endpoint metrics api to v5
* fix: overall improvements
* fix: add url checks
* chore: remove unnecessary tests
* chore: remove old test
* chore: aggregateAttribute to aggregations
* refactor: migrate status bar charts to v5 (#9548)
* refactor: migrate status bar charts to v5
* chore: add tests
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: fix the failing test
* refactor: migrate external APIs -> domain metrics query range request to v5 (#9484)
* refactor: migrate domain metrics query_range to v5
* fix: overall bugfixes
* chore: fix the failing tests
* refactor: migrate dependent services to query range v5 (#9549)
* refactor: migrate dependent services to query_range v5
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* refactor: migrate rate over time and latency charts query to v5 (#9544)
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: migrate rate over time and latency charts query to v5
* chore: write tests for rate over time and latency over time charts
* chore: overall improvements to the test
* fix: add url checks
* chore: remove the unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: fix the failing tests
* chore: remove unnecessary test
* refactor: migrate "all endpoints" query range request to v5 (#9557)
* feat: add support for hiding columns in GridTableComponent
* refactor: migrate all endpoints section query payload to v5
* chore: aggregateAttribute to aggregations
* test: add V5 migration tests for all endpoints tab
* fix: add http.url exists or url.full exists to ensure we don't get null data
* fix: fallback to url.full while displaying endpoint value
* fix: update renderColumnCell type to accept variable arguments
* fix: remove type casting for renderColumnCell in getAllEndpointsWidgetData
* refactor: migrate external APIs -> domain dropdown query range request to v5 (#9495)
* refactor: migrate domain dropdown request to query_range v5
* fix: add utility to add http.url or url.full to the filter expression
* chore: aggregateAttribute to aggregations
* fix: add http.url exists or url.full exists to ensure we don't get null data
* fix: fallback to url.full if http.url doesn't exist
* fix: fix the failing test
* test: add V5 migration tests for endpoint dropdown query
* fix: fix the failing ts check
* fix: fix the failing tests
* fix: fix the failing tests
* feat(authz): add stats reporting for public dashboards
* feat(authz): add stats reporting for public dashboards
* feat(authz): add stats reporting for public dashboards
* feat(authz): base setup for public shareable dashboards
* feat(authz): add support for public masking
* feat(authz): added public path for gettable public dashboard
* feat(authz): checkpoint-1 for widget query to query range conversion
* feat(authz): checkpoint-2 for widget query to query range conversion
* feat(authz): fix widget index issue
* feat(authz): better handling for dashboard json and query
* feat(authz): use the default time range if timerange is disabled
* feat(authz): use the default time range if timerange is disabled
* feat(authz): add authz changes
* feat(authz): integrate role with dashboard anonymous access
* feat(authz): integrate the new middleware
* feat(authz): integrate the new middleware
* feat(authz): add back licensing
* feat(authz): renaming selector callback
* feat(authz): self review
* feat(authz): self review
* feat(authz): change to promql
Move away from unbounded cache for `lastObservedAt` stat, which was powered by BigCache (unbounded), to Ristretto, a bounded in-memory cache (https://github.com/dgraph-io/ristretto).
This PR is first step towards moving away from unbounded caches in the system, more PRs to follow.
* refactor: PostableRule struct
- made validation part of `UnmarshalJSON`
- removed validation from `processRuleDefaults` and updated signature to remove error from return type
* refactor: updated error message for missing composite query
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat(authz): openfga sql migration
* feat(authz): formatting and naming
* feat(authz): formatting and naming
* feat(authz): extract function for store and model id
* feat(authz): reorder the provider
* fix: fix the issue of aggregation incorrectly falling back to count
* refactor: add support for v5 queries in endPointDetailsDataQueries of EndPointDetails
* chore: add common utility functions
* refactor: migrate status code table to v5
* fix: status code table formatting
* chore: add tests for status code table v5 migration
* chore: add convertFiltersWithUrlHandling helper
* chore: remove unnecessary tests
* chore: aggregateAttribute to aggregations
* fix: remove the aggregateOperator fallback logic changes
* fix: fix the failing test
* fix: add response_status_code exists to the status code table query
* feat: synchronise panel type state
* feat: refactor explorer queries
* feat: use explorer util queries
* feat: minor refactor
* feat: update test cases
* feat: remove code
* feat: minor refactor
* feat: minor refactor
* feat: update tests
* feat: update list query logic to only support first staged query
* feat: fix export query and saved views change
* feat: test fix
* feat: export link fix
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
The issue was with how Mergo Treats Zero values, Mergo only fills **zero-value** fields in the destination.
Since `false` is the zero value for `bool`, it always gets **replaced** by `true` from the source. Using pointers doesn’t help—`Merge` dereferences them and still treats `false` as zero.
* perf: optimize tooltip plugin with caching, memoization, and improved DOM operations
* perf(uplot): optimize tooltip with focused sorting and O(n²) to O(n) reduction
* perf(uplot): optimize threshold rendering with batched canvas operations
* chore: pr review changes
* chore: removed last index check for tooltip generation
* chore: shifted to rendering only one points when hovered
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: migrate top 10 errors query_range request to v5
* chore: remove unnecessary tests
* chore: improve the top error tests
* fix: send status_message EXISTS only if the toggle is on
* fix: get the count value and simplify the null check
* fix: send has_error = true
* chore: fall back to url.full if url.path doesn't exist
* refactor: address the PR review requested changes
* chore: add test to check if we're sending the correct filters
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix: removing duplicate creation of user if user does not exist already
* test: adding api test case
* fix: updated test cases
* fix: remove unnecessary logging and clean up connection params API
* feat: add gateway fixture and integrate with signoz for connection parameters
* feat: add cloudintegrations to the test job matrix in integrationci.yaml
* fix: remove outdated comments from make_http_mocks fixture
* fix: remove deprecated ZeusURL from build configurations
* feat: enable users to query meter specific data in alerts
* feat: enable metrics / meter selection in alerts and dashboards
* feat: enable setting alerts for ingestion limits
* feat: set where clause when setting alert for ingestion key
* feat(meter): handle the where clause changes
* feat: remove add alert for infinite values
* feat: add unit test cases for set alert flow
* feat: handle inital and onchange state for meter source
* feat: pass thresholds array from ingestion settings
* feat: derive source from value change rather than local state
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: show span percentile in span details
* feat: resource attribute selection for span percentile
* feat: wait for 2 secs for the first fetch of span percentile
* feat: add unit test cases for span percentiles
* feat: use style tokens
* feat: remove redundant test assertion
* chore: resolve conflicts
* feat: reset initial wait state on span change
* feat: update payload , endpoint as per new backend changes
* feat: address review comments
* feat: fetch span percentile without specific resource attributes - first time
* feat: add support for infra metrics in trace details v2
* fix: adjust the empty state if the data source is traces
* refactor: logLineTimestamp prop to timestamp
* chore: write tests for span infra metrics
* chore: return search from useLocation mock
* chore: address review changes to move inline options to useMemo
* refactor: simplify infrastructure metadata extraction logic in SpanRelatedSignals
* refactor: extract infrastructure metadata logic into utility function
* test(infraMetrics): club the similar tests
* fix: improve logs and infra tabs switching assertions
* feat: update Infra option icon to Metrics in SpanDetailsDrawer
* chore: change infra to metrics in span details drawer
* fix: fix the failing tests
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* chore: remove the applied filters in related signals drawer
* chore: make the span logs highlight color more prominent
* fix: add label to open trace logs in logs explorer button
* feat: improve the span logs empty state i.e. add support for no logs for trace_id
* refactor: refactor the span logs content and make it readable
* test: add tests for span logs
* chore: improve tests
* refactor: simplify condition
* chore: remove redundant test
* fix: make trace_id logs request only if drawer is open
* chore: fix failing tests + overall improvements
* Update frontend/src/container/SpanDetailsDrawer/__tests__/SpanDetailsDrawer.test.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: fix the failing test
* fix: fix the light mode styles for empty logs component
* chore: update the empty state copy
* chore: fix the failing tests by updating the assertions with correct empty state copy
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: allowing switching between views when groupby is present
* feat: allowing switching between views when groupby is present
* chore: remove console log
* feat(s3-retention): enhance S3 logs retention handling
* chore: overall improvements
* test: add tests for GeneralSettings S3 logs retention functionality
* test: improve S3 logs retention dropdown interaction and validation
* refactor: change s3 and logs response / payload keys
* chore: update the teststo adjust based on the recent payload keys changes
* chore: update the test mock value
* chore: update tests
* chore: skip the flaky test
* fix: fix the condition that would cause infinite loop and the test would fail as a result
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
This PR fulfills the requirements of #9069 by:
- Adding a golangci-lint directive (forbidigo) to disallow all fmt.Errorf usages.
- Replacing existing fmt.Errorf instances with structured errors from github.com/SigNoz/signoz/pkg/errors for consistent error classification and lint compliance.
- Verified lint and build integrity.
* feat(quick-filters): improve filter visibility and auto-open behavior
- Prioritize checked filter values to top of list
- Add visual separator and count indicator when collapsed
- Auto-open filters when they contain active query filters
* chore: remove the unnecessary parentheses
* chore: write tests
* chore: overall improvements
* chore: remove the applied filters count from quick filters
* chore: run prettier on Checkbox.styles.scss
* test(quick-filters): consolidate the tests
* chore: memoize isSomeFilterPresentForCurrentAttribute
* fix: make the trace details attributes search visible by default
* fix: make the attributes search focusable when the search button is toggled, not by default
* fix: don't display search in events tab of span details side drawer in empty state
* chore: write tests
* chore: mock signozhq/button
* chore: minor state rename
* fix: change the date format for span hover card
* fix: don't display search in events tab of span details side drawer in empty state
* fix: unify the handle span click, to set spanId on clicking span overview column as well
* Revert "fix: don't display search in events tab of span details side drawer in empty state"
This reverts commit c8f56aadd0.
* chore: add 0.5 seconds delay before showing span popover in trace details
* chore: write tests
* chore: update tests
* fix: fix the failing test
* chore: remove the mocks for utility functions
This pull request introduces support for setting TTL (Time-To-Live) on logs tables in ClickHouse, including both backend logic and integration tests. The main changes add back method for setting TTL on logs tables, update the TTL API to handle logs, and provide robust test coverage for legacy and new TTL flows.
## 📄 Summary
- Instead of relying on JWT for session management, we are adding another token system: opaque. This gives the benefits of expiration and revocation.
- We are now ensuring that emails are regex checked throughout the backend.
- Support has been added for OIDC protocol
This pull request refactors how TTL (Time-To-Live) settings are applied for logs, metrics, and traces in the ClickHouse reader service. The main change is the removal of the dedicated setTTLLogs method and the consolidation of TTL logic to only support metrics and traces. The code now routes TTL requests based on type, and logs TTL is no longer handled.
* 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
* feat: globalise Preference context and remove async logic
* feat: change preference context state structure to support both logs and traces pref
* feat: test refactor
* feat(authz): address tenant isolation for authz
* feat(authz): handle role module self registry
* feat(authz): keep role / user / resource sync in naming
* feat(authz): rename orgId to orgID
* feat(authz): add the missing / for user
* feat(authz): remove embedding for pkgopenfgaauthz service
* fix: let clickhouse handle string to number conversion
* fix: ignore casting if it's a comparison operator for number key
* fix: add integration tests
* fix: update comments
* fix: convert only if it's actually not a integrer with comparison operator
* fix: force convert to float when number
* fix: integration tests
* fix: correct the comment
* fix: update comment
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* 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 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* 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 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* 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 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* 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 469022ed6a.
* 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 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* 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 62bee5f003.
* Revert "feat: added user-friendly format to dashboard variable url"
This reverts commit 6de8b1c2e8.
* 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.
* fix: add safeguard for large log body entries
* feat: added test cases for getSanitizedLogBody
* feat: minor refactor
* feat: revert try catch
* feat: minor refactor
* feat: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added log line to check for those queries who are still using normalized metrics
* chore(dot-metrics): added array metrics search
* chore(dot-metrics): removed regex query and added a simpler metrics in query
* chore(dot-metrics): removed regex query and added a simpler metrics in query
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix(prom-dup-labels): added fingerprint in prom labels
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): removed fingerprint labels from result series
* fix(prom-dup-labels): added test cases
* Update pkg/prometheus/clickhouseprometheus/client_query_test.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(prom-dup-labels): added test cases
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: add support for entrypoint spans toggle in top operations table
* fix: write tests for entry point toggle
* chore: entry point -> entrypoint
* fix: add info icon and tooltip for entrypoint spans toggle
* fix: fix the copy and link for entrypoint toggle in top operations
* chore: update the tooltip text
* Update frontend/src/container/MetricsApplication/TopOperationsTable.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: fix the failing build
* chore: update the entry point spans docs link
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(dedup-prom): added check for duplicated samples data
* fix(dedup-prom): added test cases for duplicated samples data
* fix(dedup-prom): added test cases for duplicated samples data
* chore: removed redundant scorllbar when space available
* chore: sidenav version pill can be clicked when changelog is available
* fix: removed upgrade cta for cloud users
* chore: minor ui fix
* fix: show new error component when saving pipeline fails
* fix: minor refactor
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat: add support for JSON flattening in pipeline processor create and edit
* chore: add fallback value for mapping state
* feat: improve the UI of json flattening form and show path_prefix if enable_path is true
* fix: improve the state management
* chore: get enablePaths state using useWatch
* chore: json flattening tests
* chore: improve the test descriptions
* fix: update snapshot and adjust the existing failing test
* chore: overall improvements
* fix: update the JSON flattening keys map
* fix: destroy the new processor modal on closing to fix the unintended persistent mapping state
* chore: log event on saving pipeline if json_parser processors get modified
* chore: fix the alignment of json flattening switch
* chore: overall improvement
* refactor: improve the mapping comparison by using lodash's isEqual
* chore: update the snapshot
* refactor: improve the pipeline json_parser processor filtering logic
---------
Co-authored-by: Aditya Singh <adityasinghssj1@gmail.com>
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: added changes for fething current version changelog
* chore: added changes for showing changelog in sidebar
* test: update ChangelogModal tests to use ChangelogSchema and mock data
* chore: update changelog properties in app context mock
* chore: removed changes for current version
* chore: changed fetch key for fetching changelog by version
* chore: added changes related to fetching tanent specific changelog
* chore: fixed failing test for changelogRenderer
* chore: remove what's new no feature available
* chore: added changes for fetching changelog for specific tenant types
* test: fixed test for changelogRenderer
* Feat: changes for showing changelog to cloud users (#8512)
* feat: added backend changes for storing seen changelog verion
* feat: added changes for showing changelog to cloud users
* chore: added useeffect cleanup
* test: fixed test for changelogModal
* chore: minor changes in changelogmodal
* chore: minor PR review fixes
* fix: log details filters use data types from log data response as primary data type
* chore: added test cases
* test: add comprehensive unit tests for chooseAutocompleteFromCustomValue function
* fix: added datatypes to util and test cases
* fix: added new tests
* fix: performance optimizations in log details view json field rendering
* fix: fixed import failing tests
* fix: added default html rendering field in body field in log details
* fix: fixed eslint errors
* chore: moved hook to a new file and renamed a state
* fix: added logs datasource for formatting and column options in the useoptionsmenu consumption
* fix: changed data source to logs in context log renderer from metrics
* feat: display custom empty message if no logs on navigating from trace to logs
* chore: write tests for logs explorer normal and custom empty state
* feat: build the custom empty logs UI based on the updated designs
* feat: clear the filters and run stage query on clicking clear filters in logs custom empty state
* fix: update the failing test to match the logs custom empty state
* chore: remove the unnecessary onClick for documentation links
* refactor: overall improvements
* refactor: move the empty logs list config to util
* chore: update the documentation links + remove the explicit height from resources card
* refactor: reuse the EmptyLogsListConfig type in EmptyLogsSearch
* test: update LogsExplorerList tests to reflect changes in documentation links
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: override the stagedQuery orderBy and send order by timestamp in traces view of traces explorer
* chore: write test for sending order by timestamp in the traces view of traces explorer
* refactor: refactor the query transformer to accept partial query object and override fields
* fix: fetch only required traces fields
* fix: remove only logs case in field name
* fix: add extra if condition for logs json field names
* fix: tests
* feat: add support for expandable popover for stack message and body in trace details page
* refactor: overall improvements + refactor ExpandableAttribute
* chore: update request dashboard and integrations text
* chore: hide tab/table when data is not available
* chore: add new template text
* fix: test case
* fix: recalculate start and end time only for relative time ranges
* fix: don't dsipatch UpdateTimeInterval on initial load
* fix: change list query to state instead of memo
* fix: fix the failing test
* chore: improvement to the test
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* fix: log details filters use data types from log data response as primary data type
* chore: added test cases
* test: add comprehensive unit tests for chooseAutocompleteFromCustomValue function
* fix: added datatypes to util and test cases
* fix: added new tests
Deprecate all flags
- Use querier.config.fluxInterval in lieu of passing `--flux-interval` and `--flux-interval-for-trace-detail`
- Remove `--gateway-url`
- Use telemetrystore.clickhouse.cluster in lieu of passing `--cluster` or `--cluster-name`
- Add an `unparam` check in the linter. Updated some functions across the querier codebase to be compatible with this linter.
- Remove prometheus config from docker builds.
* fix: update app layout height based on banners visible
* fix: show banners only in logged in state
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat(changelog): add getChangelogByVersion API and related types
* feat(changelog): implement ChangelogModal and ChangelogRenderer components with styles
* test(dateUtils): add unit tests for formatDate utility
* chore(changelog): fixed pr review changes
* style(ChangelogRenderer): format SCSS for improved readability
* feat(SideNav): integrate ChangelogModal and manage its visibility state
* feat(changelog): refactor changelog handling and integrate into app state
* test(ChangelogModal): add unit tests for scroll functionality and data rendering
* test(ChangelogRenderer): add unit tests for rendering changelog details
* test(ChangelogModal, ChangelogRenderer): refactor tests
* fix(applayout): bot fetching changelog for cloud users
* fix(ChangelogModal): update footer to display feature count dynamically
* fix(ChangelogModal): update link for workspace migration to point to releases page
* feat(ChangelogModal): enhance footer layout and update link behavior
* test(ChangelogModal): update link for workspace migration to point to releases page
* refactor(AppContext): migrate changelog state management to context and update related components
* feat(test-utils): add changelog state and updateChangelog mock to app context
* test(changelogModal): fixed test by adding mock for useAppContext
* fix: added PR review fixes
* Fixed css variable name in ChangelogModal.styles.scss
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(style): added light mode support for changelog modal
* Fixed heading color token
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: remove debug log for isLatestVersion in AppLayout
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix(sidebar): added fix routes not highlighting, minor gitter fix
* chore(routes): tsc fix
* fix(private): added check in private route for routes with no role
* fix(private): minor fix in condition
* chore: added roles in empty routes
* feat: while the funnel steps are invalid, handle auto save in local storage
* chore: handle lightmode style in 'add span to funnel' modal
* fix: don't save incomplete steps state in local storage if last saved configuration has valid steps
* chore: close the 'Add span to funnel' modal on clicking save or discard
* chore: deprecate the run funnel flow for unexecuted funnel
* feat: change the funnel configuration save logic, and deprecate auto save
* refactor: send all steps in the payload of analytics/overview
* refactor: send all steps in the payload of analytics/steps (graph API)
* chore: send all steps in the payload of analytics/steps/overview API
* chore: send funnel steps with slow and error traces + deprecate the refetch on latency type change
* chore: overall improvements
* chore: change the save funnel icon + increase the width of funnel steps
* fix: make the changes w.r.t. the updated funnel steps validation API + bugfixes
* fix: remove funnelId from funnel results APIs
* fix: handle edge case i.e. refetch funnel results on deleting a funnel step
* chore: remove funnel steps configuration cache on removing funnel
* chore: don't refetch the results on changing the latency type
* fix: fix the edge cases of save funnel button being enabled even after saving the funnel steps
* chore: remove the span count column from top traces tables
* fix: fix the failing CI check by removing unnecessary props / fixing the types
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5\n
* feat: added support for trace_operators in query range v5\n
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
* feat: added support for trace_operators in query range v5
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: sidebar revamp - initial commit
* feat: move billinga and other isolated routes to settings
* feat: handle channel related routes
* feat: update account settings page
* feat: show dropdown for secondary items
* feat: handle reordering of pinned nav items
* feat: improve font load performance
* feat: update font reference
* feat: update page content styles
* feat: handle external links in sidebar
* feat: handle secondary nav item clicks
* feat: handle pinned nav items reordering
* feat: handle sidenav pinned state using preference, handle light mode
* feat: show sidenav items conditionally
* feat: show version diff indicator only to self hosted users
* feat: show billing to admins only and integrations to cloud and enterprise users
* feat: update fallback link
* feat: handle settings menu items
* fix: settings page reload on nav chnage
* feat: intercom to pylon
* feat: show invite user to admin only
* feat: handle review comments
* chore: remove react query dev tools
* feat: minor ui updates
* feat: update changes based on preference store changes
* feat: handle sidenav shortcut state
* feat: handle scroll for more
* feat: maintain shortcuts order
* feat: manage license ui updates
* feat: manage settings options based on license and roles
* feat: update types
* chore: add logEvents
* feat: update types
* chore: fix type errors
* chore: remove unused variable
* feat: update my settings page test cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: add span scope filter to trace details page
* chore: add tests for the span scope selector flows when onchange and query are provided
* refactor: remove the unnecessary queryName prop and infer it from query
* fix: fix the failing span scope selector tests
* fix: handle potential undefined values in groupBy calculation in TracesExplorer
* fix: add optional chaining for aggregateAttribute key check in Query component
* fix: add optional chaining for filters in SpanScopeSelector to handle potential undefined values
* fix: fix the warning in logs chart by adding the missing date-time format option
* fix: improve trace graph allDataPoints null check
* chore: remove the keys.length from null check
* chore: update types
1. add partial bool to indicate if the value covers the partial interval
2. add optional unit if present (ex: duration_nano, metrics with units)
3. use pointers wherever necessary
4. add format options for request and remove redundant name in query envelope
* chore: fix some gaps
1. make the range as [start, end)
2. provide the logs statement builder with the body column
3. skip the body filter on resource filter statement builder
4. remove unnecessary agg expr rewriter in metrics
5. add ability to skip full text in where clause visitor
* chore: add API endpoint for new query range
* chore: add bucket cache implementation
* chore: add fingerprinting impl and add bucket cache to querier
* chore: add provider factory
* fix: refetch funnel steps overview on clicking refresh
* chore: temporarily hide latency pointer from funnel steps
* chore: remove the existing filters of a step on clicking replace button
* fix(useLocalStorage): stabilize initialValue handling to prevent unnecessary re-renders
* chore: remove p99_latency references from funnel metrics
* fix(useFunnelMetrics): ensure latency type defaults to P99 when undefined
* feat: handle unkown metric in panel query
* feat: added handling with type empty and key present or not
* feat: added test cases
* feat: added comment to better explain the logic
* feat: fixed operator list for unkown metric
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* refactor: update funnel description endpoint from POST /save to PUT /{funnel_id}
* feat: add timestamp to funnel description payload and update mutation type
---------
Co-authored-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* fix: add active log id to charts query
* refactor: remove comment
* fix: remove active log id on filter change
* test: update test for log explorer
* test: update test for log explorer
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* fix(license): return the active license even in case of suspended status
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* fix(license): suspended check for side nav
* feat: improved the alert rules list search functionality
* feat: improvements and tooltip added for more info
* feat: style improvement
* feat: style improvement
* feat: style improvement
* fix: updated the service name in exceptions filter
* fix: updated the service name in exceptions filter
* fix: updated the service name in exceptions filter
* feat: added enhancements to legends in panel
* feat: added option for right side legends
* feat: created the legend marker as checkboxes
* feat: removed histogram and pie from enhanced legends
* feat: row num adjustment
* feat: added graph visibilty in panel edit mode also
* feat: allignment and fixes
* feat: added test cases
* feat(user): support sso and api key
* feat(user): remove ee references from pkg
* feat(user): remove ee references from pkg
* feat(user): related client changes
* feat(user): remove the sso available check
* feat(user): fix go tests
* feat(user): move the middleware from ee to pkg
* feat(user): some more error code cleanup
* feat(user): some more error code cleanup
* feat(user): skip flaky UI tests
* feat(user): some more error code cleanup
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* chore(linter): add more linters and deprecate zap
* fix: allow non expireable API key
* fix: clean up pat to API key middleware
* fix: address comments
* fix: update response of create api key
* fix: gettable struct
* fix(api-key): frontend changes for api key refactor
---------
Co-authored-by: vikrantgupta25 <vikrant@signoz.io>
* refactor: pagination changes in query range custom hook
* refactor: handle pagination changes in k8s logs and host logs
* refactor: logs panel component pagination changes
* fix: handle resetting offset on changing page size
* fix: optimize context log rendering and prevent duplicate logs
* chore: revert pagination handling changes for logs context view
* chore: remove unused function and prop
* refactor: handle the updated pagination logic in k8s entity events
* refactor: refactor queryPayload generation in logs pagination custom hook
* fix: remove handling for last log timestamp being sent with query_range
* chore: remove the unnecessary last log related changes from LogsExplorerViews
* Revert "fix: optimize context log rendering and prevent duplicate logs"
This reverts commit ad9ef188651e5106cbc84fe40fc36061c2b9fd40.
* fix: prevent recalculating the start/end timestamps while fetching next/prev pages
* chore: logs explorer pagination tests
* fix: rewrite test and mock scroll
* chore: use real timers to detect the start/end timestamps mismatch + enhance tests
* refactor: extract filters and order by into a separate function
* chore: add tests for logs context pagination
* chore: write tests for host logs pagination
* chore: overall improvements to host logs tests
* chore: k8s entity logs pagination tests
* chore: reset capturedQueryRangePayloads in beforeEach
* chore: dashboard logs panel component pagination tests
* fix: fix the breaking logs pagination test by change /v3 to /v4
* chore: remove the unused prop from HostMetricsLogs
* fix: logs window based pagination to pageSize offset instead of using id filter
* fix: add support for asc
* fix: remove unwanted code
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: display the inter-step latency type in step metrics table
* chore: send latency type with n+1th step + make latency type optional
* fix: fetch and format get funnel steps overview metrics
* chore: remove dev env check
* fix: overall fixes
* fix: don't cache validate query + trigger validate on changing error and where clause as well
* fix: display the latency type in step overview metrics table + p99_latency to latency
* chore: revert dev env check removal (remove after BE changes are merged)
* fix: adjust create API response
* chore: useLocalStorage custom hook
* feat: improve the run funnel flow
- for the initial fetch of funnel results, require the user to run the funnel
- subsequently change the run funnel button to a refresh button
- display loading state while any of the funnel results APIs are being fetched
* fix: fix the issue of add step details breaking
* fix: refetch funnel details on rename success
* fix: redirect 'learn more' to trace funnels docs
* fix: handle potential undefined step in latency type calculation
* fix: properly handle incomplete steps state
* fix: fix the edge case of stale validation state on transitioning from invalid steps to valid steps
* fix: remove the side effect from render and move to useEffect
* feat: add support for S3 region buckets syncing
* fix: hide the dropdown icon and not found dropdown for s3 buckets selector
* fix: display s3 buckets selector only for s3 sync service
* chore: tests for configure service s3 sync
---------
Co-authored-by: Piyush Singariya <piyushsingariya@gmail.com>
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
* feat: added entry point operations api for the service overview page
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* fix(AccountSettingsModal): add region deselect functionality to region selector
* fix(AWS integration): redirect help button to aws integration documentation
* style(Header): update button color on hover for improved visibility
* feat: added error preview and warning text with info on cyclic dependency detected
* feat: removed console.log
* feat: restricted save when cycle found
* feat: added test cases for variableitem flow and update test cases
* feat: updated test cases
* feat: corrected the recent resolved title text
* chore(savedview): refactor into module and handler
* chore(rule): move telemetry inside telemetry
* chore(apdex): refactor apdex and delete dao
* chore(dashboard): create a dashboard module
* chore(ee): get rid of the init nonesense
* chore(dashboard): fix err and apierror confusion
* chore: address comments
* feat: suggest and allow variables in panel title
* feat: refined the logic for suggestion and addition with $
* feat: added logic for panel title resolved string and added test cases
* feat: added support to full view
* chore: update auth
* chore: password changes
* chore: make changes in oss code
* chore: login
* chore: get to a running state
* fix: migration inital commit
* fix: signoz cloud intgtn tests
* fix: minor fixes
* chore: sso code fixed with org domain
* fix: tests
* fix: ee auth api's
* fix: changes in name
* fix: return user in login api
* fix: address comments
* fix: validate password
* fix: handle get domain by email properly
* fix: move authomain to usermodule
* fix: use displayname instead of hname
* fix: rename back endpoints
* fix: update telemetry
* fix: correct errors
* fix: test and fix the invite endpoints
* fix: delete all things related to user in store
* fix: address issues
* fix: ee delete invite
* fix: rename func
* fix: update user and update role
* fix: update role
* chore(api): update the api folder structure according to rest principles
* fix: login and invite changes
* chore(api): update the api folder structure according to rest principles
* chore(login): update the frontend according to the new APIs
* fix: return org name in users response
* chore(login): update the frontend according to the new APIs
* fix: update user role
* fix: nil check
* chore(login): update the frontend according to the new API
* fix: getinvite and update role
* fix: sso
* fix: getinvite use sso ctx
* fix: use correct sourceurl
* fix: getsourceurl from req payload
* chore(login): update the frontend according to the new API
* fix: update created_at
* fix: fix reset password
* chore(login): fixed reset password and bulk invites
* fix: sso signup and token password change
* fix: don't delete last admin
* fix: reset password and migration
* fix: migration
* chore(login): fix the unwanted throw statement and tsconfig
* fix: reset password for sso users
* fix: clean up invite
* chore(login): delete last admin user and reset password
* fix: migration
* fix: update claims and store code
* fix: use correct error
* fix: proper nil checks
* fix: make migration multitenant
* fix: address comments
* fix: minor fixes
* fix: test
* fix: rename reset password
* fix: set self restration only when sso endabled
* chore(auth): update the invite user API
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* fix: integration tests
* chore(auth): update integration test
* fix: telemetry
---------
Co-authored-by: nityanandagohain <nityanandagohain@gmail.com>
* feat: added 10 minute time range for traces co-relation in api monitoring
* feat: url sharing for domain details drawer w/o filters for endpoint stats
* feat: added endpoint details persistence
* feat: external services to api monitoring co relation - 0
* feat: added api co relations to other panels on external services
* fix: cosmetic fix
* feat: addded tests for url sharing utils
* feat: minor cosmetic changes
* fix: changed traces co relation window from 10 minutes to 5 minutes
* fix: minor copy changes
* fix: pr comments
* fix: minor bug fix
* fix: pr comments improvements
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* fix: changed the keys in the default quick filters to actual keys in the v3.attributekeys
* feat: funnels list page basic UI
* feat: get funnels list data from mock API, and handle data, loading and empty states
* feat: implement funnel rename
* chore: move useFunnels to hooks/TracesFunnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: properly display created at in funnels list item + preventDefault
* chore: add tab bar to trace funnel details page
* chore: traces funnel details page overall skeleton
* chore: traces funnel details results skeleton
* fix: hide step count for add button only
* feat: funnel details page steps and configuration (#7424)
* chore: add a new tab for traces funnels
* feat: funnels list page basic UI
* feat: get funnels list data from mock API, and handle data, loading and empty states
* feat: implement funnel rename
* refactor: overall improvements
* feat: implement sorting in traces funnels list page
* feat: add sort column key and order to url params
* chore: move useFunnels to hooks/TracesFunnels
* feat: implement traces funnels search and refactor search and sort by extracting to custom hooks
* chore: overall improvements to rename trace funnel modal
* chore: make the rename input auto-focusable
* feat: handle create funnel modal
* feat: delete funnel modal and functionality
* fix: fix the layout shift in funnel item caused by getContainer={false}
* chore: overall improvements and use live api in traces funnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: funnels traces light mode UI
* fix: properly display created at in funnels list item + preventDefault
* refactor: extract FunnelItemPopover into a separate component
* chore: hide funnel tab from traces explorer
* chore: add check to display trace funnels tab only in dev environment
* chore: improve funnels modals light mode
* chore: overall improvements
* fix: properly pass funnel details link
* chore: address PR review changes
* chore: add tab bar to trace funnel details page
* feat: funnel step UI with service, span, and where filters
* feat: build radio button component
* refactor: use the SignozRadioButton in funnel results -> step transitions radio buttons
* feat: inter step config (i.e. latency type) UI
* chore: improve steps header styles by removing divider width
* feat: funnel steps title, description, popover UI + pass data from API
* chore: update FilterSelect component to conditionally add url params and accept on change
* fix: fix funnel step where clause and update the state variables for filters
* chore: add support for isMultiple and fix the type in FilterSelect
* feat: centralize the steps state management in StepsContent
* fix: move steps state up + pass steps count from state
* feat: implement auto save for updating the steps whenever any step changes
* feat: implement auto save for validating steps if service name or span names change
* feat: impelement funnel step removal
* feat: implement add details modal for funnel steps
* fix: fix the overflowing time range picker
* feat: funnel details empty state
* feat: add support for saving funnel description
* chore: overall improvements
* fix: fix the light mode styles
* fix: fix the failing build + broken search UI
* refactor: remove the reference of useLocation from traceFunnel item in TraceModulePage constant
* fix: fix the issue of update steps getting triggered on initial render if we have filters
* fix: fix the edge case of stale state causing filters to be re-added after removing
* feat: funnel details page results (#7451)
* feat: funnel metrics table component
* feat: funnel metrics and steps transition metrics components UI
* feat: funnel table component
* feat: slowest traces and traces with error components
* fix: overall light theme fixes
* fix: fix the warning
* chore: add empty and loading states to FunnelMetricsTable
* feat: get overall funnel metrics from the API
* fix: fix the empty state of funnel metrics table
* feat: get data for slowest traces and traces with errors
* fix: link trace id to trace details page
* fix: get data for funnel step transition metrics and refactor the existing data fetching logic
* refactor: add funnel context + overall refactoring and optimizations
* refactor: move steps states to funnel context + handle empty and run funnel disabled states
* feat: handle run funnel
* fix: improve empty state
* chore: rename isValidateStepsMutationLoading -> isValidateStepsLoading
* chore: improve query key
* fix: display loading state if funnel results are fetching
* refactor: move steps validation fetching and states to the context API
* fix: display loading state in funnel results while steps validation is fetching
* fix: call validate steps API only on changing the service name or span name of any step
* refactor: move validateStepsQuery key out of useEffect and update the dependencies
* chore: centralize hasIncompleteSteps and run validate only if steps have service and spans
* fix: handle all empty fields state + overall improvements
* fix: handle long where query tags
* feat: build the funnel result graph component
* feat: build the funnel result graph component
* feat: handle loading, error, empty states in funnel graph
* fix: don't display change percentage if % is 0
* refactor: overall improvements
* feat: get funnel steps graph data from API + move logic to custom hook
* fix: improve empty and error states
* fix: handle funnel graph legends width using css
* fix: redirect to trace funnels list page on clicking delete from funnel details
* fix: update the query cache while updating steps
* fix: implement debounced search for funnel list search
* fix: refetch steps graph data query on clicking run funnel / sync button
* fix: improve the step footer spacing
* chore: add gap between divider to inter-step-config
* fix: handle loading state while fetching
* feat: add span to funnel flow (from trace details page) (#7477)
* chore: display add to funnel icon on hovering any span in trace details page
* chore: add className to funnel item actions popover
* feat: add funnels tab to trace details v2 tab bar
* feat: add span to funnel flow
* chore: hide actions popover button from funnel item in span -> funnel flows
* chore: improve the funnel details UI in add span to funnel modal
* fix: display empty state + don't redirect to funnels list on delete success + overall improvements
* chore: add null check
* fix: display add to funnel button based on feature flag
* fix: display funnels tab in trace details based on feature flag
* fix: remove maxTagCount
* feat: change ms to ns
* chore: address review comments
* chore: remove feature flag and display trace funnels only in dev envirnoment
* fix: handle restoring steps if updating funnel steps fail
* refactor: update the get and delete funnel endpoints to adjust to the BE changes (#7697)
* refactor: address review comments
* fix: handle nested funnel response structure to fix missing funnel_id… (#7740)
* fix: handle nested funnel response structure to fix missing funnel_id in updates
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: remove console.og
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: revert explicitly passing funnelId to updateFunnelSteps
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
Co-authored-by: ahmadshaheer <ashaheerki@gmail.com>
* chore: fix api endpoint
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* refactor: incorporate the recent funnel details API changes (#7760)
* chore: trace funnels feedback changes (#7772)
* chore: change the copy from x traces to valid traces found / not found
* chore: add open funnel button in add span to funnel modal
* feat: display buttons for adding step details and funnel description + copy to clipboard
* feat: highlight funnel graph column based on selected (total / error span) from the legend items
* chore: trace funnel changes (#7780)
* refactor: handle funnels list search on frontend
* refactor: use funnel steps update API for adding / updating step title and description
* feat: allow selecting user's typed option in trace funnel service and span name dropdowns
* chore: properly render the -> between steps in funnel results
* fix: sync funnel step name with add details modal text fields
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
Co-authored-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore(error): integrate new errors for channels create and test
* chore(error): update all the channel APIs
* chore(error): update the edit org http issue
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): fix create channel test
* chore(error): remove console logs
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
* feat: added order by span_count in traces tab
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat(login): add error response v2 and error handler v2
* feat(error): added the base error class
* feat(error): added the base error class
* feat(error): remove unnecessary code
* feat(error): fix types
* feat(error): add http status code helper
* feat: add hideSpanScopeSelector prop to QueryBuilderSearchV2 and hide from non qb consumers
* fix: update the tests to check rendering based on hideSpanScopeSelector
* feat: display span selector in exceptions page
* fix: context log data fix in list view
* fix: fix query builder and quick filters in light mode
* chore: add desc
* chore: added test case
* fix: fix redirect url when not in logs view
* chore: minor fix
* chore: minor fix
* chore: minor test fix
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat: quick_filter_fix
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added support for custom quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added changes related to custom options for quick filters
* feat: added url sharing for main domain list page api monitoring
* feat: added shivanshus suggestions in qb payloads for spanid and kind string client filter
* fix: limited the endpoints table limit to 1000
* feat: date picker in domain details drawer
* feat: added top errors tab in domain details
* fix: removed console logs
* feat: new dep services top 10 errors localised date picker agrregate domain details etc
* feat: added domain level and endpoint level stats
* feat: added custom cell rendering in gridcard, added new table view in all endpoints
* feat: added port column in endpoints table
* feat: added custom title handling in gridtablecomponent
* fix: fixed the traces corelation query for status code bar charts
* feat: added zoom functionality on domain details charts
* chore: add constants for standardisation
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: add constants for standardisation in the API
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat: add tooltip to Endpoint Overview
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat: api monitoring feedback till 28th april
* feat: added top errors to traces corelation
* feat: added new rate col to status code table
* feat: custom color mapping for uplot tooltip implemented
* chore: added ApiMonitoringPage.test
* chore: added uts for all endpoints, top errors and their utils
* fix: minor fix
* chore: moved test files to proper folder
* chore: added endpoint details uts and its imported utils ut
* chore: added endpoint dropdown uts and its imported utils ut
* chore: added endpoint metrics uts and its imported utils ut
* chore: added dependent services uts and its imported utils ut
* chore: added status code bar chart uts and its imported utils ut
* chore: added status code table uts and its imported utils ut
* feat(zeus): add zeus package
* feat(signoz): add DI for zeus
* feat(zeus): integrate with the codebase
* ci(make): change makefile
* ci: change workflows to point to the new zeus url
* Update ee/query-service/usage/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update ee/query-service/license/manager.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix nil retriable
* fix: fix zeus DI
* fix: fix path of ldflag
* feat(zeus): added zeus integration tests
* feat(zeus): added zeus integration tests
* feat(zeus): format the pytest
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: vikrantgupta25 <vikrant.thomso@gmail.com>
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
* feat: added new Select component for multi and single select
* feat: refactored code and added keyboard navigations in single select
* feat: different state handling in single select
* feat: updated the playground page
* feat: multi-select updates
* feat: fixed multiselect selection issues
* feat: multiselect cleanup
* feat: multiselect key navigation cleanup
* feat: added tokenization in multiselect
* feat: add on enter and handle duplicates
* feat: design update to the components
* feat: design update to the components
* feat: design update to the components
* feat: updated the playground page
* feat: edited playground data
* feat: edited styles
* feat: code cleanup
* feat: added shift + keys navigation and selection
* feat: improved styles and added darkmode styles
* feat: removed scroll bar hover style
* feat: added scroll bar on hover
* feat: added regex wrapper support
* feat: fixed right arrow navigation across chips
* feat: addressed all the single select feedbacks
* feat: addressed all the single select feedbacks
* feat: added only-all-toggle feat with ALL selection tag
* feat: remove clear, update footer info content and style and misc fixes
* feat: misc style fixes
* feat: added quotes exception to the multiselect tagging
* feat: removing demo page, and cleanup PR for reviews
* feat: resolved comments and refactoring
* feat: added test cases
* feat(organization): add hname and alias for organization
* fix: boolean values are not shown in the list panel's column
* fix: moved logic to component level
* fix: added type
* fix: added test cases
* fix: added test cases
* chore: update copy webpack plugin
* Revert "fix: display same key with multiple data types in filter suggestions by enhancing the deduping logic (#7255)"
This reverts commit 1e85981a17.
* fix: use query search v2 for traces data source to handle multiple data types for the same key
* fix(QueryBuilderSearchV2): add user typed option if it doesn't exist in the payload
* fix(QueryBuilderSearchV2): increase the height of search dropdown for non-logs data sources
* fix: display span scope selector for trace data source
* chore: remove the span scope selector from qb search v1 and move the component to search v2
* fix: write test to ensure that we display span scope selector for traces data source
* fix: limit converting -> only to log data source
* fix: don't display empty suggestion if only spaces are typed
* chore: tests for span scope selector
* chore: qb search flow (key, operator, value) test cases
* refactor: fix the Maximum update depth reached issue while running tests
* chore: overall improvements to span scope selector tests
Resource attr filter: style fix and quick filter changes (#7691)
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
* fix: scroll fix
* chore: add data source traces to quick filters
* chore: replace div with fragment
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
fix: handle rate operators for table panel (#7695)
* fix: handle rate operators for table panel
chore: fix error rate (#7701)
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* feat(organization): minor cleanups
* feat(organization): better naming for api and usecase
* feat(organization): better packaging for modules
* feat(organization): change hname to displayName
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): update the migration to use dialect
* feat(organization): revert back to impl
* feat(organization): remove DI from organization
* feat(organization): address review comments
* feat(organization): address review comments
* feat(organization): address review comments
---------
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
* fix: scroll fix
* chore: add data source traces to quick filters
* chore: replace div with fragment
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* Revert "fix: display same key with multiple data types in filter suggestions by enhancing the deduping logic (#7255)"
This reverts commit 1e85981a17.
* fix: use query search v2 for traces data source to handle multiple data types for the same key
* fix(QueryBuilderSearchV2): add user typed option if it doesn't exist in the payload
* fix(QueryBuilderSearchV2): increase the height of search dropdown for non-logs data sources
* fix: display span scope selector for trace data source
* chore: remove the span scope selector from qb search v1 and move the component to search v2
* fix: write test to ensure that we display span scope selector for traces data source
* fix: limit converting -> only to log data source
* fix: don't display empty suggestion if only spaces are typed
* chore: tests for span scope selector
* chore: qb search flow (key, operator, value) test cases
* refactor: fix the Maximum update depth reached issue while running tests
* chore: overall improvements to span scope selector tests
* fix: boolean values are not shown in the list panel's column
* fix: moved logic to component level
* fix: added type
* fix: added test cases
* fix: added test cases
* chore: resource attr filter init
* chore: resource attr filter api integration
* chore: operator config updated
* chore: fliter show hide logic and styles
* chore: add support for custom operator list to qb
* chore: minor refactor
* chore: minor code refactor
* test: quick filters test suite added
* test: quick filters test suite added
* test: all errors test suite added
* chore: style fix
* test: all errors mock fix
* chore: test case fix and mixpanel update
* chore: color update
* chore: minor refactor
* chore: style fix
* chore: set default query in exceptions tab
* chore: style fix
* chore: minor refactor
* chore: minor refactor
* chore: minor refactor
* chore: test update
* chore: fix filter header with no query name
---------
Co-authored-by: Aditya Singh <adityasingh@Adityas-MacBook-Pro.local>
* feat(ruler): base setup for rules and planned maintenance tables
* feat(ruler): more changes for making ruler org aware
* feat(ruler): fix lint
* feat(ruler): update the edit planned maintenance function
* feat(ruler): local testing edits for planned maintenance
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract out store and add migration
* feat(ruler): frontend changes and review comments
* feat(ruler): add back compareAndSelectConfig
* feat(ruler): changes for alertmanager matchers
* feat(ruler): addressed review comments
* feat(ruler): remove the cascade operations from rules table
* feat(ruler): update the template for alertmanager
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* test(integration): set the base for integration tests
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
* ci: add ci pipeline for integration test
### Summary
- only include telemetry tunnel FE environment variables for the staging build
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore: multitenancy in integrations
* chore: multitenancy in cloud integration accounts
* chore: changes to cloudintegrationservice
* chore: rename migration
* chore: update scan function
* chore: update scan function
* chore: fix migration
* chore: fix struct
* chore: remove unwanted code
* chore: update scan function
* chore: migrate user and pat for integrations
* fix: changes to the user for integrations
* fix: address comments
* fix: copy created_at
* fix: update non revoked token
* chore: don't allow deleting pat and user for integrations
* fix: address comments
* chore: address comments
* chore: add checks for fk in dialect
* fix: service migration
* fix: don't update user if user is already migrated
* fix: update correct service config
* fix: remove unwanted code
* fix: remove migration for multiple same services which is not required
* fix: fix migration and disable disaboard if metrics disabled
* fix: don't use ee types
---------
Co-authored-by: Vikrant Gupta <vikrant@signoz.io>
### Summary
- Non-production build workflow using Primus
- Staging CD: new staging app and dev staging deployments
- cleanup used docker resources in stagingapp/testingapp machines
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
### Summary
- Added the trace search endpoint back
- Enabled the `smart` algorithm for all users
- Added `"algo":"smart"` for telemetry events in the old endpoint
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* feat(sqlmigration): update apdex and TTL status tables (#7481)
* feat(sqlmigration): update the apdex and ttl tables
* feat(sqlmigration): register the new migration and rename table
* feat(sqlmigration): fix the ttl queries
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): fix the reset password and pat tables (#7482)
* feat(sqlmigration): fix the reset password and pat tables
* feat(sqlmigration): revert PAT changes
* feat(sqlmigration): register and rename the new migration
* feat(sqlmigration): handle updates for user tables
* feat(sqlmigration): remove unwanted changes
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* feat(sqlmigration): update apdex and TTL status tables (#7481)
* feat(sqlmigration): update the apdex and ttl tables
* feat(sqlmigration): register the new migration and rename table
* feat(sqlmigration): fix the ttl queries
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the TTL and apdex tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): update the alertmanager tables
* feat(sqlmigration): make the preference package multi tenant
* feat(preference): address nit pick comments
* feat(preference): added the cascade delete for preferences
* chore: add migration for pat to add default values
* fix: minor changes
* fix: don't panic in GetClickhouseColumnName
* fix: use new function for pat
* fix: address minor comments
* fix: address comments
* fix: remove generatepat
* fix: minor changes
* fix: remove extra check
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* feat: new dropdown styles
* fix: added new tag
* feat: added endpoint name and port in endpoint details
* feat: endpoint details feedback
* feat: analytics added
* fix: title fixed
* fix: domain list breaking for non available data
* feat: added third party api feature flag
* fix: console removed
* feat: added traces corelation in api monitoring charts
* feat: added customondragselect in grid card full view to handle breaking flow
* fix: minor failsafes added:
* fix: minor ux fix
* feat: incorporated pr comments - 0
* fix: added default value to time,space aggregation to fix query_range getting 500 for metric
* fix: added all available operators as default when no attribute type is present
* fix: changed operator, time and space values to avg when empty attribute type
* feat: msk integration
* feat: logs not available in msk
* fix: minor suggestions made by ellipsis
* fix: changes based on review, added Variables, Units, Legends, SVG
* fix: update in global variables, and query operators
* fix: update in rx tx panel, region variable query update
---------
Co-authored-by: Raj Kamal Singh <1133322+raj-k-singh@users.noreply.github.com>
remove color encoding with json logs. Fixes the irritating:
```
{"level":"\u001b[34mINFO\u001b[0m","timestamp":"2025-03-24T13:03:58.889Z",
```
in both enterprise and community
* chore: add a new tab for traces funnels
* feat: funnels list page basic UI
* feat: learn more component
* feat: get funnels list data from mock API, and handle data, loading and empty states
* chore(SignozModal): add width prop and improve button styles
* feat: implement funnel rename
* refactor: overall improvements
* feat: implement sorting in traces funnels list page
* feat: add sort column key and order to url params
* chore: move useFunnels to hooks/TracesFunnels
* feat: implement traces funnels search and refactor search and sort by extracting to custom hooks
* chore: overall improvements to rename trace funnel modal
* chore: make the rename input auto-focusable
* feat: handle create funnel modal
* feat: delete funnel modal and functionality
* fix: fix the layout shift in funnel item caused by getContainer={false}
* chore: overall improvements and use live api in traces funnels
* feat: create traces funnels details basic page + funnel -> details redirection
* fix: funnels traces light mode UI
* fix: properly display created at in funnels list item + preventDefault
* refactor: extract FunnelItemPopover into a separate component
* chore: hide funnel tab from traces explorer
* chore: add check to display trace funnels tab only in dev environment
* chore: improve funnels modals light mode
* chore: overall improvements
* fix: properly pass funnel details link
* chore: address PR review changes
* fix(metrics-explorer): added updated metadata in list summary
* fix(metrics-explorer): added skipSignozMetric in aggregate attribute
* fix(metrics-explorer): updated last received query
* fix: inital commit for pat
* fix: add migration file
* fix: add domain changes
* fix: minor fixes
* fix: update migration
* fix: update migration
* fix: update pat and old migration
* fix: move domain and sso type to ee
* feat: added context redirection from panels to explorer pages
* feat: added graph coordinate - context redirection
* feat: fixed tooltip overlapping the button
* feat: code fix
* feat: removed unneccesary comment
* feat: added logic to resolve variables
* feat: added better logic to handle specific and panel redirection using query
* feat: added multi query support by datasource to panels redirction
* feat: fixing createbutton display logic
* feat: added logic and ui for specific line redirection
* feat: added logic to compute query with groupby
* feat: code fix and added aysnc await
* feat: added context redirection to fullview and edit view panels (#7252)
* feat: added context redirection to fullview and edit view panels
* feat: restricted redirection query to have only one query
* feat: added is buttonEnabled logic of graphs
* feat: code cleanup
* feat: for one query removed the queryname from onclick button
* feat: removed redirection option from action menu
* feat: redesign the format api flow to avoid delay in clickbutton appearance
* feat: updated the create filter logic for groupBys
* feat: handled the error on format api
* chore: fix typo in RDS overview text
* feat: aws integration: get svc definition for API gateway started
* feat: aws integration: api gateway: add overview dashboard
* feat: aws integration: API gateway: add details of metrics collected
* chore: aws integration: api gateway: remove unnecessary promql query from panels
* fix: fixed list panel getting no-data in full view and edit panel
* fix: added cloneDeep for updatedQuery
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: fixed legend format not working for Pie Chart
* fix: added enhancement to legend fit and show, also made pie-chart responsive
* fix: made some css fixes
* fix: css fixes
* feat: added label with value (result) in Pie charts
* feat: added UI for inner radiud to have total value in the center of PIE
* feat: added formatting and unit support to innder total values
* feat: made value panel responsive and background color to full
* feat: added css fix
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: fixed legend format not working for Pie Chart
* fix: added enhancement to legend fit and show, also made pie-chart responsive
* fix: made some css fixes
* fix: css fixes
* fix: ui breaking due to licenses issue
* feat: handle navigations in case of oss in homepage (#7347)
* feat: handle navigations in case of oss in homepage
* fix: skip datasource and redirect to get-started from services table
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: base setup for in product home page
* feat: base state
* feat: add empty states for alerts, traces, dashboards, saved views
* feat: add checklist component
* feat: integrate all panels
* feat: integrate preference api and clean up components
* feat: handle done and skip states of the checklist
* feat: update ui
* feat: update ui
* feat: code cleanup
* feat: add events
* feat: support time interval change in services
* feat: add service time change event and cleanup code
* feat: handle light mode
* feat: address review comments
* fix: routing issues
* fix: testcase snapshot, a minor ui improvements
* fix: noopener typo in window.open
* fix: new implementation for finding missing timerange
* fix: remove unwanted code
* fix: update if condition
* fix: update logic and the test cases
* fix: correct name
* fix: filter points which are not a complete agg interval
* fix: fix the logic to use the points correctly
* fix: fix overlapping test case
* fix: add comments
* Update pkg/query-service/querycache/query_range_cache.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: use step ms
* fix: use step ms
* fix: tests
* fix: update logic to handle actual empty series
* fix: name updated
* Update pkg/query-service/app/querier/v2/helper.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: address comments
* fix: address comments
* Update pkg/query-service/common/query_range.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: add error log
* fix: handle case where end is equal to a complete window end
* fix: added comments
* fix: address comments
* fix: move function to common query range
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: support multitenancy in dashboards
* fix: support multitenancy in saved views
* fix: move migrations to provider file
* fix: remove getUserFromClaims and use new errors
* fix: remove getUserFromClaims and use new errors
* fix: use new errors in dashboards.go
* Update ee/query-service/app/api/dashboard.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: minor changes
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
### Summary
Integrate the new implementations of the alertmanager along with changes to the ruler. This change can be broadly categoried into 3 parts:
#### Frontend
- The earlier `/api/v1/alerts` api was double encoding the response in json and sending it to the frontend. This PR fixes the json response object.
For instance, we have gone from the response `{
"status": "success",
"data": "{\"status\":\"success\",\"data\":[{\"labels\":{\"alertname\":\"[platform][consumer] consumer is above 100% memory utilization\",\"bu\":\"platform\",\"......
}` to the response `{"status":"success","data":[{"labels":{"alertname":"[Metrics] Pod CP......`
- `msteams` has been changed to `msteamsv2` wherever applicable
#### Ruler
The following changes have been done in the ruler component:
- Removal of the old alertmanager and notifier
- The RuleDB methods `Create`, `Edit` and `Delete` have been made transactional
- Introduction of a new `testPrepareNotifyFunc` for sending test notifications
- Integration with the new alertmanager
#### Alertmanager
Although a huge chunk of the alertmanagers have been merged in previous PRs (the list can be found at https://github.com/SigNoz/platform-pod/issues/404), this PR takes care of changes needed in order to incorporate it with the ruler
- Addition of ruleId based matching
- Support for marshalling the global configuration directly from the upstream alertmanager
- Addition of orgId to the legacy alertmanager
- Support for always adding defaults to both routes and receivers while creating them
- Migration to create the required alertmanager tables
- Migration for msteams to msteamsv2 has been added. We will start using msteamv2 config for the new alertmanager and keep using msteams for the old one.
#### Related Issues / PR's
Closes https://github.com/SigNoz/platform-pod/issues/404
Closes https://github.com/SigNoz/platform-pod/issues/176
* feat: aws integration: add service definition for lambda
* feat: aws integration: lambda: add details of metrics collected
* feat: aws integrations: lambda overview: use sum for relevant metrics
* fix: support multitenancy in org
* fix: register and login working now
* fix: changes to migration
* fix: migrations run both on sqlite and postgres
* fix: remove user flags from fe and be
* fix: remove ingestion keys from update
* fix: multitenancy support for apdex settings
* fix: render ts for users correctly
* fix: fix migration to run for new tenants
* fix: clean up migrations
* fix: address comments
* Update pkg/sqlmigration/013_update_organization.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: fix build
* fix: force invites with org id
* Update pkg/query-service/auth/auth.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: address comments
* fix: provier with their own dialect
* fix: update dialects
* fix: remove unwanted change
* Update pkg/query-service/app/http_handler.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: different files for types
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: new implementation for finding missing timerange
* fix: remove unwanted code
* fix: update if condition
* fix: update logic and the test cases
* fix: correct name
* fix: fix overlapping test case
* fix: add comments
* Update pkg/query-service/querycache/query_range_cache.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: use step ms
* fix: add one more test case
* fix: test case
* fix: merge missing ranger
* Update pkg/query-service/querycache/query_range_cache.go
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: display select columns from user preferences for context log line
* feat: add support for redirecting context log line to logs explorer
* feat: open context log line in new tab
* feat: pass all the filters on opening context log line in a new tab
* chore: make log context line cursor pointer
* feat: aws integration: add service definition for ALB
* chore: add overview and icon for ALB
* chore: some cleanup
* feat: aws integration: alb: use sum aggregation for appropriate metrics
* feat: onboarding v2 base setup
* feat: add onboarding v2 base setup and styles
- added header
- questionnaire blocks
- basic styling
- search based on UI config method (basic for UI behaviour)
- empty state result UI
* refactor: update class names in OnboardingPageV2 styles
* refactor(onboarding): components for QuestionBlock structural changes
* feat(onboarding): question block filterByCategory added
* feat(onboarding): component structure update and style updates
filterByCategory styling
spacing and styling fixes for options
steps style for question block
header styling update for sticky
added actions on header
* refactor(onboarding): bem SCSS nested way, this is the way
* refactor: moved the flow to another file
* feat: onboarding v2 base setup
* refactor: color variable fixes
* feat: onboarding part 3 changes
* feat: update handle select framework logic
* feat: add logos
* chore: remove old files
* feat: remove unwanted styles
* feat: minor ui updates
* feat: integrate invite team members and ingestion key details api
* feat: update docs links
* feat: added logos and fixed links
* feat: added and fixed links
* feat: handle routing after onboarding
* chore: update base url for docs links - testing
* feat: improve ux
* chore: update file
* feat: reset filters on next and back
* feat: update config
* feat: update api to use getIngestionData
* feat: show region and ingestion details
* feat: push changes behind feature flag
* feat: adding padding to onboarding container
* feat: add log events
* feat: handle back button state
* feat: redirect to onboarding v3 if ff is true and current path is get_started
* fix: update multi ingestion key test case
* feat: enable copy to clipboard
---------
Co-authored-by: Sudeep MP <sudipmelepunathilmp@gmail.com>
Co-authored-by: CheetoDa <Chitgupta24@gmail.com>
* chore: add constants for AWS Integration UI event names
* chore: log event for account viewed and account connection attempt started
* chore: log telemetry event on successful account connection
* chore: log telemetry event when an account connection attempt times out
* chore: log telemetry event on redirecting to AWS for account connection
* chore: log telemetry event on opening account settings
* chore: log telemetry event on saving account settings
* chore: log telemetry event on removing account
* chore: log telemetry event on viewing details of a service
* chore: log telemetry event on opening service settings
* chore: log telemetry event on saving service settings
* chore: some cleanup
* chore: address PR comment
* chore: minor cleanup
* fix: fix the issue of service to logs/traces explorer caused by similar start and end timestamps
* refactor: extract seconds to milliseconds conversion utility
* docs: add JSDoc for onViewTracePopupClick function
* fix: handle seconds to milli seconds in onErrorTrackHandler
* chore: add jsdoc to onErrorTrackHandler
* feat: show a banner if api takes more than 5 secs
* Update frontend/src/container/AppLayout/index.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: show a banner if api takes more than 5 secs
* feat: show toast message with upgrade option
* feat: log api delays
* feat: igmore /events calls
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: include CWAgent namespace for ec2 metrics
* chore: update aws integration service metrics connection status queried labels
* chore: fix breaking test
* chore: enable AWS integrations for all
* chore: don't show either of configure/enable for a service when not in ctx of a cloud account
* chore: remove AWS integration feature flag
* feat: custom hook to prevent redundant navigation and handle default params with URL comparison
* feat: implement useSafeNavigation to QB, to ensure that the back navigation works properly
* fix: handle syncing the relativeTime param with the time picker selected relative time
* feat: add support for absolute and relative time sync with time picker component
* refactor: integrate safeNavigate in LogsExplorerChart and deprecate the existing back navigation
* feat: update pagination query params on pressing next/prev page
* fix: fix the issue of NOOP getting converted to Count on coming back from alert creation page
* refactor: replace history navigation with safeNavigate in DateTimeSelectionV2 component
it also fixes the issue of relativeTime not being added to the url on mounting
* feat: integrate useSafeNavigate across service details tabs
* fix: fix duplicate redirections by converting the timestamp to milliseconds
* fix: replace history navigation with useSafeNavigate in LogsExplorerViews and useUrlQueryData
* fix: replace history navigation with useSafeNavigate across dashboard components
* fix: use safeNavigate in alert components
* fix: fix the issue of back navigation in alert table and sync the pagination with url param
* fix: handle back navigation for resource filter and sync the state with url query
* fix: fix the issue of double redirection from top operations to traces
* fix: replace history.push with safeNavigate in TracesExplorer's updateDashboard
* fix: prevent unnecessary query re-runs by checking stagedQuery before redirecting in NewWidget
* chore: cleanup
* fix: fix the failing tests
* fix: fix the documentation redirection failing tests
* test: mock useSafeNavigate hook in WidgetGraphComponent test
* test: mock useSafeNavigate hook in ExplorerCard test
* chore: handle race between initial setting of ?cloudAccountId and ?service
* chore: invalidate accounts query after successful account connection
* chore: show service status only when enabled and disable save btn only if no change in svc config
* chore: re-trigger CI
* chore: get started on dashboards plumbing for AWS integration services
* feat: cloud integrations: include cloud integrations dashboards in dashboards list
* feat: cloud integrations: get cloud integration dashboard by id
* feat: dashboard url in cloud integrations svc detail
* feat: ec2 overview dashboard
* chore: add ec2 overview dashboard image
* chore: finish up with v0 definitions for EC2 and RDS
* chore: some cleanup
* chore: fix broken test
* chore: add connection url composition
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix[FE]: fix the update view button not visible on changes to columns in logs and traces list view
* fix: pass the missing options to isStagedQueryUpdated in ExplorerCard
* test: mock useHistory hook for ExplorerCard tests
---------
Co-authored-by: ahmadshaheer <ashaheerki@gmail.com>
* fix: move migrations to bun
* fix: use anonymous structs and move modes to types package
* fix: minor changes after tests
* fix: remove bun relations and add foreign keys
* fix: minor changes
* Update pkg/types/agent.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: add migration and postgres provider
* fix: address minor comments
* fix: use bun create index
* fix: add migration
* fix: support for postgres in migrations
* Update pkg/sqlstore/pgstore/provider.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update pkg/sqlmigration/001_add_organization.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address comments
* fix: move max connection to base config
* fix: update scope
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: move migrations to bun
* fix: use anonymous structs and move modes to types package
* fix: minor changes after tests
* fix: remove bun relations and add foreign keys
* fix: minor changes
* Update pkg/types/agent.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* fix: address minor comments
* fix: use bun create index
* fix: remove extra comma
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: added common util and took possible space available in last row in account
* feat: added different test cases
* feat: remove console.log
* feat: added default value to widgetWidth
* feat: added feat to add new panel in a section
* feat: added different test cases
* feat: added new and cloned panel at the bottom of the page
* feat: added common util and took possible space available in last row in account
* feat: added changes for empty layout
* feat: added different test cases
* feat: remove console.log
* feat: added default value to widgetWidth
* fix: update AWS accounts API response to return accounts list
* feat: display skeleton UI for account actions and refactored rendering logic
* chore: update AWS service naming from "AWS Web Services" to "Amazon Web Services"
* feat: aws integration success modal changes
* feat: auto-select first service when no service is active
* feat: display 'enable service' if service hasn't been configured and 'Configure (x/2)' if configured
* fix: display no data yet if status is not available
* feat: properly handle remove integration account flow
* fix: rename accountId param to cloudAccountId
* fix: update the aws service list and details api parameter from account_id to cloud_account_id
* fix: fix the issue of stale service config modal enabled/disabled state
* chore: improve the UI of configure button
* feat: add connection parameters support for AWS cloud integration
* feat: add optional link support for cloud service dashboards
* fix: get the correct supported signals count + a minor refactoring
* fix: remove cloudAccountId on success of account remove
* chore: update the remove integration copy
* refactor: add react query key for AWS connection parameters
* fix: correct typo in integration loading state variable name
* refactor: move skeleton inline styles to style file and do overall refactoring
* chore: address the requested changes
* feat: bug fix for the issue in span filtering feature. No spans returned in traces tab
* feat: bug fix for the issue in span filtering feature. No spans returned in traces tab
* chore: cloudintegrations: rename rds def
* feat: cloudintegrations: shape of agent check in response for v0 release
* chore: cloudintegrations: add validation for response expected after agent check in
* chore: cloudintegrations: accumulate teletry collection strategies for enabled services
* chore: cloudintegrations: use map struct to parse from map to struct with json tags
* chore: cloudintegrations: telemetry collection strategy for services
* chore: cloudintegrations: wrap up test for agent check in resp
* chore: some cleanup
* chore: some cleanup
* chore: some minor renaming
* chore: address review comment
* chore: some cleanup
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: get started on PAT provisioning for AWS integration
* chore: include cloud integration PAT in connection params
* chore: some cleanup
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: include GatewayUrl in APIHandler options
* feat: logic for getting or creating an ingestion key when available
* feat: helper for generating ingestion url
* feat: also include deduced SigNoz API URL in connection params response
* chore: some cleanup
* chore: some more cleanup
* chore: address a PR comment
* chore: some cleanup
* chore: pass down context
* fix: add default timestamp and body columns to live logs
* refactor: use convertKeysToColumnFields instead of re-modifying the default columns
* fix: remove the local storage selectColumns when clear view is clicked
* fix: improve selectColumns migration handling
* feat: aws Integration skeleton UI (#6758)
* feat: add AWS integration in the integrations list and redirect to the new Cloud Integration page
* feat: cloud integration details page header (i.e. breadcrumb and get help button) UI
* feat: hero section UI
* refactor: extract Header and HeroSection components from CloudIntegrationPage
* feat: services tab bar and sidebar UI
* feat: cloud integration details services UI
* refactor: group and extract cloud integration components to files
* fix: set default active service to the first service in the list if no service is specified
* feat: add NEW flag for AWS integration in the integrations list page
* chore: overall improvements
* chore: move cloud integration pages to /container
* fix: hero section background
* feat: aws Integration: Account setup basic UI and functionality (#6806)
* feat: implement basic cloud account management UI in HeroSection
* feat: aws Integration: Integrate now modal (#6807)
* feat: implement basic cloud account management UI in HeroSection
* feat: start working on integrate now modal UI
* feat: integrate now modal UI
* feat: integrate now modal states and json server API integration
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* feat: display error state if last_heartbeat_ts_ms is null even after 5 minutes
* chore: update import path for regions data in useRegionSelection hook
* chore: move hero section components inside the HeroSection/components
* feat: create a reusable modal component
* refactor: make the cloud account setup modal readable / DRYer
* feat: aws Integration: Account settings modal (#6808)
* feat: implement basic cloud account management UI in HeroSection
* feat: start working on integrate now modal UI
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* feat: integrate now modal UI
* feat: integrate now modal states and json server API integration
* feat: account settings
* feat: service status UI
* refactor: make account settings modal more readable and overall improvements
* feat: Get data from json server api data in service sections (#6809)
* feat: implement basic cloud account management UI in HeroSection
* feat: start working on integrate now modal UI
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* refactor: make the cloud account setup modal readable / DRYer
* feat: integrate now modal states and json server API integration
* refactor: make account settings modal more readable and overall improvements
* feat: integrate now modal states and json server API integration
* feat: display error state if last_heartbeat_ts_ms is null even after 5 minutes
* feat: get the services list and details from json server API response
* feat: update account actions to set accountId in URL query on initial account load
* feat: configure service modal (#6814)
* feat: implement basic cloud account management UI in HeroSection
* feat: start working on integrate now modal UI
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* refactor: make the cloud account setup modal readable / DRYer
* feat: integrate now modal states and json server API integration
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* feat: integrate now modal states and json server API integration
* feat: get accounts from json-server API, and redirect Add new account to the integrations modal
* feat: display error state if last_heartbeat_ts_ms is null even after 5 minutes
* feat: account settings
* feat: service status UI
* feat: get the services list and details from json server API response
* feat: update account actions to set accountId in URL query on initial account load
* feat: configure service modal UI
* feat: configure service modal functionality and API changes
* feat: replace loading indicators with Spinner component in ServiceDetails and ServicesList
* fix: make the configure service modal work
* feat: light mode support and overall improvements to AWS integration page (#6817)
* refactor: make the cloud account setup modal readable / DRYer
* feat: integrate now modal states and json server API integration
* refactor: make account settings modal more readable and overall improvements
* fix: integrate now modal button improvements
* feat: aws integrations light mode
* refactor: overall improvements
* refactor: define react query keys in constant
* feat: services filter
* feat: render service overview as markdown
* feat: integrate AWS integration page API (#6851)
* feat: replace json-server APIs with actual APIs
* fix: add null checks and fix the issues
* chore: remove the console.log
* feat: temporarily hide AWS Integration from integrations list
* chore: add optimized png
* refactor: extract service filter types into an enum
* chore: remove console.log
* chore: remove duplicate files
* refactor: move regions to utils
* fix: get account id from url param
* chore: address PR review comments
* refactor: use the IntegrateNowFormSections inside RegionForm
* chore: move integrations select inline style to a common class
---------
Co-authored-by: Shaheer Kochai <ashaheerki@gmail.com>
* fix: inital changes for telemetry store
* fix: add tests and use proper config for conn
* fix: add telemetry store test
* fix: add backward compatibility for old variables and update example conf
* fix: move wrapper to telemetry store
* fix: no need to pass query for settings
* fix: remove redundant config for ch conn
* fix: use clickhouse dsn instead
* fix: update example config
* fix: update backward compatibility code
* fix: use hooks in telemetrystore
* fix: address minor comments
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
* chore(license): default to basic plan if license validation fails 3 times
* chore(license): revert the on-boot validation check
* chore(license): reset the atomic counter
* chore(license): revert the table creation removal
* chore(license): remove verify issue workflow
* chore(license): add proper log level
* chore(license): add proper log level
* chore(license): close the validation go routine post defaulting to basic plan
* chore(license): set the validator running flag to false as well
This is the second part of the OSS installation and improvement PR.
Users must run the migration script to migrate an existing SigNoz installation from Docker Standalone or Docker Swarm.
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: add documentation link for logs explorer quick filters
* refactor: simplify QuickFilters component rendering logic
* fix: properly implement the log fast filter empty state UI
* fix: don't display empty state while loading quick filters
* refactor: extract quick filter empty state into a separate component
* refactor: render quick filters empty state based on source param
* refactor: update QuickFilters source to use QuickFiltersSource.INFRA_MONITORING for consistency
* fix: address review comments
* refactor: fix the failing test by moving QuickFilters types to types.tsx
* refactor: properly import use QuickFiltersSource
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat(trace-details): frontend changes for trace details
* feat(trace-detail): address review comments from elipsis
* feat(trace0-detail): add the new drawer designs
* feat(trace-detail): handle the selected span hover
* feat(trace-detail): address theme colors and span selection
* feat(trace-detail): fix some more css
* feat(trace-detail): fix some more css
* feat(trace-detail): add hoverred span and handled no data components for new drawer
* feat(trace-detail): handle light mode designs
* feat(trace-detail): remove the hover functionality in favor of performance
* feat(trace-detail): span lines connectors
* feat(trace-detail): span lines connectors
* feat(trace-detail): handle the line matching for flamegraph and waterfall
* feat(trace-waterfall): change the timeline color to make it less poky
* feat(trace-waterfall): added where clause support in trace details page
* feat(trace-waterfall): added where clause support in trace details page
* feat(trace-detail): handle light mode designs
* feat(trace-detail): handle light mode designs
* feat(trace-detail): fix build issues
* feat(trace-detail): handle loading error state for filters and flamegraph hovered state
* feat(trace-detail): fix the hardcoded traceID
* feat(trace-detail): remove unnecessaru use effects
* feat(trace-detail): handled the flamegraph update with ID
* feat(trace-detail): added timestamp bucketing and latency sampling
* feat(trace-detail): extract the buckets and span limit in constants
* feat(trace-detail): minor VQA comments
* feat(trace-detail): remove unnecessaru use effects
* feat(trace-detail): add go to related logs
* feat(trace-detail): address review comments
* feat(trace-detail): address review comments
* feat(trace-detail): address review comments
* feat(trace-detail): address review comments
* feat: show/hide timestamp and body fields in logs explorer (raw, default, column views)
* fix: add width to log indicator column to ensure that a single column doesn't take half the space
* fix: handle edge cases and fix issues for show/hide body and timestamp in logs explorer
This PR consists of improvements and fixes related to SigNoz in Docker Standalone and Docker Swarm.
- Docker/Swarm deploy directory restructuring and improvements
- Prometheus metrics scraping using labels in Docker Standalone and Docker Swarm
- Swarm: single schema-migrator container for both sync/async migrations
- Remove Kubernetes HOTRod files (will be migrated to charts)
- Fetch histogram-quantile from release instead of local binary mount
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: change the format of uplot x axis to 24 hours
* feat: centralize date/time formats
* refactor: use the centralized 24 hour date/time formatting across components
* refactor: centralize uPlot x-axis values formatting
* feat: make the x axis of alert history in 24 hour format
* feat: added celery task feature - with task garphs and details
* feat: added celery bar graph toggle states UI
* feat: added histogram charts and right panel
* feat: added task latency graph with different states
* feat: added right panel trace navigation
* feat: added dynamic stepinterval based on timerange
* feat: changed histogram occurences to bar
* feat: onclick right panels for celery state bar graphs
* feat: pagesetup and tabs with kafka setup
* feat: custom series for bar for color generation
* feat: fixed test cases
* feat: added new celery overview page
* feat: added table feat and column details
* feat: improved table style and column configs
* feat: added service name filter and common filter logic
* feat: code fix
* feat: code fix
* feat: added celery task feature - with task garphs and details
* feat: added celery bar graph toggle states UI
* feat: added histogram charts and right panel
* feat: added task latency graph with different states
* feat: added right panel trace navigation
* feat: added navigateToTrace logic
* feat: added value graph and global filter logic
* feat: added dynamic stepinterval based on timerange
* feat: changed histogram occurences to bar
* feat: onclick right panels for celery state bar graphs
* feat: pagesetup and tabs with kafka setup
* feat: custom series for bar for color generation
* feat: fixed test cases
* feat: update styles
* fix: use common timeout middleware
* fix: use apiserver factory for config
* fix: add backward compatibility for old variables
* fix: remove apiserver provider and use config directly
* fix: remove apiserver interface
* fix: address comments
* fix: address minor comments
* fix: address minor comments
### Summary
- support for docker compose plugin
- check for occupied port when installing SigNoz for the first time
- remove unused code
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: add search span scope in the list view tab to add the scope at per query level
* feat: show/hide timestamp and body fields in logs explorer (raw, default, column views)
* fix: add width to log indicator column to ensure that a single column doesn't take half the space
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* chore: new alert rule documentation redirection tests
* fix: fix the failing test
* fix: add test cases for anomaly based alert and fix the failing tests
* fix: support in in json search
* fix: remove else condition and update test cases
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
- Introduces `Config`, `ConfigFactory`, `ProviderFactory`, and `Service` interfaces in `config.go`, `provider.go`, and `service.go`.
- Implements `NamedMap` for managing named factories in `named.go`.
- Adds `ProviderSettings` and `ScopedProviderSettings` for managing provider settings in `setting.go`.
* feat: cloud service integrations: get model and repo interface started
* feat: cloud service integrations: flesh out more of cloud services model
* feat: cloud integrations: reorganize things a little
* feat: cloud integrations: get svc controller started
* feat: cloud integrations: add stubs for EC2 and RDS postgres services
* feat: cloud integrations: add validation for listing and getting available svcs and some cleanup
* feat: cloud integrations: refactor helpers in existing integrations code for reuse
* feat: cloud integrations: parsing of cloud service definitions
* feat: cloud integrations: impl for getCloudProviderService
* feat: cloud integrations: some reorganization
* feat: cloud integrations: some more cleanup
* feat: cloud integrations: add validation for listing available cloud provider services
* feat: cloud integrations: API endpoint for listing available cloud provider services
* feat: cloud integrations: add validation for getting details of a particular service
* feat: cloud integrations: API endpoint for getting details of a service
* feat: cloud integrations: add controller validation for configuring cloud services
* feat: cloud integrations: get serviceConfigRepo started
* feat: cloud integrations: service config in service list summaries when queried for cloud account id
* feat: cloud integrations: only a supported service for a connected cloud account can be configured
* feat: cloud integrations: add validation for configuring services via the API
* feat: cloud integrations: API for configuring services
* feat: cloud integrations: some cleanup
* feat: cloud integrations: fix broken test
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: init app/cloud_integrations
* feat: get API test started for cloudintegrations account lifecycle
* feat: cloudintegrations: get controller started
* feat: cloud integrations: add cloudintegrations.Controller to APIHandler and servers
* feat: cloud integrations: get routes started
* feat: cloud integrations: get accounts table schema started
* feat: cloud integrations: get cloudProviderAccountsSQLRepository started
* feat: cloud integrations: cloudProviderAccountsSQLRepository.listAccounts
* feat: cloud integrations: http handler and controller plumbing for /generate-connection-url
* feat: cloud integrations: cloudProviderAccountsSQLRepository.upsert
* feat: cloud integrations: finish up with /generate-connection-url
* feat: cloud integrations: add cloudProviderAccountsRepository.get
* feat: cloud integrations: add API test expectation for being able to get account status
* feat: cloud integrations: add http handler and controller method for getting account status
* feat: cloud integrations: ensure unconnected accounts aren't included in list of connected accounts
* feat: cloud integrations: add test expectation for agent check in request
* feat: cloud integrations: agent check in API
* feat: cloud integrations: ensure polling for status after agent check in works
* feat: cloud integrations: ensure account included in connected account list after agent check in
* feat: cloud integrations: add API expectation for updating account config
* feat: cloud integrations: API for updating cloud account config
* feat: cloud integrations: expectation for agent receiving latest config after account config update
* feat: cloud integrations: expectation for disconnecting cloud accounts from UI
* feat: cloud integrations: API for disconnecting cloud accounts
* feat: cloud integrations: some cleanup
* feat: cloud integrations: some more cleanup
* feat: cloud integrations: repo: scope rows by cloud provider
* feat: testutils: refactor out helper for creating a test sqlite DB
* feat: cloud integrations: controller: add test validating regeneration of connection url
* feat: cloud integrations: controller: validations for agent check ins
* feat: cloud integrations: connected account response structure
* feat: cloud integrations: API response account structure
* feat: cloud integrations: some more cleanup
* feat: cloud integrations: remove cloudProviderAccountsRepository.GetById
* feat: cloud integrations: shouldn't be able to disconnect non-existent account
* feat: cloud integrations: validate agents can't check in to cloud account with 2 signoz ids
* feat: cloud integrations: ensure agents can't check in to cloud account with 2 signoz ids
* feat: cloud integrations: remove stray import of ee/model in cloudintegrations controller
* feat: updated the logic for variable update queue (#6586)
* feat: updated the logic for variable update queue
* feat: added API limiting to reduce unnecessary api call for dashboard variables (#6609)
* feat: added API limiting to reduce unneccesary api call for dashboard variables
* feat: fixed dropdown open triggering the api calls for single-select and misc
* feat: add jest test cases for new logic's utils, functions and processors - dashboardVariables (#6621)
* feat: added API limiting to reduce unneccesary api call for dashboard variables
* feat: fixed dropdown open triggering the api calls for single-select and misc
* feat: add jest test cases for new logic's utils, functions and processors - dashboardVariables
* feat: added test for checkAPIInvocation
* feat: refactor code
* feat: added more test on graph utilities
* feat: resolved comments and removed mount related handlings
* feat: fixed test cases and added multiple variable formats
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: made getDependency function dependent of variable name
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat(timeline): base commit for timeline v2
* feat(timeline): svg rendering for timeline v2
* feat(timeline): dynamic scale based on screen size
* feat(timeline): cleanup code
* feat(timeline): make position functioning of timeline height
* ci(prereleaser): verify user membership for running workflow
* ci(prereleaser): use primus github script for verify user
* ci(github): update verify and trigger primus workflow
* ci(github): use main branch for primus.workflows
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: added new cache package for query service
* feat: handle type checking for inmemory
* feat: some copy corrections
* feat: added inmemory test cases
* chore: some renaming
* feat: added redis handling
* chore: add redis tests
* feat(cache): refactor the code
* feat(cache): refactor the code
* feat(cache): added defaults for redis config
* feat(cache): update makefile to run all tetss
* feat(cache): update tests and docs
* feat(cache): update tests and docs
* feat(cache): handle signoz web flag
* feat(cache): handle signoz web flag
* feat(cache): handle signoz web flag
* feat: updated the logic for variable update queue
* feat: added API limiting to reduce unnecessary api call for dashboard variables (#6609)
* feat: added API limiting to reduce unneccesary api call for dashboard variables
* feat: fixed dropdown open triggering the api calls for single-select and misc
* feat: add jest test cases for new logic's utils, functions and processors - dashboardVariables (#6621)
* feat: added API limiting to reduce unneccesary api call for dashboard variables
* feat: fixed dropdown open triggering the api calls for single-select and misc
* feat: add jest test cases for new logic's utils, functions and processors - dashboardVariables
* feat: added test for checkAPIInvocation
* feat: refactor code
* feat: added more test on graph utilities
* feat: resolved comments and removed mount related handlings
* feat: fixed test cases and added multiple variable formats
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix(frontend): use history.replace to something went wrong instead of redirects
* fix(frontend): update the something went wrong page to error boundary fallback
* feat(releaser): update releaser workflow based on new enhancements
* ci(releaser): set release type to minor if run by cron schedule
* feat(releaser): pass signoz project name for releaser
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* fix: fix the issue of saved view overriding query for logs and traces for builder type query
* chore: refactored isDefaultQuery to use a function to extract relevant keys and use lodash's isEqual
* fix: add check for multiple queries in isDefaultQuery logic
* chore: moved extractRelevantKeys outside isDefaultQuery
* fix: fix the failing tests
* fix: add support route to the base route for private routes
* fix: early return from useEffect if it's an old route
* fix: same old explorer routes in old mapping
* feat: setup the app context to fetch users,licenses and feature flags
* feat: added global event listeners for after_login event
* feat: remove redux from app state and private route
* feat: syncronize the approutes file
* feat: cleanup the private routes
* feat: handle login and logout
* feat: cleanup the app layout file
* feat: cleanup and syncronize side nav item
* fix: minor small re-render issue
* feat: parallel processing for sync calls for faster bootup of application
* feat: some refactoring for private routes
* fix: entire application too much re-rendering
* fix: remove redux
* feat: some more corrections
* feat: fix all the files except signup
* feat: add app provider to the test-utils
* feat: should fix a lot of tests
* chore: fix more tests
* chore: fix more tests
* feat: fix some tests and corrected the redux mock
* feat: delete snapshot
* fix: test cases
* fix: pipeline actions test cases
* fix: billing test cases
* feat: update the signup API to accept isAnonymous and hasOptedUpdates
* chore: cleanup the console logs
* fix: indefinite loading on manage licenses screen
* fix: better handling and route to something_went_wrong in case of qs down
* fix: signup for subsequent users
* chore: update test-utils
* fix: jerky behaviour on entering the home page
* feat: handle the retention for login context flow
* fix: do not let users workaround workspace blocked screen
* fix: fix the mismatch between time range picker placeholder and timerange popover values
* fix: fix the stale value issue in range picker
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* chore: add log events for timezone interactions in date/time picker and timezone adaptation
* refactor: modified the log event messages for timezone picker to follow the conventions
* chore: improve timezone picker event messages
* chore: add test validating invalid field paths in pipeline operators are rejected
* chore: refactor posted pipelines validation to use a controller method
* fix: run a collector simulation to validate pipeline config being saved
* chore: minor cleanup
* fix: improve traces table ux by making the table scrollable
* chore: remove explicit scroll.x and modify the existing scroll.x from true to max-content
* fix(Traces Explorer): make trace explorer card full-width when collapsed, resizable when expanded
* feat: time picker hint and timezone picker UI with basic functionality + helper to get timezones
* feat: add support for esc keypress to close the timezone picker
* chore: add the selected timezone as url param and close timezone picker on select
* fix: overall improvement + add searchIndex to timezone
* feat: timezone preferences UI
* chore: improve timezone utils
* chore: change timezone item from div to button
* feat: display timezone in timepicker input
* chore: fix the typo
* fix: don't focus on time picker when timezone is clicked
* fix: fix the issue of timezone breaking for browser and utc timezones
* fix: display the timezone in timepicker hint 'You are at'
* feat: timezone basic functionality (#6492)
* chore: change div to fragment + change type to any as the ESLint complains otherwise
* chore: manage etc timezone filtering with an arg
* chore: update timezone wrapper class name
* fix: add timezone support to downloaded logs
* feat: add current timezone to dashboard list and configure metadata modal
* fix: add pencil icon next to timezone hint + change the copy to Current timezone
* fix: properly handle the escape button behavior for timezone picker
* chore: replace @vvo/tzdb with native Intl API for timezones
* feat: lightmode for timezone picker and timezone adaptation components
* fix: use normald tz in browser timezone
* fix: timezone picker lightmode fixes
* feat: display selected time range in 12 hour format
* chore: remove unnecessary optional chaining
* fix: fix the typo in css variable
* chore: add em dash and change icon for timezone hint in date/time picker
* chore: move pen line icon to the right of timezone offset
* fix: fix the failing tests
* feat: handle switching off the timezone adaptation
* feat: added table column and row logic for the new api response structure for prodcure overview
* feat: fixed typo in function name
* feat: consumed new 2 table merging logic for producer latency overview
* feat: added 3 digit precision to 'ingestion_rate' and 'byte_rate'in consumer overview
* fix: update default alert ch queries for traces and logs
* fix: use service.name instead of peer.service
* fix: add link to docs
* fix: add alias for service name
* feat: added new API endpoint for fetching the active license
* feat: add setup for apis on frontend
* feat: frontend infrastructure changes for app context and workspace suspended
* feat: added workspace suspended component
* feat: send back to application if workspace is not suspended
* feat: added the missing creative
* chore: only move to suspended state when state is payment_failed
* chore: address review comments
* fix: tab naming
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
git diff --compact-summary --exit-code || (echo; echo "Unexpected difference in openapi spec. Run go run cmd/enterprise/*.go generate openapi locally and commit."; exit 1)
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.*
Thank you for your interest in contributing to our project! We greatly value feedback and contributions from our community. This document will guide you through the contribution process.
Hi there! We're thrilled that you'd like to contribute to this project, thank you for your interest. Whether it's a bug report, new feature, correction, or additional documentation, we greatly value feedback and contributions from our community.
## How can I contribute?
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.
### Finding Issues to Work On
- Check our [existing open issues](https://github.com/SigNoz/signoz/issues?q=is%3Aopen+is%3Aissue)
- Look for [good first issues](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to start with
- Review [recently closed issues](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aclosed) to avoid duplicates
- We accept contributions made to the [SigNoz `develop` branch]()
7.**Join Discussions**: Participate in [project discussions](https://github.com/SigNoz/signoz/discussions)
Looking at the existing issues is a great way to find something to contribute on.
Also, have a look at these [good first issues label](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to start with.
### Creating Helpful Issues
When creating issues, include:
## Sections:
-[General Instructions](#1-general-instructions-)
-[For Creating Issue(s)](#11-for-creating-issues)
-[For Pull Requests(s)](#12-for-pull-requests)
- [How to Contribute](#2-how-to-contribute-%EF%B8%8F)
- [Develop Frontend](#3-develop-frontend-)
- [Contribute to Frontend with Docker installation of SigNoz](#31-contribute-to-frontend-with-docker-installation-of-signoz)
- [Contribute to Frontend without installing SigNoz backend](#32-contribute-to-frontend-without-installing-signoz-backend)
- [Contribute to Backend (Query-Service)](#4-contribute-to-backend-query-service-)
- [To run ClickHouse setup](#41-to-run-clickhouse-setup-recommended-for-local-development)
- [Contribute to SigNoz Helm Chart](#5-contribute-to-signoz-helm-chart-)
- [To run helm chart for local development](#51-to-run-helm-chart-for-local-development)
- [Contribute to Dashboards](#6-contribute-to-dashboards-)
- [Other Ways to Contribute](#other-ways-to-contribute)
- **For Feature Requests**:
-Clear use case and requirements
-Proposed solution or improvement
-Any open questions or considerations
# 1. General Instructions 📝
- **For Bug Reports**:
- Step-by-step reproduction steps
- Version information
- Relevant environment details
- Any modifications you've made
- Expected vs actual behavior
## 1.1 For Creating Issue(s)
Before making any significant changes and before filing a new issue, please check [existing open](https://github.com/SigNoz/signoz/issues?q=is%3Aopen+is%3Aissue), or [recently closed](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aclosed) issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can.
- **Requirement** - what kind of use case are you trying to solve?
- **Proposal** - what do you suggest to solve the problem or improve the existing
situation?
- Any open questions to address❓
For substantial changes, please split your contribution into multiple PRs:
#### If you are reporting a bug, details like these are incredibly useful:
1. First PR: Overall structure (README, configurations, interfaces)
2. Second PR: Core implementation (split further if needed)
3. Final PR: Documentation updates and end-to-end tests
- A reproducible test case or series of steps.
- The version of our code being used.
- Any modifications you've made relevant to the bug🐞.
- Anything unusual about your environment or deployment.
### Commit Convention
Discussing your proposed changes ahead of time will make the contribution
process smooth for everyone 🙌.
We follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). All commits and PRs should include type specifiers (e.g., `feat:`, `fix:`, `docs:`, etc.).
**[`^top^`](#contributing-guidelines)**
<hr>
## How can I contribute to other repositories?
## 1.2 For Pull Request(s)
You can find other repositories in the [SigNoz](https://github.com/SigNoz) organization to contribute to. Here is a list of **highlighted** repositories:
Contributions via pull requests are much appreciated. Once the approach is agreed upon ✅, make your changes and open a Pull Request(s).
Before sending us a pull request, please ensure that,
- Fork the SigNoz repo on GitHub, clone it on your machine.
- Create a branch with your changes.
- You are working against the latest source on the `develop` branch.
- Modify the source; please focus only on the specific change you are contributing.
- Ensure local tests pass.
- Commit to your fork using clear commit messages.
- Send us a pull request, answering any default questions in the pull request interface.
- Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation
- Once you've pushed your commits to GitHub, make sure that your branch can be auto-merged (there are no merge conflicts). If not, on your computer, merge main into your branch, resolve any merge conflicts, make sure everything still runs correctly and passes all the tests, and then push up those changes.
- Once the change has been approved and merged, we will inform you in a comment.
Each repository has its own contributing guidelines. Please refer to the guidelines of the repository you want to contribute to.
## How can I get help?
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
**Note:** Unless your change is small, **please** consider submitting different Pull Request(s):
## Where do I go from here?
*1️⃣ First PR should include the overall structure of the new component:
* Readme, configuration, interfaces or base classes, etc...
* This PR is usually trivial to review, so the size limit does not apply to
it.
* 2️⃣ Second PR should include the concrete implementation of the component. If the
size of this PR is larger than the recommended size, consider **splitting** ⚔️ it into
multiple PRs.
* If there are multiple sub-component then ideally each one should be implemented as
a **separate** pull request.
* Last PR should include changes to **any user-facing documentation.** And should include
end-to-end tests if applicable. The component must be enabled
only after sufficient testing, and there is enough confidence in the
stability and quality of the component.
You can always reach out to `ankit@signoz.io` to understand more about the repo and product. We are very responsive over email and [slack community](https://signoz.io/slack).
### Pointers:
- If you find any **bugs** → please create an [**issue.**](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=bug_report.md&title=)
- If you find anything **missing** in documentation → you can create an issue with the label **`documentation`**.
- If you want to build any **new feature** → please create an [issue with the label **`enhancement`**.](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=feature_request.md&title=)
- If you want to **discuss** something about the product, start a new [**discussion**.](https://github.com/SigNoz/signoz/discussions)
- If you want to request a new **dashboard template** → please create an issue [here](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=dashboard-template&projects=&template=request_dashboard.md&title=%5BDashboard+Request%5D+).
<hr>
### Conventions to follow when submitting Commits and Pull Request(s).
We try to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), more specifically the commits and PRs **should have type specifiers** prefixed in the name. [This](https://www.conventionalcommits.org/en/v1.0.0/#specification) should give you a better idea.
e.g. If you are submitting a fix for an issue in frontend, the PR name should be prefixed with **`fix(FE):`**
- Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows.
- Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
**[`^top^`](#contributing-guidelines)**
<hr>
# 2. How to Contribute 🙋🏻♂️
#### There are primarily 2 areas in which you can contribute to SigNoz
- [**Frontend**](#3-develop-frontend-) (Written in Typescript, React)
- [**Backend**](#4-contribute-to-backend-query-service-) (Query Service, written in Go)
- [**Dashboard Templates**](#6-contribute-to-dashboards-) (JSON dashboard templates built with SigNoz)
Depending upon your area of expertise & interest, you can choose one or more to contribute. Below are detailed instructions to contribute in each area.
**Please note:** If you want to work on an issue, please add a brief description of your solution on the issue before starting work on it.
**[`^top^`](#contributing-guidelines)**
<hr>
# 3. Develop Frontend 🌚
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/frontend](https://github.com/SigNoz/signoz/tree/develop/frontend)**
Also, have a look at [Frontend README.md](https://github.com/SigNoz/signoz/blob/develop/frontend/README.md) sections for more info on how to setup SigNoz frontend locally (with and without Docker).
## 3.1 Contribute to Frontend with Docker installation of SigNoz
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Install signoz locally **without** the frontend,
- Add / Uncomment the below configuration to query-service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L47`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L47)
sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d
```
- `cd ../frontend` and change baseURL in file [`frontend/src/constants/env.ts#L2`](https://github.com/SigNoz/signoz/blob/develop/frontend/src/constants/env.ts#L2) and for that, you need to create a `.env` file in the `frontend` directory with the following environment variable (`FRONTEND_API_ENDPOINT`) matching your configuration.
If you have backend api exposed via frontend nginx:
```
FRONTEND_API_ENDPOINT=http://localhost:3301
```
If not:
```
FRONTEND_API_ENDPOINT=http://localhost:8080
```
- Next,
```
yarn install
yarn dev
```
### Important Notes:
The Maintainers / Contributors who will change Line Numbers of `Frontend` & `Query-Section`, please update line numbers in [`/.scripts/commentLinesForSetup.sh`](https://github.com/SigNoz/signoz/blob/develop/.scripts/commentLinesForSetup.sh)
**[`^top^`](#contributing-guidelines)**
## 3.2 Contribute to Frontend without installing SigNoz backend
If you don't want to install the SigNoz backend just for doing frontend development, we can provide you with test environments that you can use as the backend.
- Clone the SigNoz repository and cd into signoz/frontend directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz/frontend
````
- Create a file `.env` in the `frontend` directory with `FRONTEND_API_ENDPOINT=<testenvironmentURL>`
- Next,
```
yarn install
yarn dev
```
Please ping us in the [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) channel or ask `@Prashant Shahi` in our [Slack Community](https://signoz.io/slack) and we will DM you with `<testenvironmentURL>`.
**Frontend should now be accessible at** [`http://localhost:3301/services`](http://localhost:3301/services)
**[`^top^`](#contributing-guidelines)**
<hr>
# 4. Contribute to Backend (Query-Service) 🌑
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/pkg/query-service](https://github.com/SigNoz/signoz/tree/develop/pkg/query-service)**
## 4.1 Prerequisites
### 4.1.1 Install SQLite3
- Run `sqlite3` command to check if you already have SQLite3 installed on your machine.
- If not installed already, Install using below command
- on Linux
- on Debian / Ubuntu
```
sudo apt install sqlite3
```
- on CentOS / Fedora / RedHat
```
sudo yum install sqlite3
```
## 4.2 To run ClickHouse setup (recommended for local development)
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- run `sudo make dev-setup` to configure local setup to run query-service,
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Comment out `query-service` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L41`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L41)
<img width="1068" alt="Screenshot 2022-07-14 at 22 48 07" src="https://user-images.githubusercontent.com/52788043/179044151-a65ba571-db0b-4a16-b64b-ca3fadcf3af0.png">
- add below configuration to `clickhouse` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml)
```
ports:
- 9001:9000
```
<img width="1013" alt="Screenshot 2022-07-14 at 22 50 37" src="https://user-images.githubusercontent.com/52788043/179044544-a293d3bc-4c4f-49ea-a276-505a381de67d.png">
- run `cd pkg/query-service/` to move to `query-service` directory,
- Then, you need to create a `.env` file with the following environment variable
```
SIGNOZ_LOCAL_DB_PATH="./signoz.db"
```
to set your local environment with the right `RELATIONAL_DATASOURCE_PATH` as mentioned in [`./constants/constants.go#L38`,](https://github.com/SigNoz/signoz/blob/develop/pkg/query-service/constants/constants.go#L38)
- Now, install SigNoz locally **without** the `frontend` and `query-service`,
- If you are using `x86_64` processors (All Intel/AMD processors) run `sudo make run-x86`
- If you are on `arm64` processors (Apple M1 Macs) run `sudo make run-arm`
#### Run locally,
```
ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go
The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service
```
docker pull signoz/query-service
```
```
docker pull signoz/query-service:latest
```
```
docker pull signoz/query-service:develop
```
### Important Note:
The Maintainers / Contributors who will change Line Numbers of `Frontend` & `Query-Section`, please update line numbers in [`/.scripts/commentLinesForSetup.sh`](https://github.com/SigNoz/signoz/blob/develop/.scripts/commentLinesForSetup.sh)
**Query Service should now be available at** [`http://localhost:8080`](http://localhost:8080)
If you want to see how the frontend plays with query service, you can run the frontend also in your local env with the baseURL changed to `http://localhost:8080` in file [`frontend/src/constants/env.ts`](https://github.com/SigNoz/signoz/blob/develop/frontend/src/constants/env.ts) as the `query-service` is now running at port `8080`.
<!-- Instead of configuring a local setup, you can also use [Gitpod](https://www.gitpod.io/), a VSCode-based Web IDE.
Click the button below. A workspace with all required environments will be created.
[](https://gitpod.io/#https://github.com/SigNoz/signoz)
> To use it on your forked repo, edit the 'Open in Gitpod' button URL to `https://gitpod.io/#https://github.com/<your-github-username>/signoz` -->
**[`^top^`](#contributing-guidelines)**
<hr>
# 5. Contribute to SigNoz Helm Chart 📊
**Need to Update: [https://github.com/SigNoz/charts](https://github.com/SigNoz/charts).**
## 5.1 To run helm chart for local development
- Clone the SigNoz repository and cd into charts directory,
```
git clone https://github.com/SigNoz/charts.git && cd charts
```
- It is recommended to use lightweight kubernetes (k8s) cluster for local development:
**Need to Update: [https://github.com/SigNoz/dashboards](https://github.com/SigNoz/dashboards)**
To contribute a new dashboard template for any service, follow the contribution guidelines in the [Dashboard Contributing Guide](https://github.com/SigNoz/dashboards/blob/main/CONTRIBUTING.md). In brief:
1. Create a dashboard JSON file.
2. Add a README file explaining the dashboard, the metrics ingested, and the configurations needed.
3. Include screenshots of the dashboard in the `assets/` directory.
4. Submit a pull request for review.
## Other Ways to Contribute
There are many other ways to get involved with the community and to participate in this project:
- Use the product, submitting GitHub issues when a problem is found.
- Help code review pull requests and participate in issue threads.
- Submit a new feature request as an issue.
- Help answer questions on forums such as Stack Overflow and [SigNoz Community Slack Channel](https://signoz.io/slack).
- Tell others about the project on Twitter, your blog, etc.
Again, Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
Thank You!
-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.
@@ -2,7 +2,7 @@ Copyright (c) 2020-present SigNoz Inc.
Portions of this software are licensed as follows:
* All content that resides under the "ee/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
* All content that resides under the "ee/" and the "cmd/enterprise/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
* All third party components incorporated into the SigNoz Software are licensed under the original license provided by the owner of the applicable component.
* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below.
<palign="center">All your logs, metrics, and traces in one place. Monitor your application, spot issues before they occur and troubleshoot downtime quickly with rich context. SigNoz is a cost-effective open-source alternative to Datadog and New Relic. Visit <ahref="https://signoz.io"target="_blank">signoz.io</a> for the full documentation, tutorials, and guide.</p>
# The poll interval for periodically syncing the alertmanager with the config in the store.
poll_interval:1m
# The URL under which Alertmanager is externally reachable (for example, if Alertmanager is served via a reverse proxy). Used for generating relative and absolute links back to Alertmanager itself.
external_url:http://localhost:8080
# The global configuration for the alertmanager. All the exahustive fields can be found in the upstream: https://github.com/prometheus/alertmanager/blob/efa05feffd644ba4accb526e98a8c6545d26a783/config/config.go#L833
global:
# ResolveTimeout is the time after which an alert is declared resolved if it has not been updated.
resolve_timeout:5m
route:
# GroupByStr is the list of labels to group alerts by.
group_by:
- alertname
# GroupInterval is the interval at which alerts are grouped.
group_interval:1m
# GroupWait is the time to wait before sending alerts to receivers.
group_wait:1m
# RepeatInterval is the interval at which alerts are repeated.
repeat_interval:1h
alerts:
# Interval between garbage collection of alerts.
gc_interval:30m
silences:
# Maximum number of silences, including expired silences. If negative or zero, no limit is set.
max:0
# Maximum size of the silences in bytes. If negative or zero, no limit is set.
max_size_bytes:0
# Interval between garbage collection and snapshotting of the silences. The snapshot will be stored in the state store.
maintenance_interval:15m
# Retention of the silences.
retention:120h
nflog:
# Interval between garbage collection and snapshotting of the notification logs. The snapshot will be stored in the state store.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
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.