* 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
* chore: qs: logs pipeline preview: use collectorsimulator from signoz-otel-collector
* chore: qs: remove collectorsimulator: located in signoz-otel-collector now
* feat: trace v4 inital commit
* fix: add remaining files
* fix: integrate with querier
* fix: get trace by id api updated
* fix: add servicename resource filter
* fix: tests
* fix: use correct prepQUery
* fix: services page
* fix: minor fixes to use the new table in api's and querier
* fix: add support for window based pagination
* feat: support for faster trace detail
* fix: searchTraces
* fix: attribute enrichment updated and issue in group by
* fix: issues in group by
* fix: enrichment using alias
* fix: test file added
* fix: tests
* fix: group by with filters
* fix: add subquery
* fix: trigger builde
* fix: update pagination logic and few ch column names
* fix: update qb
* fix: add tests
* feat: minor fixes
* fix: update pagination logic
* fix: update pagination logic
* fix: remove utils
* fix: remove unwanted API's
* fix: attribute and attribute values v2
* fix: autocomplete api's updated
* fix: tests fixed
* feat: minor fixes
* fix: update telemetry functions
* fix: dont use alias, use proper col names
* fix: move models to it's own file
* fix: minor fixes
* fix: address comments
* fix: add to serviceoverview function
* fix: add changes to overview function
* fix: address comments
* fix: remove printlines
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added the host list view and filters (#6210)
* feat: added the host list view and filters
* feat: removed group by filter and added autocomplete for where clause
* feat: updated the table view and added the pagination
* feat: pass updated filters to api to get filtered data in the list
* feat: added global time range and order by for cpu,memory,iowait,load
* feat: added order by and color codes for cpu and memory usage progress bar
* refactor: removed inline styles
* Host lists improvement (#6366)
* style: added new style changes for date time selection in host lists view
* style: added padding to date time selector
* style: removed unnecessary styles for host tabs
* style: removed unused css
* feat: added the host detail view (#6267)
* Host containers (#6297)
* feat: added the host detail view
* feat: completed containers and processes details view
* Show host metrics panels in metrics tab. (#6306)
* feat: added the host detail view
* feat: completed containers and processes details view
* feat: added host metrics panels in metrics tabs
* refactor: removed inline styles from host containers and processes tabs
* style: added top and bottom margin to containers and processes tab
* Metrics time selection (#6360)
* feat: added the host detail view
* feat: completed containers and processes details view
* feat: added host metrics panels in metrics tabs
* refactor: removed inline styles from host containers and processes tabs
* feat: added logs and traces tab in host metrics detail view
* chore: removed console statements
* feat: added DateTimeSelection component in metrics tab
* style: added top and bottom margin to containers and processes tab
* style: removed inline styles
* feat: added logs and traces tab in host metrics detail view (#6359)
* feat: added the host detail view
* feat: completed containers and processes details view
* feat: added host metrics panels in metrics tabs
* refactor: removed inline styles from host containers and processes tabs
* feat: added logs and traces tab in host metrics detail view
* chore: removed console statements
* feat: added filters and time selection in traces tab
* fix: resolved metrics,logs and traces tab issues
* feat: added navigation for logs and traces to respective explorer pages
* fix: added the code for logs tab and navigation to respective explorer page
* fix: added fixes for date time selection custom issue
* style: added styles for light mode
* refactor: removed unused code and added comments
* refactor: added new code for host metric attribute keys
* feat: reset query data once we are on infra monitoring page
* chore: remove optional parameter from get attributes and groupby interfaces
* feat: update ui as per the designs
* fix: logs list, time select and other ui issues
* feat: update title for infra monitoring page
* feat: update copies
* feat: update styles for light mode
* fix: reset page size on filter, open explorers in new tab, enable horizontal scroll
* feat: traces tab updates
* feat: move infra monitoring behind ff
* fix: remove sorting from host listing page
---------
Co-authored-by: Yunus M <myounis.ar@live.com>
* chore: fix lint errors
---------
Co-authored-by: rahulkeswani101 <rahul@signoz.io>
* feat: update clickhouse reader to support new trace schema
* fix: minor fixes
* fix: address comments
* fix: add changes to overview function
* fix: add changes to overview function
* fix: use hardcoded true
* fix: address comments
* feat: use the license v2 key to fill licenses v3 on startup
* chore: make the init only if the licenses v2 is present
* chore: address review comments
* feat: add channel creation option and auto-refresh channels list on dropdown open
* chore: move inline styles to style.ts
* fix: show the prompt to ask admin if the user doesn't have permissions
* fix: display create channel option only if the user has permission
* fix: prevent repeated new alert event logs + log new channel option inside dropdown
* feat: support for new enrichment logic in traces
* fix: default test added
* fix: update func name in links
* Update pkg/query-service/utils/logs_test.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat: support for window based pagination in new trace v4
* fix: update pagination logic
* fix: update comment
* fix: substract correct length
* fix: revert changes
* fix: add tests for querier
* fix: rename matcher
* fix: handle offset inmemory for list queries in traces
* fix: correct var name
* fix: add max pagination limit for traces
* feat: trace V4 QB
* fix: update get column name and remove id
* fix: handle contains and update tests
* fix: remove unwanted step interval calculation
* fix: add test cases
* fix: add tests for static columns in QB
* fix: add more order by tests
* fix: update order by logic
* feat: setup for licenses v3 integration
* feat: added some more logic
* feat: validator changes
* chore: added a couple of todos
* feat: added config parameter for licenses v3 and the boot option
* feat: some typo fix
* feat: added refresh licenses handler
* feat: handle the start manager license activation
* chore: text updates
* feat: added list licenses call
* chore: refactor the entire code to cleanup interfaces
* fix: nil pointer error
* chore: some minor edits
* feat: model changes
* feat: model changes
* fix: utilise factory pattern
* feat: added default basic plan
* chore: added test cases for new license function
* feat: added more test cases
* chore: make the licenses id not null
* feat: cosmetic changes
* feat: cosmetic changes
* feat: update zeus URL
* chore: license testing fixes
* feat: added license status and category handling for query-service
* chore: added v3 support in v2 endpoint
* chore: http response codes and some code cleanup
* chore: added detailed test cases
* chore: address review comments
* chore: some misc cleanup
* feat: alert rename interaction
* feat: add support for enter and escape shortcuts to submit and cancel rename
* chore: add missing alert field
* chore: update the style similar to dashboard rename
* refactor: remove buttonProps
* chore: add missing alert property to fix the build
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added metric page in messaging queues
* feat: added misc fixes
* feat: removed a class name from mqcards
* feat: added lightMode styles for kafka 2.0 (#6400)
* feat: resolved comments and used strings
* fix: added onboarding setup for producer/consumer for Messaging queues
* fix: polled onboarding status api
* feat: added onboarding status api with useQueury functions and updated endpoints
* feat: added onboarding status api util for attribute data
* feat: refactoring and url query changes
* feat: changed start and end time to nanosecond for api payload
* feat: added comment description
* fix: fixed the step interval which was being perculated to list view
* fix: fixed the step interval which was being perculated to list view
* fix: fixed the step interval which was being perculated to list view
* fix: fixed the step interval which was being perculated to list view
* fix: fixed the step interval which was being perculated to list view
* fix: fixed the step interval which was being perculated to list view
* chore: bump signoz-otel-collector version (#6290)
* Chore: bump signoz otel collector dependency to 0.111.5 (#6302)
* chore: bump signoz-otel-collector dependency version to 0.111.5
* chore: logs filter suggestions: update import for ResourceHierarchy from signoz-otel-collector
* fix: fixed the step interval which was being perculated to list view
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Raj Kamal Singh <1133322+raj-k-singh@users.noreply.github.com>
* chore: bump signoz-otel-collector dependency version to 0.111.5
* chore: logs filter suggestions: update import for ResourceHierarchy from signoz-otel-collector
* chore: add test validating pipe char in pipeline alias doesnt break collector config
* fix: pipelines collector conf: ensure bad names are not generated
* chore: upgrade signoz-otel-collector dependencies to v0.111.2
* chore: update references to otel-collector types in collector simulator
* chore: escape '$' as '$$$' and not '$$' in generated pipeline collector config
* chore: update go.sum entry for logstransformprocessor
* chore: some more go.sum updates to get build working
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: tooltip plugin to show series data in tooltip
* feat: send anomaly function as last function
* feat: default z_score_threshold to 3
* fix: anomaly function not applied on initial load
* feat: maintain select alert type on reload
* feat: maintain select alert type on reload
* chore: update events to handle anomaly alert interactions
* fix: removed selectedValue from exported and copied dashboard json
* fix: added uuid validation to not expect empty uuid
* fix: removed uuid from export and copied dashboard json
* fix: resolved comment and removed uuid when empty
* fix: renamed function
* fix: fixed threshold for columns with units
* fix: added interunit and category conversion for handling threshold across different unit types
* fix: added invalid comparison text and removed unsupported unit categories
* fix: cleanup and multiple threshold and state change handling
* fix: restrict category select to only columnUnit group
* fix: restricted column name from threshold option
* fix: removed console log
* fix: resolved comments and some refactoring
* fix: resolved comments and some refactoring
* fix: flicker in logs explorer page
* fix: added inline code comments
* fix: edit rules css should be scoped inside the container
* fix: add explicit space after adding key and operators to help users type and create the tag
* fix: do not wait for api to complete for the user to enter the query
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: change the log background to same as severity text with some opacity
* chore: make the log background changes for column renderer
* chore: remove the backdrop mask from logs details drawer
* chore: fix tests
* chore: add test reproducing bad config generation when first pipeline op is disabled
* fix: logs pipelines: set router output to first enabled operator
* fix(query): #5861 Changes query which improves performance
* fix(test): fixed all the build test
* fix(test): fixed all the build test
* fix(test): fixed all the build test
* fix(test): fixed all the build test
* fix(test): fixed all the build test
* fix(test): fixed all the build test
* fix: enrich attributes regardless if it is materialized
* feat: take care of same key name with different type and datatype
* fix: makeLinks updated with new logic for logs
* fix: clean up PrepareFilters and make it generic
* feat: added info funct for panels in dashaboard layout for showing description
* feat: position description info next to title
* feat: replaced error info icon
* fix: hide PromQL from table panel type
* fix: handled switch back to query tab if promql was selected earlier
* fix: made a constant for panel-type to query-type
* feat: build client side QB search
* feat: query builder light mode support + overall UI improvements
* fix: preserve the alert rule labels in context
* feat: get labels and all possible values from /timeline API
* chore: remove unnecessary dropdownRender and optional fields from AttributeKey
* chore: merge the styles of .tag
* chore: use the correct type for attributeKeys
* chore: use the correct values for alert rule state in the context
I preserved the existing interfaces, so:
`docker compose -f docker/clickhouse-setup/docker-compose.yaml up -d`, would run the same set of services (with the testing app).
The interface that was added is:
`docker compose -f docker/clickhouse-setup/docker-compose-minimal.yaml up -d`, which won't run testing app.
* feat: add drag support to alert history horizontal graph
* chore: use startTimestamp and endTimestamp
* fix: fix the issue of alert history breaking on navigating back from selected time range
* fix: added custom breakdown to handle billing graph issue
* chore: remove console statement
* chore: added comment for current implementation of adding next day details in breakdown
* feat: add expand/collapse button to the top in trace details
* fix: make the trace details collapsed sidebar match the design
* fix: failing test by modifying the expand button class name
* fix: restricted column long value to 3 line and line clamped
* fix: added tooltip prop as prop for generic component and passed style from consumer
* fix: comment resolved
* fix: refactored styles
* fix: updated snapshot
* fix: removed console log
* style: enhance FAQ container styling and adjust layout for customer stories
fixed the button casing
faq layout shift issue due to parent flex centered
* style: add dark theme support to WorkspaceLocked styles
* refactor: moved inline styles to class
* feat: added blur event to having input in query section
* feat: added a error message for incomplete having clause and improved handleBlur
* feat: added focus event to remove error message
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: upgrade signoz-otel-collector dependency to v0.102.10
* feat: first stab at ranking resource attribs higher
* chore: add test todo for validating resource attribs get ranked higher in logs filter suggestions
* chore: add test validating higher ranking for special resource attribs
* chore: some cleanup
* chore: some more cleanup
#### Summary
- update all docker compose YAMLs to use new logs schema
- enable `use_new_schema ` flag for clickhouselogsexporter in otel-collector config YAMLs
- remove prefer delta from docker-compose YAMLs
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: added new tab for infra metrics in logs detailed page
* feat: added yaxis unit for the charts
* chore: cleanup query_range params
* fix: clusterName, podName variables not working
* feat: added skeleton for each charts in infra metrics tab
* change card height to 300px
* fix: updated the test cases
* feat: added new sub-tabs node and pod for infra metrics tab
* feat: added new components for node and pod metrics
* feat: added card titles for host metrics and handled empty state
* fix: updated the constant for host name
* feat: added vertical dotted line to all panels and updated y axis units for all panels
* feat: removed other panel types other than graph from host metrics query payload
* fix: updated the query payload for node metrics
* feat: moved the label of vertical dotted line to top
* feat: added console statement to check query payload
* fix: added pod name instead of node name in pod query payload
* fix: added key as pod name instead of node name in file system usage
* fix: updated query payload for file system usage in pod metrics and removed label from dotted line
* fix: updated the y axis units for network io
* fix: custom date time issue while plotting the graph
* feat: compare end time and current time update the end time accordingly
* feat: added the start and end time in query payloads
* refactor: removed the comments and unused variables
* chore: added a todo to make common component for sub-tabs
* fix: addressed review comments
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: tlemetry for dashboard/alerts/views using contains on attributes
* fix: update how telemetry is collected for logs
* fix: revert constands
* fix: check assertion for operator
* feat: added global search on table panel
* feat: added global search on table panel
* feat: added global search conditionally and with new design
* feat: removed state from datasource
* feat: added global search in full view
* feat: added lightMode styles
* feat: added test cases for querytable and widgetHeader - global search
* fix: added time range key for query and local storage handling
* chore: fix jest test cases
* fix: send single element array for only variable option as well
* fix: intermediate stale data should not be shown
* feat: add units for pie chart
* chore: set the default to none in case no unit present
* chore: rename the y axis unit to unit
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: logsV4 initial refactoring
* feat: filter_query builder with tests added
* feat: all functions of v4 refactored
* fix: tests fixed
* feat: logs list API, logic update for better perf
* feat: integrate v4 qb
* fix: pass flag
* fix: update select for table panel
* fix: tests updated with better examples of limit and group by
* fix: resource filter support in live tail
* fix: v4 livetail api
* fix: changes for casting pointer value
* fix: reader options updated
* feat: cleanup and use flag
* feat: restrict new list api to single query
* fix: move getTsRanges to utils
* fix: address pr comments
* feat: initial setup for group by severity logs explorer page
* chore: reduce the height of the histogram
* chore: pr cleanup
* chore: minor color update
* chore: clean the PR
* chore: clean the PR
* chore: better base handling
* fix: append query names to the legends in case of multiple queries
* feat: make the changes only for list view and add back legends
* feat: logsV4 initial refactoring
* feat: filter_query builder with tests added
* feat: all functions of v4 refactored
* fix: tests fixed
* feat: logs list API, logic update for better perf
* fix: update select for table panel
* fix: tests updated with better examples of limit and group by
* fix: resource filter support in live tail
* feat: cleanup and use flag
* feat: restrict new list api to single query
* fix: move getTsRanges to utils
* feat: logsV4 initial refactoring
* feat: filter_query builder with tests added
* feat: all functions of v4 refactored
* fix: tests fixed
* fix: update select for table panel
* fix: tests updated with better examples of limit and group by
* fix: resource filter support in live tail
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: add resource_deployment_environment as fast filter in traces page
* chore: directly use deployment.environment, rather than converting resource_deployment_environment
* chore: make environment filter expanded by default
* chore: add deployment.environment to defaultOpenSections to pass the test
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* chore: put together helper for fetching values for multiple attributes
* chore: poc: use helper for filter suggestions
* chore: add a working impl for getting attrib values for multiple attributes
* chore: start updating integration test to account for new approach for getting log attrib values
* chore: use a global zap logger in filter suggestion tests
* chore: fix attrib values clickhouse query expectation
* chore: only query values for actual attributes when generating example queries
* chore: update clickhouse-go-mock
* chore: cleanup: separate params for attributesLimit and examplesLimit for filter suggestions
* chore: some test cleanup
* chore: some more cleanup
* chore: some more cleanup
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* refactor(alert timeline): update TopContributorsCard and Table styles
- Update hover styles for collapsed section rows in TopContributorsCard
- Update text and icon colors on hover in TopContributorsCard
- Remove unnecessary styles for value column in Table
- Update font size and alignment for table headers in Table
- Update font size and alignment for created at column in Table
- Add actions column with ellipsis button in Table
* feat(alert history styles): update alert popover and top contributors card styles
* feat: add view templates option to dashboard menu
* feat: increase dropdown overlay width
Set the dropdown overlay width to 200px to provide breathing space for the dropdown button.
Added flex to wrap the dropdown button to create space between the right icon and the left elements.
* feat(paywall blocker): improvements for trial end blocker screen
- added new components locally for rendering static contents
- fixed SCSS code for better readablity
- seperated data to specific file
- added alert info style for the non admin users message
* chore: fixed few conditions
* feat(paywall title): added contact us to modal title
* feat: non admin users communication styles
* chore: added useState for the sidebar collapse state to be false
* test(WorkspaceLocked): update Jest test to sync with recent UX copy changes
* feat(workspaceLocked): added locale
added English and English-GB translations for workspace locked messages
* feat: reverted the translation for and sidebar collapse fix
- I have removed the scope for unitest having locale support
- remove the useEffect way to set sidebar collapse, instead added it in app layout
- removed the opacity effect on tabs
* refactor(workspaceLocked): refactor appLayout component to simplify the isWorkspaceLocked function
* refactor(workspaceLocked): simplify isWorkspaceLocked by converting it to a constant expression
* refactor(workspaceLocked): refactor modal classname and variable
---------
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: calculate user count dynamically and set user role in identity event
* chore: move to callbacks
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: added start and end time info text to educate user better around the schedule timelines
* fix: changed the start and endtime info text
* fix: changed the start and endtime info text
* fix: comment resolved
* feat: show rps message only if user is on trail and trail is not converted to sub
* feat: show rps message only if user is on trail and trail is not converted to sub
* feat: logs quick filter
* feat: added open button in the closed state
* fix: build issues
* chore: minor css
* feat: handle changes for last used query,states and reset
* feat: refactor some code
* feat: handle on change functionality
* fix: handle only and all
* chore: handle empty edge cases
* feat: added necessary tooltips
* feat: use tag instead of tooltip icon
* feat: handle light mode designs
* feat: added correct facets
* feat: added resize observer for the graph resize
* chore: added local storage state for the toggle
* chore: make refresh text configurable
* feat: added environment and fix build
* feat: handle the cases for = and != operators
* feat: design changes and zoom out
* feat: minor css issue
* fix: light mode designs
* fix: handle the case for state initialization
* fix: onDelete query the last used index should be set to 0
* feat: tabs and filters for alert history page (#5655)
* feat: alert history page route and component setup
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* chore: unused components and files cleanup
* chore: improve alert history and overview route paths
* chore: use parent selector in scss files
* chore: alert -> alerts
* feat: alert rule details metadata header (#5675)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* chore: unused components and files cleanup
* feat: copy to clipboard component
* feat: see more component
* feat: key value label component
* feat: alert rule details meta data header
* fix: apply the missing changes
* chore: uncomment the alert status with static data
* chore: compress the alert status svg icons and define props, types, and defaultProps
* feat: alert rule history skeleton using static data (#5688)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: top contributors UI using static data
* feat: avg. resolution time and total triggered stats card UI using static data
* feat: tabs component
* feat: timeline tabs and filters
* feat: overall status graph UI using dummy data with graph placeholder
* feat: timeline table and pagination UI using dummy data
* fix: bugfix in reset tabs
* feat: add popover to go to logs/traces to top contributors and timeline table
* chore: remove comments
* chore: rename AlertIcon to AlertState
* fix: add cursor pointer to timeline table rows
* feat: add parent tabs to alert history
* chore: add icon to the configure tab
* fix: display popover on hovering the more button in see more component
* fix: wrap key value label
* feat: alert rule history enable/disable toggle UI
* Feat: get alert history data from API (#5718)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: data state renderer component
* feat: get total triggered and avg. resolution cards data from API
* fix: hide stats card if we get NaN
* chore: improve rule stats types
* feat: get top contributors data from API
* feat: get timeline table data from API
* fix: properly render change percentage indicator
* feat: total triggered and avg resolution empty states
* fix: fix stats height issue that would cause short border-right in empty case
* feat: top contributors empty state
* fix: fix table and graph borders
* feat: build alert timeline labels filter and handle client side filtering
* fix: select the first tab on clicking reset
* feat: set param and send in payload on clicking timeline filter tabs
* Feat: alert history timeline remaining subtasks except graphs (#5720)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: implement timeline table sorting
* chore: add initial count to see more and alert labels
* chore: move PaginationInfoText component to /periscope
* chore: implement top contributor rows using Ant Table
* feat: top contributors view all
* fix: hide border for last row and prevent layout shift in top contributors by specifying height
* feat: properly display duration in average resolution time
* fix: properly display normal alert rule state
* feat: add/remove view all top contributors param to url on opening/closing view all
* feat: calculate start and end time from relative time and add/remove param to url
* fix: fix console warnings
* fix: enable timeline table query only if start and end times exist
* feat: handle enable/disable alert rule toggle request
* chore: replace string values with constants
* fix: hide stats card if only past data is available + remove unnecessary states from AlertState
* fix: redirect configure alert rule to alert overview tab
* fix: display total triggers in timeline chart wrapper based on API response data
* fix: choosing the same relative time doesn't udpate start and end time
* Feat: total triggered and avg. resolution time graph (#5750)
* feat: alert history basic tabs and fitlers UI
* feat: route based tabs for alert history and overview and improve the UI to match designs
* feat: handle enable/disable alert rule toggle request
* feat: stats card line chart
* fix: overall improvements to stats card graph
* fix: overall UI improvements to match the Figma screens
* chore: remove duplicate hook
* fix: make the changes w.r.t timeline table API changes to prevent breaking the page
* fix: update stats card null check based on updated API response
* feat: stats card no previous data UI
* feat: redirect to 404 page if rule id is invalid
* chore: improve alert enable toggle success toast message
* feat: get top contributors row and timeline table row related logs and traces links from API
* feat: get total items from API and make pagination work
* feat: implement timeline filters based on API response
* fix: in case of current and target units, convert the value unit in timeline table
* fix: timeline table y axis unit null check
* fix: hide stats card graph if only a single entry is there in timeseries
* chore: redirect alert from all alerts to overview tab
* fix: prevent adding extra unnecessary params on clicking alerts top level tabs
* chore: use conditional alert popover in timeline table and import the scss file
* fix: prevent infinity if we receive totalPastTriggers as '0'
* fix: improve UI to be pixel perfect based on figma designs
* fix: fix the incorrect change direction
* fix: add height to top contributors row
* feat: alert history light mode
* fix: remove the extra padding from alert overview query builder tabs
* chore: overall improvements
* chore: remove mock file
* fix: overall improvements
* fix: add dark mode support for top contributors empty state
* chore: improve timeline chart placeholder bg in light mode
* Feat: alert history horizontal timeline chart (#5773)
* feat: timeline horizontal chart
* fix: remove the labels from horizontal timeline chart
* chore: add null check to timeline chart
* chore: hide cursor from timeline chart
* fix: fix the blank container being displayed in loading state
* fix: alert history UI fixes (#5776)
* fix: remove extra padding from alert overview query section tabs
* fix: add padding to alert overview container
* fix: improve breadcrumb click behavior
* chore: temporarily hide reset button from alert details timepicker
* fix: improve breadcrumb click behavior
* chore: hide alert firing since
* fix: don't use the data state renderer for timeline table
* fix: alert history pr review changes (#5778)
* chore: rename alert history scss files in pascal case
* fix: use proper variables
* chore: use color variable for action button dropdown item
* chore: improve the directory structure for alert history components
* chore: move inline style to scss file and extract dropdown renderer component
* chore: use colors from Color instead of css variables inside tsx files
* chore: return null in default case
* chore: update alert details spinner tip
* chore: timelinePlugin warnings and remove file wide warning disabling
* chore: change Arial to Geist Mono in timeline plugin
* feat: alert history remaining feats (#5825)
* fix: add switch case for inactive state to alert state component
* feat: add API enabled label search similar to Query Builder
* feat: add reset button to date and time picker
* feat: add vertical timeline chart using static data
* chore: use Colors instead of hex + dummy data for 90 days
* fix: label search light mode UI
* fix: remove placeholder logic, and display vertical charts if more than 1 day
* chore: extract dayjs manipulate types to a constant
* fix: hide the overflow of top contributors card
* fix: throw instead of return error to prevent breaking alert history page in case of error
* chore: temporarily comment alert history vertical charts
* chore: calculate start and end times from relative time and remove query params (#5828)
* chore: calculate start and end times from relative time and remove query params
* fix: hide reset button if selected time is 30m
* feat: alert history dropdown functionality (#5833)
* feat: alert history dropdown actions
* chore: use query keys from react query key constant
* fix: properly handle error states for alert rule APIs
* fix: handle dropdown state using onOpenChange to fix clicking delete not closing the dropdown
* Fix: bugfixes and overall improvements to alert history (#5841)
* fix: don't display severity label
* chore: remove id from alert header
* chore: add tooltip to enable/disable alert toggle
* chore: update enable/disbale toast message
* fix: set default relative time to 6h if relative time is not provided
* chore: update empty top contributors text and remove configure alert
* chore: temporarily hide value column from timeline column
* fix: use correct links for logs and traces in alert popover
* fix: properly set timeline table offset
* fix: display all values in graph
* fix: resolve conflicts
* chore: remove style for value column in timeline table
* chore: temporarily hide labels search
* fix: incorrect current page in pagination info text
* chore: remove label QB search
* chore: remove value column
* chore: remove commented code
* fix: show traces button when trace link is available
* fix: display horizontal chart even for a single entry
* fix: show inactive state in horizontal similar to normal state
* fix: properly render inactive state in horizontal chart
* fix: properly handle preserving alert toggle between overview and history tabs
* feat: get page size from query param
* chore: remove commented code + minor refactor
* chore: remove tsconfi.tmp
* fix: don't add default relative time if start and times exist in the url
* feat: display date range preview for stat cards
* chore: remove custom dropdown renderer component
* Fix: UI feedback changes (#5852)
* fix: add divider before delete button
* fix: timeline section title color in lightmode
* fix: remove the extra border from alert history tabs
* fix: populate alert rule disabled state on toggling alert state (#5854)
---------
Co-authored-by: Shaheer Kochai <ashaheerki@gmail.com>
* feat: add view templates option to dashboard menu
* feat: increase dropdown overlay width
Set the dropdown overlay width to 200px to provide breathing space for the dropdown button.
Added flex to wrap the dropdown button to create space between the right icon and the left elements.
* feat: add localization for messaging queues Kafka overview page
Added localization support for the messaging queues Kafka overview page.
Closes#1735
---------
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: make the raw view the default view for logs
* fix: jest test cases
* fix: jest test cases
* chore: fix one test case
* fix: formatting issue
* fix: formatting issue
* feat: consume the new search bar
* fix: minor css issue
* chore: address review comments
* fix: very fast typing
* chore: added inline code comments
* chore: add the changes behind FF
* fix: changing color of tag for Service Map in sidepanel
* fix: added geekblue and borderless in beta tag to light theme changer
* fix: removed comments
* fix: colored logs in new logs explorer
* fix: handle escapes better
* fix: handle escapes better
* chore: add code comments
* chore: added back text to copy to the body
* chore: test websockets
* chore: test websockets
* chore: test websockets
* chore: test websockets
* chore: cleanup PR
* chore: added back check origin function and loggings to check why the mismatch
* chore: the uuid should update on every new request
* chore: experiment with delaying the query deletion
* chore: experiment with delaying the query deletion
* chore: experiment with delaying the query deletion
* chore: upgrade nginx conf
* chore: upgrade nginx conf
* chore: upgrade nginx conf
* chore: experiment with delaying the query deletion
* chore: cleanup PR
* chore: remove print statements
* feat: add view templates option to dashboard menu
* feat: increase dropdown overlay width
Set the dropdown overlay width to 200px to provide breathing space for the dropdown button.
Added flex to wrap the dropdown button to create space between the right icon and the left elements.
---------
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* feat: add support for changing the font size in logs
* fix: build issues and logs context
* chore: fix build issues
* feat: scale all the spaces
* chore: handle light mode designs
* feat: set small as the default
* feat: make the query builder search extensible
* feat: setup the framework and necessary states needed
* feat: cover the happy path of selects
* chore: forward typing flow handled
* chore: add antd select
* chore: add antd select
* chore: handle forward and backward flows
* feat: added tag properites to the search bar and multi tag partial handling
* feat: handle tag on blur and body contains changes
* feat: handle tag deselect
* feat: multi tag handling
* feat: multi tag handling
* fix: jest test cases
* chore: update the key
* chore: add edit tag not working as expected
* feat: handle cases for exists and nexists
* fix: handle has / nhas operators
* chore: fix usability issues
* chore: remove the usage for the new bar
* fix: flaky build issues
* feat: client changes for consumption and design changes for where clause in logs explorer (#5712)
* feat: query search new ui
* feat: suggestions changes in v2
* feat: dropdown and tags ui touch up
* feat: added missing keyboard shortcuts
* fix: race condition issues
* feat: remove usage
* fix: operator select fix
* fix: handle example queries click changes
* chore: design sync
* chore: handle boolean selects
* chore: address review comments
* fix: do not use relative URLs for ws connections
* fix: handle local env better
* chore: update the websocket endpoint
* chore: handle OSS/Docker installations
* fix: change NOOP to count on creating alert from Logs and traces
* fix: change 'count' back to 'noop' in Traces page, in case there is a single query
* fix: handle the query modification in useGetCompositeQueryParam instead of Filter
* chore: use values StringOperators enum instead of hard coded strings
* Revert "fix: handle the query modification in useGetCompositeQueryParam instead of Filter"
This reverts commit 5bb837ec27.
* Revert "fix: change 'count' back to 'noop' in Traces page, in case there is a single query"
This reverts commit 5e506dbd35.
* feat: changes for the query stats websockets
* chore: remove unwanted files
* fix: work on random id rather than hash
* fix: improve the icons and design
* feat: webpack and docker file changes
* fix: test cases
* chore: format the units
* chore: address review comments
* chore: update the id to uuid package
* fix: build issues
* chore: remove docker file changes
* chore: remove docker file changes
* feat: qb-suggestions base setup
* chore: make the dropdown a little similar to the designs
* chore: move out example queries from og and add to renderer
* chore: added the handlers for example queries
* chore: hide the example queries as soon as the user starts typing
* feat: handle changes for cancel query
* chore: remove stupid concept of option group
* chore: show only first 3 items and add option to show all filters
* chore: minor css changes and remove transitions
* feat: integrate suggestions api and control re-renders
* feat: added keyboard shortcuts for the dropdown
* fix: design cleanups and touchups
* fix: build issues and tests
* chore: extra safety check for base64 and fix tests
* fix: qs doesn't handle padding in base64 strings, added client logic
* chore: some code comments
* chore: some code comments
* chore: increase the height of the bar when key is set
* chore: address minor designs
* chore: update the keyboard shortcut to cmd+/
* feat: correct the option render for logs for tooltip
* chore: search bar to not loose focus on btn click
* fix: update the spacing and icon for search bar
* chore: address review comments
* feat: move chat support behind paywall
* feat: wire up chat support paywall
* feat: move chat support code from app layout to separate component
* feat: add log events
* feat: get query progress tracker started
* feat: flesh out query progress test some more and get first few assertions passing
* chore: flesh out query tracker tests and impl some more
* feat: add impl for QueryTracker.Subscribe
* feat: send latest update if available on subscription
* feat: broadcast query progress to all subscribers on update
* feat: finish plumbing query tracker happy path
* feat: finish with v0 impl for query progress tracker
* chore: some cleanup of query progress tracker
* feat: hook up query progress tracking for queryRangeV3
* feat: impl for query progress websocket API handler
* feat: implement Hijacker iface for loggingResponseWriter for websocket upgrades
* chore: some cleanup to query progress websocket API handler
* chore: some cleanup
* chore: move query progress impl into its own subpackage
* chore: separate in-memory tracker impl from interface
* chore: some more cleanup of in memory tracker
* chore: some more cleanup of query progress tracker
* chore: some final cleanups
* fix: clean out the panel type change attribute dependency
* fix: clean out the updater function as well
* fix: issue with rendering list panel as first and then moving around
* chore: stash initial work with API signature
* chore: put together setup for integration testing filter suggestions
* feat: filter suggestions: suggest attribs using existing autocomplete logic
* chore: filter suggestions test: add expectation for example queries
* feat: filter suggestions: default suggestions when data yet to be received
* feat: finish plumbing basic example queries
* chore: add test for filter suggestions with an existing query
* feat: filter suggestions: don't suggest attribs already included in existing filter
* chore: generate example queries by including existing filter first
* chore: upgrade ClickHouse-go-mock
* chore: some cleanup of reader.GetQBFilterSuggestionsForLogs
* chore: some cleanup of filter suggestion tests
* chore: some cleanup to http handler and request parsing logic for filter suggestions
* chore: remove expectation that attrib suggestions won't contain attribs already used in filter
* feat: added links to integrations page in onboarding section
* feat: removed box shadow for button
* refactor: added routes object to navigate to integrations page
* feat: added new styles for data source name
* fix: added card to show message for deleted alert id
* refactor: added new constants for handling error message when alert is deleted
* refactor: added error response to error message field
* refactor: removed console statement
* refactor: renamed the variables
* feat: added link for dashboard name
* refactor: added getLink function to get the link of dashboard details page
* refactor: changed the color for dashboard name
* refactor: updated the classname for dashboard name
* fix: update css tokens and light mode design
---------
Co-authored-by: vikrantgupta25 <vikrant.thomso@gmail.com>
* chore: added service name and time params for top level operations
* fix: build issues
* chore: update the useTopLevelOpertions to send start and end time
* chore: added extra checks to not send the param when undefined
* chore: added extra checks to not send the param when undefined
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: set log sev indicator based on severity number if severity text is unknown
* chore: some cleanup
* chore: some more cleanup
* chore: update log state indicator utils test
* chore: some more cleanup
* fix: priority to severity_number over severity_text and update tests
* fix: made the severity_text check case insensitive and added null checks
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat: removed top nav from new alerts landing page
* feat: added new function to check new alerts landing page
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat: query service changes base setup for preferences
* feat: added handlers for user and org preferences
* chore: added base for all user and all org preferences
* feat: added handlers for all user and all org preferences
* feat: register the preference routes and initDB in pkg/query-service
* feat: code refactor
* chore: too much fun code refactor
* chore: little little missing attributes
* fix: handle range queries better
* fix: handle range queries better
* chore: address review comments
* chore: use struct inheritance for the all preferences struct
* chore: address review comments
* chore: address review comments
* chore: correct preference routes
* chore: low hanging optimisations
* chore: address review comments
* chore: address review comments
* chore: added extra validations for the check in allowed values
* fix: better handling for the jwt claims
* fix: better handling for the jwt claims
* chore: move the error to preference apis
* chore: move the error to preference apis
* fix: move the 401 logic to the auth middleware
### Summary
Handle the scenario when email with domain is used for SSO Login which does not match authenticated domains.
Signed-off-by: Prashant Shahi <prashant@signoz.io>
### Summary
Handle the scenario when email with domain is used for SSO Login which does not match authenticated domains.
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* fix: relative time param from the url not respected
* chore: added code comments and the priorities of the params
* fix: added validity checks for the relativeTime in the url
* fix: use the same step interval as in the dashboard query while creating alerts from panel
* chore: added extra safety checks
* chore: add test cases for the mapQueryDataFromAPI utils
* chore: added functions test cases as well
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: use proper indexes for full text search
* fix: tests updated
* feat: lower support only for body and not attributes
* fix: remove default tolower
* fix: add comment for json key split
* fix: remove ilike only for body searches
* fix: minor fixes
* fix: minor fixes
* fix: dashboards list url query params isolation
* feat: order query param old logs explorer isolation
* feat: added extra checks in place
* fix: refactor the dashboards list page for better performance
* chore: add test cases for the dashboards list page
* fix: added test cases for dashboards list page
* fix: added code comments
* fix: added empty state for dashboards and no search state
* chore: helpers required for dashboards e2e test cases
* chore: helpers required for dashboards e2e test cases
* chore: helpers required for dashboards e2e test cases
* fix: properly render newline and tab in log details
* fix: change font family and add tab size to properly render \t
* feat: apply Geist Mono font to the logs
* feat: added invite team member from onboarding flow
* feat: removed commented code and added text to strings-translations
* feat: added en-gb strings
* feat: added more text to strings
* feat: removed commented code and app.ts changes
* feat: added test case for onboarding and invite flow
* feat: added invite team member logEvents
* feat: resovled comments
* feat: cdoe refactor and test case changes
* feat: added empty states for list, trace and timeSeried view in traces
* feat: test case skip
* feat: fixed import order
* feat: added utm parameter link
* feat: added strings
* feat: resovled comments
* feat: added common doclinks util
* feat: test case updated:
* chore: add test validating pipeline alias collisions dont lead to bad config recommendations
* chore: emit error log on detecting duplicate processors in generated config
* chore: ensure collector config processor names for pipelines are unique
* chore: minor cleanups
* feat: added track event in Alerts - (multiple places)
* feat: comment resolve and code refactor
* feat: add Alert Channel: Channel list page visited event
* feat: removed testSuccess variable and used responseStatus directly
* feat: added save status in alert channel: save action
* feat: added channel detail in save and test notification event
* feat: code refactor
* feat: added status message for save and test
* feat: added status message for save channel events
* feat: code refactor
* fix: added user_count and spawn_rate options to hotRod load data command
* fix: removed locust_count and hatch_rate options
* fix: updated user_count and spawn_rate values to the default values used in other places
---------
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* feat: go to traces should use start time and endtime from trace details
* chore: remove console log
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: added checkbox selection in dashboard variables
* feat: added checkbox selection - handling with only and all
* feat: added checkbox selection - style changes
* fix: fixed deselecting all options
* feat: fixed all showing up in single select
* feat: improve styles
* feat: fixed single select getting all values and array issues
* feat: updated test case
* feat: added max tag shown logic with count length and info on hover for overflowed content
* feat: added an option to create channel when no Channels are availabel in alert config
* feat: added tooltip for the case when nochannel
* feat: opened notification channel creation in new tab
* feat: added role permission on create-notification-btn and disabled on loading
* feat: added admin permission required message in tooltip
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: dashboard listing default sorting by createdAt
* fix: respect pagination options
* fix: make it backwards compatible
* fix: sort by default by updated at
* fix: sort by default by updated at
* fix: step interval not working for logs alerts
* fix: build issues
* fix: do not auto update the step interval when user enters some value
* feat: remove initial default 60 from step interval
* feat: revert last change
* fix: step interval mapping
* fix: remove initial default 60 from step interval
* Revert "fix: remove initial default 60 from step interval"
This reverts commit d23ce5e7e2.
* chore: fix backend
* chore: remove backend changes
* feat: enable the aggregate every interval across product
* fix: handle full view and landing view changes
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added option to download billing usage data as csv
* feat: rounded off values to 2 decimal places
* feat: removed state and use useRef
* feat: removed ref and added a function handler for csv
* feat: added try-catch logic for handleCsvDownload function
* feat: added successful notification
* fix: unsaved changes popping up for newly created dashboard in settings
* fix: width changing of right bar when adding new queries
* fix: address review comments
* feat: stacked bars uplot poc
* feat: stacked bars uplot poc
* feat: reverse the legend order
* fix: tooltip
* feat: added bands
* feat: added bands calculation function
* feat: code cleanup and added toggle for stacked and unstacked bars
* feat: minor fixes and better naming
* feat: fix jest test cases
* feat: fix data on view mode of bar chart stacked
* feat: make transulecent colors
* fix: build issues
* fix: legend issues in bar chart edit mode
* feat: added implementation details and refactored code in tooltip plugin
* fix: added missing return statement
* fix: eslint prettier issues
* fix: legend visibility issues on view mode
* fix: legend visibility issues on view mode
* feat: added info text
* fix: add info text only in full view mode
* fix: issue with zero index
* chore: track from which page user visited to support page
* chore: add safety check
* fix: remove the merged_queries label from histogram
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat: trace-filter style and light mode fixes
* fix: removed duration option passed as undefined
* feat: fixed the debounced function on attribute values API call
* feat: support multi ingestion keys
* fix: remove unwanted changes
* feat: limits ui
* feat: handle limit updates from component
* feat: handle limit updates per signal
* feat: integrate multiple ingestion key api
* feat: handle crud for limits
* fix: lint errors
* feat: support query search for ingestion name
* feat: show utilized size in limits
* feat: show multiple ingestions ui only if gateway is enabled
* feat: handle decimal values for ingestion size
* feat: enable multiple ingestion keys for all users with gateway enabled
* chore: remove yarn.lock
---------
Co-authored-by: Yunus A M <younix@Yunuss-MacBook-Pro.local>
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* feat: added trace-filter in new trace-explorer
* feat: added trace-filter in new trace-explorer
* feat: style improvement
* feat: query builder sync and filter section refactor
* feat: added duration and code refactor
* feat: added default open case
* feat: removed API calls and used keys from const
* feat: added sync and prepare data logic for querybuilder
* feat: added styles for lightmode
* feat: code refactor and sync issue fixed
* feat: code refactor and sync issue fixed
* feat: code refactor and feedback issue fixed
* feat: checkbox label and other feedback fix
* feat: filter open and close btn style and handling
* feat: added filter reset and clear all
* feat: fixed query modification issue when filtering
* feat: code refactor
* feat: search text via BE API
* feat: added CTA btn for old explorer page
* feat: make trace-explorer default page
* feat: removed new ribbon on CTA for old trace explorer
* feat: fixed qb and filter panel sync via url state
* feat: fixed duration section issues
* feat: base setup for individual column type units
* feat: added logic for y axis unit selection
* fix: light mode design
* feat: fix the mutation of original datasource array
* fix: page breaking when query range response is null for table panel type
* fix: page breaking when query range response is null for table panel type
* fix: page breaking when query range response is null for table panel type
* fix: parse both unix int and RFC3339 string in toUnixTimestamp
* chore: return GoValuateFuncs as float64
* chore: remove toUnixTimestamp function
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* fix: add createdby and createdAt by default and show not be configurable
* fix: make the checkbox always checked for createdby and createdat
* fix: decrease the margins for the graph and make it compact
* fix: decrease font size for metadata
* fix: handle-large-traces
* feat: add isSubTree key to identify subTrees
Show user a loom video explaining how to navigate large spans
* chore: update icon to warning
* chore: fire telemetry events for all trace detail API calls, large traces
* chore: update MAX_SPANS_IN_TRACE to 250k
* fix: do not route back to overview tab when changing the resource attributes
* fix: retain the resource attributes in query params on tab change
* feat: added jest test case for the same
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added helper text, learn-more and doc-link
* feat: added collapse and uncollapse text on hover
* feat: added learn-more doc link for trace & logs explorer
* feat: added learn-more doc link
* feat: added learn-more doc link
* chore: added alert links and minor updates
* feat: added learn-more doc link
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* fix: multiple widgets getting created and hence blocking the delete
* fix: allow multiple deletes when multiple widgets present with same id
* chore: use the avg for limit
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: add test for updatedAt value being populated in integration dashboards and get it passing
* chore: also populate createdAt, createBy and updateBy for instaled integration dashboards
* chore: update clickhouse integration config instructions
* chore: change logs connection test spec to be based on an attrib value
* chore: disallow unknown fields while unmarshalling JSON for an integration
* chore: add description field to collected metric spec
* chore: update logs connection test for builtin integrations
* chore: update logic for calculating logs connection status
* feat: added test cases for pipeline pages
* feat: added test cases for changeHistory
* chore: change history table test case added
* chore: added create pipeline button test cases
* chore: updated useAnalytics mocking
* fix: ch queries sending builder as query type in query range api for exceptions alerts
* fix: ch queries sending builder as query type in query range api for exceptions alerts
* fix: alerts routing from logs explorer and dashboards
* feat: dashboard panel grouping initial setup
* feat: added panel map to the dashboard response and subsequent types for the same
* feat: added panel map to the dashboard response and subsequent types for the same
* feat: added settings modal
* feat: handle panel collapse and open changes
* feat: handle creating panel map when dashboard layout changes
* feat: handle creating panel map when dashboard layout changes
* feat: refactor code
* feat: handle multiple collapsable rows
* fix: type issues
* feat: handle row collapse button and scroll
* feat: handle y axis movement for rows
* feat: handle delete row
* feat: handle settings name change
* feat: disable collapse/uncollapse when dashboard loading to avoid async states
* feat: decrease the height of the grouping row
* fix: row height management
* fix: handle empty row case
* feat: remove resize handle from the row
* feat: handle re-arrangement of panels
* feat: increase height of default new widget
* feat: added safety checks
* chore: get built-in clickhouse integration started
* chore: update config pre-requisites for clickhouse integration
* chore: add details of metrics data collected for clickhouse integration
* chore: clickhouse integration: move list of data-collected to its own file
* chore: clickhouse integration: get overview dashboard started
* chore: start with logs collection instructions for clickhouse
* chore: regex parsing for clickhouse text logs
* chore: timestamp parsing for clickhouse logs
* chore: severity parsing for clickhouse logs
* chore: clickhouse logs parsing: move parsed message to body if available
* chore: update pre-reqs for collecting from system.query_log table
* feat: add instructions for collecting from system.query_log table
* feat: add logs attribs collected
* chore: some cleanup of clickhouse overview dashboard
* feat: finish up with clickhouse overview dashboard for clickhouse integration
* fix: restrict visibilty of facing-issue button to only cloud users with intercom setup
* fix: restrict visibilty of facing-issue button to only cloud users with intercom setup
* fix: added a comment
* fix: added chat support feature flag condition
* fix: added a comment
* fix: changed folder structure
* fix: alert threshold form is resetting to default query option on stage & run
* fix: alert threshold - added safety check when the queryOption is deleted
* chore: add test cases for Logs
* chore: add test cases for Logs - explorer
* chore: add test cases for Logs - toolbarAction
* chore: add test cases for Logs - list and table view
* chore: add test cases for Logs - list and table view
* chore: code fix
* fix: wrong payload being sent in the dashboard payload
* fix: sync the update set dashboard function
* fix: syncronise the var updates
* fix: jest test cases
* fix: added review comments
* fix: do not make query range API call until the queue is empty
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: support of changing panel type in dashboards
* feat: add handle query change function
* feat: last bit of minor change
* feat: apply current query updates to superset query
* feat: pr cleanup
* feat: handle list type change
* fix: build issues
* fix: changes required due to refactor
* fix: handle offset and page size for list queries
* feat: handle functions propagation
* feat: handle the spaceAggregation value to retain
* fix: handle list panel type changes
* feat: handle removing the graph list from the side selection in case of metrics
* feat: handle list type qb changes
* feat: handle page breaking
* feat: pick dataSource from newQUeryItem
* feat: handle page reload
* chore: add explicit happy case test for regex parsing processor
* chore: add explicit happy case test for grok parsing processor
* chore: add explicit happy case test for JSON parsing processor
* chore: log pipelines: move trace parser test to processors_test.go
* chore: add explicit happy case test for ADD processor
* chore: add explicit happy case test for remove processor
* chore: add explicit happy case test for copy processor
* chore: add explicit happy case test for move processor
* fix: fix broken grok parser test: change test int value to int64
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* refactor: initial setup
* refactor: created panelWrapper to separate panel data
* fix: type error
* fix: the dimension issue for graphs
* refactor: done with table value uplot panels
* refactor: done with logs panel component
* refactor: updated props for log panel component
* fix: query range duplicate issue for logs
* refactor: trace list view done
* fix: full view support
* refactor: done with edit mode for panels
* refactor: type and props
* refactor: reduce an extra api call on edit for list view
* refactor: done with full graph visibility handler
* refactor: removed commented code
* refactor: removed commented code
* fix: build failure
* refactor: updated service layer graphs
* refactor: updated top level oparation query key
* refactor: added drag select
* refactor: done with drag select in chart
* refactor: code cleanup
* refactor: legend should not need stage and run query
* feat: onboarding flow - enable users to submit request for a new data source , environment
* chore: request data source to be available for all modules
* chore: remove hardcoded value
* feat: add integrations to the side-nav for cloud users
* feat: change the route from integrations/installed to /integrations
* feat: light mode table color
* feat: increase the width of the integrations panel by 25 percent
* feat: added telemetry constants and page view
* feat: added telemetry events for integrations
* feat: address review comments
* feat: update time range selection flows to handle relative and absolute times
* fix: lint error
* fix: lint error
* feat: update logic to handle custom relative times on load and standardize relative time formats
* fix: type issue
* fix: handle light mode and on custom time range select
* chore: update alert frequency corresponding times
* chore: update copy URL
* feat: update styles
* refactor: change the logic to match data from another query
* refactor: updated logic
* refactor: clean up
* refactor: updated case to handle formula
* chore: nit
* refactor: isEqual instead of nested loops
* chore: added comments
* refactor: updated logic
* refactor: clean up
* refactor: updated case to handle formula
* chore: nit
* refactor: isEqual instead of nested loops
* feat: flesh out pre-requisites for collecting mongodb logs and metrics
* chore: remove stale pipelines in bundled integrations
* chore: clean up 'collect metrics' step for mongodb
* feat: add instructions for collecting and parsing mongodb logs
* feat: add metrics and logs attributes to mongodb data collected list
* feat: nginx logs collection instructions and some other cleanup
* feat: add list of parsed log attributes to data collected list for nginx
* chore: do not run pipeline population integration test if no built-in integration has a pipeline
* chore: minor cleanups to postgres integration instructions
* chore: update instructions for connecting redis integration
* feat: add instructions for collecting redis logs
* chore: flesh out prerequisites for connecting redis integration
* chore: add list of metrics collected for redis
* feat: [SIG-566]: Added message to alert user about their past due - subscription status
* feat: [SIG-566]: Added message string to billings.json
* feat: [SIG-566]: Added strings to billings.json
* feat: [SIG-566]: updated test cases
* feat: [SIG-566]: updated message text
* feat: [SIG-566]: code fix
* feat: [SIG-566]: code fix
* chore: offer metrics config instructions for signoz cloud only
* chore: some more cleanups
* chore: get log collection instructions started
* feat: flesh out log collection otel config for postgres
* chore: some cleanup
* chore: some more cleanup
* chore: some more cleanup
* fix: [SIG-565]: design feedback for integrations
* feat: added dotted line in the test connection modal
* feat: handle the URL change for integration details page to support back navigation
* feat: added ghost loading states
* feat: added margin for details header
* feat: added margin for details header
* feat: increase the list sizes to 20
* fix: handle icons
* fix: remove unused classes
* feat: [SIG-572]: allow number of lines changing in the logs list view
* feat: [SIG-572]: allow number of lines changing in the logs list view
* feat: added options to change row values in table view
* fix: build issues
* feat: [SIG-571]: added support for has and nhas operator for json filter
* fix: address review comments
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: implement download logs feature for logs explorer new design
* feat: address review comments
* feat: added timestamp and body to the start
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* chore: update annotations for pre blocks in configuration instructions
* chore: update list of collected metrics for postgres integration
* chore: change non-string units to string in metrics collected list
* chore: some cleanups for postgres config instructions
* chore: some cleanup to metrics connection status resource labels
* chore: remove stub pipeline in postgres integration - no interesting log parsing to be done
* chore: add test expectations for integration metrics connection status
* chore: reorg logs connection status calculation for parallelization
* chore: add interface for reader.GetMetricLastReceivedTsMillis
* chore: add plumbing for calculating integration metrics connection status
* chore: impl and test mocks for reader.GetMetricReceivedLatest
* chore: wrap things up and get test passing
* chore: some cleanup
* chore: some more cleanup
* chore: use prom metric names for integration connection test
* refactor: done log explorer minimising save view toolbar
* refactor: local storage visibility support and done with traces toolbar
* refactor: added toolbar and removed commented code
* chore: css updates
* refactor: removed the background hightlighted code for droppable area
* refactor: merge conflict resolve and updated variable name
* refactor: added fullview and fix height issue for logs
* refactor: hide full view button on full view mode
* refactor: removed fullview for logs
* refactor: remove max with for body
* chore: add test for dashboards for installed integrations
* feat: include dashboards for installed integrations in API response
* chore: add test expectation for getting installed integration dashboard by id
* feat: add support for retrieving installed integration dashboards by id
* chore: add dashboard id validation for integrations
* feat: [SIG-543]: Users with VIEWER access can create/edit/delete views for logs and traces
* feat: [SIG-543]: remove extra code
* feat: [SIG-543]: role changes in the save views toolbar
* feat: [SIG-543]: role changes in the save views toolbar
* feat: remove the save feature / dashboard / alert feature for viewer roles
* feat: remove the save feature / dashboard / alert feature for viewer roles
* fix: address review comments
* feat: [SIG-543]: inital commit
* feat: [SIG-543]: refactor date time modal to separate component
* feat: [SIG-543]: refactor date time modal to separate component
* feat: add back the time support according to the older designs in the date time picker
* fix: custom time picker minor UI fixes
* chore: refactor: inject sqlx.DB into opamp.initDB instead of DB file name
* chore: reorganize test utils a little
* chore: add test validating pipelines for installed integrations show up in pipelines list
* chore: get basic integration pipelines testcase passing
* chore: reconcile experimental changes with latest state of develop
* chore: add integration test for reordering of pipelines
* chore: marker for integration pipelines using Id
* chore: hookup propagation of installed integration pipelines by opamp
* chore: add util for mapping slices
* chore: add support for reordering integration pipelines
* chore: exclude user saved integration pipelines if no longer installed
* chore: flesh out rest of intgeration pipelines scenarios
* chore: handle scenario when an integration is installed before any pipelines exist
* chore: notify agentConf of update after uninstalling an integration
* chore: some minor cleanup
* chore: some more cleanup
* chore: update ee server for changed controllers
* chore: some more cleanup
* chore: change builtin integration id prefix to avoid using colons that break yaml
* chore: update builtin integration id in test
* feat: support for timeshift in logs
* fix: post process the timeshift function result
* fix: start and end times adjusted
* fix: only apply functions instead of entire post process
* fix: unnecessary error handling removed
* fix: apply functions for all sources
* feat: test added for timeshift
* fix: comments corrected
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: get builtin integrations started with nginx
* feat: get started with embedding and parsing of builtin integrations
* chore: add icons for nginx and redis integrations
* chore: stash current state of work
* chore: remove all yaml annotations since moved to JSON assets for bundled integrations
* chore: add file uri hydration in integration spec
* chore: refactor file uri hydration logic
* chore: add support for referencing JSON files with file uri
* chore: bring in initial integration assets
* chore: hookup builtin integrations and get all tests passing
* chore: update icons for postgres and mongo and some cleanup
* chore: some more cleanup
---------
Co-authored-by: Raj Singh <raj@Rajs-MacBook-Pro.local>
* feat: refactor onboarding flow to add path params when selecting any module
* feat: added re-route to the onboarding flow in case of no logs and no traces
* chore: remove console logs
* chore: increase type safety
* chore: updated tab names
* chore: remove development conditions
* chore: handle cloud user
* feat: handle aws monitoring cases
* fix: apm framework not getting selected
* fix: apm framework not getting selected
* fix: apm framework not getting selected
* refactor: initial setup
* refactor: done with setup
* refactor: done with severity text split color
* refactor: initial setup
* refactor: done with setup
* refactor: done with severity text split color
* chore: added unit test case
* refactor
: pointed to the correct variable
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: integrations v0 base setup routes and components
* chore: typecheck fix
* feat: integrations landing page changes
* feat: initial header setup
* feat: integrations list page setup
* feat: integrations details content root setup
* feat: integration detail content setup
* feat: added overview tab
* feat: added data tab
* feat: handle configuration tab
* feat: add min height for the container
* feat: generate apis and hooks for usage
* feat: added remove integration modal
* feat: added remove integration modal
* feat: added remove integration modal
* feat: added test connection bars
* chore: add bottom margins
* feat: added test connection modal
* feat: add all types of test connection
* feat: add all types of test connection
* fix: address review comments
* fix: address review comments
* feat: added get all integrations API and search bar implemnetation
* feat: navigate to overview section in case of row click and configure in btn
* feat: integrate get integration details api
* feat: handle integration details page gracefully
* feat: integrate uninstall API and the connection states
* feat: add install integration API call
* feat: added api error handling
* feat: handle error states for list and details api
* feat: handle the logs and metrics columns
* feat: add TODOs for pending tasks
* feat: comment from side nav
* feat: added support for custom tags in react markdown
* chore: revert the temporary change for merge
* feat: integrate the status api calls and polling logic
* chore: add markdown components and correct the polling issue
* chore: handle light mode
* chore: remove integrations from sideNav
* fix: address review comments
* fix: address review comments
* fix: [SIG-532]: timeRange not updating correctly for copy log link
* fix: [SIG-532]: use virtuoso props to scroll to some intiial position rather than API hit
* fix: added styles for highlighted colors
* fix: handle colors for copy log link
* fix: update colors for copy log lines
* chore: add integration attribs for connection tests and status
* chore: add connection status to integration details response
* chore: update integration lifecycle test to check for connection status too
* feat: add GetIntegrationConnectionTests to integrations manager and controller
* chore: add tests for querying integration connection status
* feat: add http API support for integration connection status
* chore: some cleanups
* chore: use PostableRule for integration alerts
* chore: some more cleanup
* chore: add http api test for signoz integrations
* chore: add controller for integrations
* chore: add http API handlers for integrations API
* chore: hook up integrations API in new servers
* chore: add remaining fields in Integration DTO
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: bring in latest state of QS api work for integrations
* chore: integrations v0 qs API: refactor installed integration struct
* chore: finish up with integration lifecycle tests
* chore: some cleanup
* chore: some more cleanup
* chore: some more cleanup
* chore: some more cleanup
* chore: some more cleanup
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* refactor: initial setup for list view logs
* feat: done with basic functionality panel view logs
* feat: added panel view
* fix: discard and edit issue
* refactor: removed not required params from uselogdata
* feat: trace list view
* fix: loader
* refactor: traces table component css update
* refactor: added open san font and udpated css
* fix: full view traces issue and search column css update
* refactor: remove consoles
* refactor: removed commented code and updated logic
* chore: build failure
* refactor: icons change for apdd panels
* refactor: rebased to develop
* refactor: added support for light mode
* refactor: fix tsc
* fix: query select issue
* chore: table column to lower case
* refactor: updated styling for both log and traces tables
* chore: removed comment code
* chore: remove the resizable block from table header traces
* refactor: log table header and body stayling updated
* fix: query range on every column add
* refactor: styling updates
* fix: query range log respect global time
* refactor: css update log table header
* refactor: removed unnecessary code
* refactor: log query range respect globaltime
* refactor: dropdown support to qb
* refactor: remove creating alert for list view
* refactor: fix the height of column select dropdown
* fix: dropdown suggestion for orderby
* refactor: remove the commented code
* refactor: full view respect global time
* refactor: css updates
* refactor: should fire query range on variable change
* refactor: css updates for log list view
* refactor: removed the unused changes
* refactor: handle error state for exploere columns
* refactor: handle error state for explorer columns
* chore: generate yarn lock file
* refactor: pagination for order by timestamp
* fix: full text body contain issue
* refactor: inverted the operator for next and previous button config
* refactor: rename variable handle light mode
* fix: no log issue
* chore: renamed variables
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat: api keys crud - integration v0.1
* feat: add test cases
* fix: add review comments
* feat: api integration and ui updates
* feat: update test cases
* feat: update expiriesAt request payload
* feat: ui feedback updates
* feat: api keys crud - integration v0.1
* feat: add test cases
* fix: add review comments
* feat: api integration and ui updates
* feat: update test cases
* feat: update expiriesAt request payload
* feat: ui feedback updates
* feat: handle light mode styles
* feat: hide pagination on single page
* feat: do not show last used if not present or 0
* feat: show tooltip on role
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* chore: base file for logs explorer jest test cases
* chore: added base setup for logs explorer jest fixing the uplot/d3-interpolate/antd-config errors
* chore: added test for rendering of logs explorer page without API calls
* chore: added test for rendering of logs with API call
* chore: used virutoso mock to render items on the screen
* chore: used virutoso mock to render items on the screen
* chore: update dummy data
* feat: api management
* chore: address review comments and typos
* chore: add sort and created by user object on create
* chore: replace expiresAt with expiresInDays for request body
* fix: date time value retain on location switch
* chore: added inline comments
* feat: added shortcut strings based on user os
* feat: added shortcut strings based on user os
* feat: added shortcut strings based on user os
* feat: added shortcuts page in the side nav
* fix: update shortcuts for add to dashboard and alerts
* fix: cmd+enter should stage and run query
* chore: refactor the shortcuts utils
* feat: support run query even when input is focussed
* fix: dropdown visibility change
* feat: add shortcuts for sideNav
* feat: auto focus logs explorer search bar with hotkey
* fix: update the shortcuts for sideNav and dependencies
* fix: remove dashboard and alert shortcuts
* fix: minor typo changes
* feat: support cache in logs
* fix: revert fluxinterval changes
* feat: support for limit queries
* feat: support for formula
* fix: refractor code and don't return all points
* fix: add nil params check
* fix: error handling updated
* fix: start and end params fix
* feat: logs explorer - new design
* feat: update styles
* feat: added new toolbar for logs explorer (#4336)
* feat: logs list view changes (#4348)
* feat: logs list view changes
* fix: list view and toolbar styles
* feat: side btns
* feat: added auto refresh handler
* feat: handle popover close for btn click date time
* feat: extract the common log actions btn component
* feat: update the button for log line actions
* fix: event propagation from context button
* feat: use styles from ui-library
* Query builder design update (#4359)
* feat: QB design update
* fix: add functionality and light mode styles
* fix: ts issues
* fix: update all css color variables to correct names
* fix: lint errors
* feat: new table view for logs explorer list section (#4353)
* feat: table view changes for logs list
* feat: code refactor to support log line actions
* feat: code refactor to support log line actions
* fix: the positioning of the btns
* feat: fix the table onclick
* fix: header issue
* fix: on hover
* fix: type issue
* fix: eslint error
* fix: type errors (#4360)
* feat: handle light theme for logs explorer design changes (#4363)
* feat: handle light theme for list tables and dateTime selection
* feat: handle light theme for popover
* fix: address review comments
* feat: date time custom time modal to render inside the new popover (#4366)
* feat: single calender for range picker
* fix: edgecases
* feat: integrate date time selector across app
* fix: remove dangling border after element removal
* feat: handle qb design changes across the application
* feat: handle light theme
* feat: handle light theme
* fix: virtuoso scroll refresh issue
* feat: handle new typing changes for date time picker v2 (#4386)
Co-authored-by: Yunus M <myounis.ar@live.com>
* chore: styles improvement across new design (#4389)
* fix: improve date time styles
* feat: table view changes according to new design
* fix: button visibility in clickhouse and promQL headers (#4390)
* feat: change the tabs to new design buttons for query builder
* Settings theme change (#4368)
* feat: settings theme change
* [Refactor]: New design for Log details page (#4362)
New design for Log details page
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: save view for new design (#4392)
* feat: save view for new design
* refactor: done with save view
* feat: update styles for logs detail view (#4407)
* feat: update styles for logs detail view
* feat: update styles for logs detail view
* feat: add raw view attributes in the logs list view (#4422)
* feat: add raw view attributes in the logs list view
* feat: add raw view attributes in the logs list view
* fix: raw attributes
* fix: logs UI improvements (#4426)
* fix: remove fixed times from the date time picker v2
* fix: added old logs explorer CTA in new designs
* feat: handle active logs indicator update
* fix: address review comments
* fix: old logs explorer page
* fix: remove info text and add relative time buttons
* fix: update logs explorer tab designs
* fix: update logs explorer tab designs
* fix: update logs explorer tab designs
* refactor: New design for Save views. (#4435)
* feat: [GH-4436]: date range enhancements (#4448)
* feat: [GH-4436]: when selecting custom time range it should be from start of day to end of date
* fix: custom time width and refresh text visibility issues (#4428)
---------
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: update ui (#4449)
* feat: added loading and error states for logs design (#4452)
* feat: added loading and error states for logs design
* feat: added error states for table view and time series view
* feat: handle error and loading states
* feat: loading states
* [Refactor]: Tab Switch deplay issue and UI improvement for Clickhouse (#4409)
* fix: switching between logs display tabs (#4457)
* [Feat]: View in Traces (#4450)
* refactor: datetime selector beside run query removed add to dashboard
* refactor: added tab for traces view details page
* refactor: done with the save view in traces
* fix: the gittery effect when navigatigating from views
* refactor: view tab view title light mode support
* refactor: removed console
* fix: gittery effect when switch view from views tabs
* refactor: separate traces routes
* refactor: remove query params
* chore: fix tsc issues
* fix: jest config issues
* fix: update TODO and remove extra braces
* feat: handle loading states and incorporate ui feedback (#4479)
* UI feedback updates (#4482)
* feat: handle loading and fix ui issues
* feat: ui updates
* fix: logs explorer issues (#4483)
* fix: logs explorer issues
* fix: jest test cases
* feat: support custom times unique to pages new design changes (#4485)
* fix: loading states for list log view (#4486)
* fix: logs search view query fix, logs details view - attribute tags alignment fix (#4489)
* fix: delete empty file
* fix: chart loading when scrolling logs (#4495)
* fix: chart should not load when scrolling the logs as it is already fetched
* fix: make the search bar as default rather than advanced options
* fix: rename show context to show in context
* fix: query range api not triggering on default select first load (#4498)
* Refactor: Log Explorer UI changes. (#4502)
* refactor: used selected view enum
* refactor: updated hight of switch old button and tab border
* refactor: import fixes
* refactor: query builder border and button groups
* refactor: removed hypen from refreshed
* refactor: show delete button only when there is more than one query
* refactor: sqaure up the query build button groups
* refactor: updated css
* fix: additional filter color button shadow
* refactor: removed commented code and used selected panel enum
* refactor: updated typecheck script
* refactor: used enum selected view (#4504)
* fix: retain the current query on date time change (#4510)
* feat: added new icon for promQL and added tooltips for dashboards and alerts (#4512)
* feat: added new icon for promQL and added tooltips for dashboards and alerts
* fix: styles at 1440 px zoom
* fix: rename clickhouse to clickHouse
---------
Co-authored-by: Vikrant Gupta <54737045+Vikrant2520@users.noreply.github.com>
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* feat: setup the context for keyboard hotkeys
* feat: add error handling for duplicate callbacks
* feat: supported added for caps and document the return value
* feat: added shortcut for cmd+b for sideNav open and close
* feat: added jest test
* fix: address review comments
* fix: block the browser default actions wherever possible
* fix: remove browser ovverides prevention code
about: Request a new dashboard for the SigNoz Dashboards repository
title: '[Dashboard Request] '
labels: 'dashboard-template'
assignees: ''
---
<!-- Use this template to request a new dashboard for the SigNoz Dashboards repository. Providing detailed information will help us understand your needs better and speed up the dashboard creation process. -->
## Dashboard Name
<!-- Provide the name for the requested dashboard. Be specific (e.g., "MySQL Monitoring Dashboard"). -->
## Expected Dashboard Sections and Panels
(Can be tweaked (add or remove panels/sections) according to available metrics)
### Section Name
<!-- Brief description of what this section should display (e.g., "Resource usage metrics for MySQL database"). -->
### Panel Name
<!-- Description of the panel (e.g., "Displays current CPU usage, memory usage, etc."). -->
<!-- -**Example:**
-**Section**: Resource Metrics
-**Panel**: CPU Usage - Displays the current CPU usage across all database instances.
-**Panel**: Memory Usage - Displays the total memory used by the MySQL process. -->
<!-- Repeat this format for any additional sections or panels. -->
## Expected Dashboard Variables
<!-- List any dashboard variables that should be included in the dashboard. Examples could be `deployment.environment`, `hostname`, `region`, etc. -->
## Additional Comments or Requirements
<!-- Include any other details, special requirements, or specific visualizations you'd like to request for this dashboard. -->
## References or Screenshots
<!-- Add any references or screenshots of requested dashboard if available. -->
## 📋 Notes
Please review the [CONTRIBUTING.md](https://github.com/SigNoz/dashboards/blob/main/CONTRIBUTING.md) for guidelines on dashboard structure, naming conventions, and how to submit a pull request.
# 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)
- [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^`](#)**
<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](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)
<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^`](#)**
<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)
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 ask the maintainers to assign the issue to you before starting work on it. This would help us understand who is working on an issue and prevent duplicate work. 🙏🏻
⚠️ If you just raise a PR, without the corresponding issue being assigned to you - it may not be accepted.
**[`^top^`](#)**
<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^`](#)**
## 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^`](#)**
<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^`](#)**
<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:
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">Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc.</p>
</p>
<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>
SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications. With SigNoz, you can:
👉 Visualise Metrics, Traces and Logs in a single pane of glass
👉 You can see metrics like p99 latency, error rates for your services, external API calls and individual end points.
👉 You can find the root cause of the problem by going to the exact traces which are causing the problem and see detailed flamegraphs of individual request traces.
👉 Run aggregates on trace data to get business relevant metrics
👉 Filter and query logs, build dashboards and alerts based on attributes in logs
👉 Record exceptions automatically in Python, Java, Ruby, and Javascript
Use SigNoz APM to monitor your applications and services. It comes with out-of-box charts for key application metrics like p99 latency, error rate, Apdex and operations per second. You can also monitor the database and external calls made from your application. Read [more](https://signoz.io/application-performance-monitoring/).
You can [instrument](https://signoz.io/docs/instrumentation/) your application with OpenTelemetry to get started.
SigNoz can be used as a centralized logmanagement solution. We use ClickHouse (used by likes of Uber & Cloudflare) as a datastore, ⎯ an extremely fast and highly optimized storage for logs data. Instantly search through all your logs using quick filters and a powerful query builder.
### Infrastructure Monitoring
You can also create charts on your logs and monitor them with customized dashboards. Read [more](https://signoz.io/log-management/).
Distributed Tracing is essential to troubleshoot issues in microservices applications. Powered by OpenTelemetry, distributed tracing in SigNoz can help you track user requests across services to help you identify performance bottlenecks.
See user requests in a detailed breakdown with the help of Flamegraphs and Gantt Charts. Click on any span to see the entire trace represented beautifully, which will help you make sense of where issues actually occurred in the flow of requests.
Ingest metrics from your infrastructure or applications and create customized dashboards to monitor them. Create visualization that suits your needs with a variety of panel types like pie chart, time-series, bar chart, etc.
Create queries on your metrics data quickly with an easy-to-use metrics query builder. Add multiple queries and combine those queries with formulae to create really complex queries quickly.
Use alerts in SigNoz to get notified when anything unusual happens in your application. You can set alerts on any type of telemetry signal (logs, metrics, traces), create thresholds and set up a notification channel to get notified. Advanced features like alert history and anomaly detection can help you create smarter alerts.
Alerts in SigNoz help you identify issues proactively so that you can address them before they reach your customers.
Monitor exceptions automatically in Python, Java, Ruby, and Javascript. For other languages, just drop in a few lines of code and start monitoring exceptions.
See the detailed stack trace for all exceptions caught in your application. You can also log in custom attributes to add more context to your exceptions. For example, you can add attributes to identify users for which exceptions occurred.
SigNoz is a single tool for all your monitoring and observability needs. Here are a few reasons why you should choose SigNoz:
- Single tool for observability(logs, metrics, and traces)
- Built on top of [OpenTelemetry](https://opentelemetry.io/), the open-source standard which frees you from any type of vendor lock-in
- Correlated logs, metrics and traces for much richer context while debugging
- Uses ClickHouse (used by likes of Uber & Cloudflare) as datastore - an extremely fast and highly optimized storage for observability data
- DIY Query builder, PromQL, and ClickHouse queries to fulfill all your use-cases around querying observability data
- Open-Source - you can use open-source, our [cloud service](https://signoz.io/teams/) or a mix of both based on your use case
## Getting Started
### Create a SigNoz Cloud Account
SigNoz cloud is the easiest way to get started with SigNoz. Our cloud service is for those users who want to spend more time in getting insights for their application performance without worrying about maintenance.
[Get started for free](https://signoz.io/teams/)
### Deploy using Docker(self-hosted)
Please follow the steps listed [here](https://signoz.io/docs/install/docker/) to install using docker
The [troubleshooting instructions](https://signoz.io/docs/install/troubleshooting/) may be helpful if you face any issues.
<p>  </p>
### Deploy in Kubernetes using Helm(self-hosted)
Please follow the steps listed [here](https://signoz.io/docs/deployment/helm_chart) to install using helm charts
<br/><br/>
We also offer managed services in your infra. Check our [pricing plans](https://signoz.io/pricing/) for all details.
## Join our Slack community
@@ -78,64 +140,22 @@ Come say Hi to us on [Slack](https://signoz.io/slack) 👋
<br/><br/>
## Features:
- Unified UI for metrics, traces and logs. No need to switch from Prometheus to Jaeger to debug issues, or use a logs tool like Elastic separate from your metrics and traces stack.
- Application overview metrics like RPS, 50th/90th/99th Percentile latencies, and Error Rate
- Slowest endpoints in your application
- See exact request trace to figure out issues in downstream services, slow DB queries, call to 3rd party services like payment gateways, etc
- Filter traces by service name, operation, latency, error, tags/annotations.
- Run aggregates on trace data (events/spans) to get business relevant metrics. e.g. You can get error rate and 99th percentile latency of `customer_type: gold` or `deployment_version: v2` or `external_call: paypal`
- Native support for OpenTelemetry Logs, advanced log query builder, and automatic log collection from k8s cluster
- End-to-End visibility into infrastructure performance, ingest metrics from all kinds of host environments
- Easy to set alerts with DIY query builder
<br/><br/>
## Why SigNoz?
Being developers, we found it annoying to rely on closed source SaaS vendors for every small feature we wanted. Closed source vendors often surprise you with huge month end bills without any transparency.
We wanted to make a self-hosted & open source version of tools like DataDog, NewRelic for companies that have privacy and security concerns about having customer data going to third party services.
Being open source also gives you complete control of your configuration, sampling, uptimes. You can also build modules over SigNoz to extend business specific capabilities
### Languages supported:
We support [OpenTelemetry](https://opentelemetry.io) as the library which you can use to instrument your applications. So any framework and language supported by OpenTelemetry is also supported by SigNoz. Some of the main supported languages are:
SigNoz supports all major programming languages for monitoring. Any framework and language supported by OpenTelemetry is supported by SigNoz. Find instructions for instrumenting different languages below:
You can find the complete list of languages here - https://opentelemetry.io/docs/
<br/><br/>
## Getting Started
### Deploy using Docker
Please follow the steps listed [here](https://signoz.io/docs/install/docker/) to install using docker
The [troubleshooting instructions](https://signoz.io/docs/install/troubleshooting/) may be helpful if you face any issues.
<p>  </p>
### Deploy in Kubernetes using Helm
Please follow the steps listed [here](https://signoz.io/docs/deployment/helm_chart) to install using helm charts
You can find our entire documentation [here](https://signoz.io/docs/introduction/).
<br/><br/>
@@ -144,9 +164,11 @@ Please follow the steps listed [here](https://signoz.io/docs/deployment/helm_cha
### SigNoz vs Prometheus
Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics and traces, then current experience of stitching together Prometheus &Jaeger is not great.
Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics, logs and traces, then current experience of stitching together Prometheus &other tools is not great.
Our goal is to provide an integrated UI between metrics & traces - similar to what SaaS vendors like Datadog provides - and give advanced filtering and aggregation over traces, something which Jaeger currently lack.
SigNoz is a one-stop solution for metrics and other telemetry signals. And because you will use the same standard(OpenTelemetry) to collect all telemetry signals, you can also correlate these signals to troubleshoot quickly.
For example, if you see that there are issues with infrastructure metrics of your k8s cluster at a timestamp, you can jump to other signals like logs and traces to understand the issue quickly.
<p>  </p>
@@ -158,6 +180,7 @@ Moreover, SigNoz has few more advanced features wrt Jaeger:
- Jaegar UI doesn’t show any metrics on traces or on filtered traces
- Jaeger can’t get aggregates on filtered traces. For example, p99 latency of requests which have tag - customer_type='premium'. This can be done easily on SigNoz
- You can also go from traces to logs easily in SigNoz
<p>  </p>
@@ -195,17 +218,25 @@ Not sure how to get started? Just ping us on `#contributing` in our [slack commu
# 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.