* 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
* refactor: added null check while searching for dashboard
* refactor: flitering null value out
* chore: removed extra space
* refactor: remove unnecessary null check
* refactor: conditional based apdex on metrics and trace query range
* chore: add invalid float conversion
* Revert "refactor: conditional based apdex on metrics and trace query range"
This reverts commit ca44a7aedd.
* refactor: added servicename to the query params
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: autosave layout to layout change
* fix: autosave layout to layout change
* refactor: no update api call on opening dashboard
* refactor: removed extra put api call
* refactor: if condition changed
---------
Co-authored-by: Rajat-Dabade <rajat@signoz.io>
* feat: custom date time value
* fix: update custom date picker
* fix: old placeholder value flicker
* fix: html semantics and move styles to css
* fix: remove console logs
---------
Co-authored-by: Vikrant Gupta <vikrant.thomso@gmail.com>
* feat: soft min and soft max in uplot chart
* fix: build pipeline
* fix: tsc
* refactor: added test case
* refactor: updated logic and added unit test
* refactor: updated logic
* chore: removed placeholder
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: update sidebar and base theme styles
* feat: update sidebar items and styles
* feat: wire up logs navigation and update user settings page
* feat: update styles to handle light mode, add full view header
* feat: update onboarding header and styles
* feat: remove unused routes
* feat: handle sidebar collapse
* feat: show pointer on logo hover
* feat: fix logs module navigations
* feat: update logo click route
* feat: update entity name color to primary in application and dashboard tables
* feat: update sidebar item styles
* feat: update collapse icon and styles
* fix: name not updated in menu on change
* fix: show invite members nav item
* fix: open invite members modal on invite team member nav item click
* chore: update BuilderQuery struct and add PrepareTimeseriesFilterQuery
* chore: add prepare query for cumulative/unspecified timeseries
* chore: add prepare query for delta/unspecified timeseries
* chore: update group by to work with 23.11+
* chore: fix test
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* chore: panic if agent config recommendation can't be generated
* chore: add case with coalesce op in field nil check generation tests
* fix: ignore expr ast member nodes that contain coalesce op in them
* refactor: added 3 days global timestamp
* refactor: updated 3 days data in right container
* refactor: common function for calculate start and end time
* chore: add test validating contains and ncontains in pipeline filter are case insensitive
* chore: qb2expr: translate contains and ncontains to case insensitive comparison
* chore: minor cleanup
* chore: add test validating that using paths like attributes["http.method"] works
* chore: refactor nil checks on processor fields generated for pipelines
* chore: get nil checks working on paths like attributes["http.method"]
* chore: use parsed AST for generating nil checks for add operator value expressions
* chore: some cleanup
* chore: some more cleanup
* chore: some more cleanup
* chore: some more cleanup
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: show rate limit warning in services page when total rps > 100
* feat: update message
* feat: rate limit message should be shown only to cloud users on trail
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* chore: add support for showing attrib names containing dots in log details
* chore: add support for field names with dot in filter actions
* chore: minor cleanup
* chore: add support for filtering by clicking fields with dots in log details
* fix: dot support
* fix: column name updated for materialized columns
* fix: tests updated
* fix: comments updated
* fix: enrichment test updated
* fix: dont return underscore fields in the fields API
* fix: update fields function changed to support default instead of materialized
* fix: updated how formulas are built and test added
* fix: don't create index for bool attributes
* fix: support for limit queries updated
* chore: add test validating pipeline config containing dollar works
* chore: collector simulator: use fileprovider with expandconverter like actual collector
* chore: get tests passing
* chore: take a configGenerator func in simulation and unify config generation logic
* fix: escape $ in config generated for log pipelines
* fix: lettercase bug in query-builder
* fix: suggesting similar value when entering diffrnt case value
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: round of x axis max timestamp to t - 1 min and 0th second
* feat: set min width of time selection dropdown to 120px
* feat: update logic comment
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: show range bound chart based on the selected time range
* feat: handle no data
* feat: show bigger point if only data point exists
* feat: show bigger point if only data point exists
* feat: widget ui fixes
* feat: no data - full view fix
* fix: show closed point on hover
* feat: handle widget time preference in case of dashboard, edit view, full view and chart preview
* chore: add processor config for time parsing processor
* chore: add select input and processor fields with enumerated options
* feat: set timestamp layout to default value when layout_type is changed
* chore: minor cleanup
* chore: some more cleanup
* chore: some more cleanup
* chore: get jest passing
* chore: normalize ts in pipelines previews input and output
* chore: some cleanup
* fix: set correct field id for timestamp format input
* chore: update test helper for making logs
* chore: add happy case test for severity parser
* feat: get severity parsing processor working and add more happy path tests
* chore: add test for validating severity parser doesn't spam collector logs
* chore: add if condition to generated severity_parser operators
* chore: add postablePipeline validation for severity parser
* chore: minor cleanup in tests
* chore: allow trace and fatal in severity mappings
* chore: relocate tests for trace and grok parsing processor
* chore: add test for timestamp parsing processor
* feat: update PipelineOperator model for time parser fields and get tests passing
* chore: add test cases for validating time parser fails silently on mismatched logs
* chore: add helper for generating regex for strptime layouts
* feat: time_parser ignore logs whose parseFrom value doesn't match strptime layout
* chore: escape regex special chars if any in the layout string before preparing regex
* chore: add operator.If on time_parser when using layout type epoch
* chore: finish up with operator.If on time_parser for layout type
* chore: postable pipeline validation for time parser
* chore: some cleanup
* chore: some more cleanup
* chore: add validation for strptime layouts in postable pipelines
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: logs pipelines: add test for validating workaround for working with dots in keys
* fix: temp workaround for supporting pipeline filters using names with dots converted to underscore
* chore: add test validating collector doesn't spam logs for string ops on missing attributes
* fix: pipelines filter: check if attrib is not nil before running string operator
* chore: do a nil check for all but == and != ops
* fix: handle nan in uplot
* feat: filter for nan is added for metrics
* feat: filter for nan is added for metrics
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: improve dashboard view user experience
* chore: dashboard ux is updated
* feat: add inter font and set font family in theme configuration
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: logs pipelines: add help text with link to pipeline docs
* chore: add logs pipelines list empty state with help video and link to docs
* chore: minor cleanup
* chore: update test snapshot
* chore: dont show table & filter in pipeline lists empty state
* chore: add sandbox constraints to logs pipelines empty state video iframe
* chore: update test snapshot
* fix: improve user telemetry
- move GetEmailFromJwt to common function
- update AttachJwtToContext() to use standard way of attaching value to context
- update userEmail in every possible sendEvent call
- send groupId in sendEvent call for SaaS operator analytics
* chore: added DEFAULT_CLOUD_EMAIL const
* chore: add AttachJwtToContext to analytics middleware
* test: added AttachJwtToContext to logs pipelines
* feat: fill span gaps is added
* chore: build is fixed
* chore: get fill spans is updated
* chore: console is removed
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: done with the basic design
* refactor: started working with functionality
* refactor: done with saving the thresholds
* refactor: done with coloring and conflicting threshold in value chart
* refactor: done with the backgound color and text
* refactor: done with unit in value graphs
* refactor: done with precedence and drag and drop
* refactor: removed the unwanted console
* chore: updated snapshot and test
* refactor: support for dark mode
* refactor: done with the review changes
* refactor: removed the extra created file
* refactor: tsc fixes
* refactor: updated border color
* refactor: updated required mark
* refactor: added missing props
* refactor: tsc fixes
* refactor: addressed review comments
* feat: uplot graph is added and some re-rendering is reduced
* chore: uplot is updated
* feat: changes for the graph is updated
* refactor: added y-axis unit in uplot graph (#3818)
* refactor: added y-axis unit in uplot graph
* refactor: removed the ticks stroke from both access
* feat: create tooltip plugin for uplot charts (#3823)
* feat: create tooltip plugin for uplot charts
* feat: show labels in legends section
---------
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: uplot points is handled (#3817)
* chore: resize is updated
* chore: uplot chart dark mode is updated
* chore: widget is updated
* chore: options is updated
* chore: value panel is updated
* feat: uplot chart is updated
* feat: onDrag is updated
* feat: data for graph is updated
* feat: alert section is fixed
* feat: not found is updated
* feat: fix dashboard title section and other uplot parity issues (#3839)
* feat: fix dashboard title section and other uplot parity issues
* feat: update scrollbar style for legend container
* chore: initial width is updated
* feat: onlcick is updated
* feat: widget full view fixes (#3847)
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: show labels in tooltip overlay (#3867)
* chore: memo is added
* feat: toggle is updated
* fix: Tooltip values is now fixed (#3894)
* chore: tooltip is updated
* chore: avoided the compute based on show
* chore: tooltip data is updated
* feat: resize graph based on the y axis max label length (#3895)
* chore: build is in progress to fix
* [Feat]: Full View (#3896)
* fix: initial setup for full view done
* refactor: done with the graph manager logic
* refactor: done with the toggle issue in full view
* refactor: done with toggle of data
* refactor: done with legend to table mapping
* refactor: ts error
* chore: utils is updated
* refactor: updated types
* fix: option type fix
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: use spline renderer to plot curved line graphs, full view impor… (#3919)
* feat: use spline renderer to plot curved line graphs, full view imporvements
* feat: increase min height for panel
* chore: move code to utils and plugins in uplot folder
* chore: update tooltip styles
* fix: add panel issue in dashboard (#3920)
* fix: update on click plugin opts import path
* feat: replace time series graph in logs explorer and trace explorer with uplot (#3925)
* feat: alert threshold is added (#3931)
* feat: uplot styles are fixed (#3941)
* Fix/app dex aligment (#3944)
* feat: uplot styles are fixed
* fix: app dex aligment
* fix: full view after saving is fixed
* feat: css is updated (#3948)
* feat: on click handler position - factor in the padding on top and left
* fix: timestamp for start and end is updated for view trace (#3966)
* fix: timestamp for start and end is updated for view trace
* chore: timestamp is added
* fix: loading over flow is fixed (#3969)
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: create menu items is added in the service application widgets
* chore: filter query is updated
* fix: build is fixed
* feat: selected query is updated
* chore: create alerts is updated
* feat: dashboard alerts is updated
* chore: spacing is updated
* feat: dashboard to alerts is updated
* fix: build is fixed
* feat: alert query options is updated
* chore: menu list is updated for tabel panel
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: return warning logs too from collector simulator
* chore: also return collector logs in preview API response to help with debugging
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: dashboard lock feature
* feat: update API method and minor ui updates
* feat: update API and author logic
* feat: update permissions for author role
* feat: use strings and remove console logs
* refactor: global time range downdown for alert edit page
* refactor: respect global time range for alerts
* refactor: some ui fixes
* refactor: added global time range in alert new page
* fix: custom time selection in alert
* fix: the run query works
* refactor: remove the routes pipeline
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* chore: experiment with using a tmp file for getting collector logs in simulator
* chore: collector simulator: cleaned up tmp file based collector logs capture
* chore: add test validating regex proc doesn't error for logs that dont match
* chore: return collector error logs from pipeline preview API
* chore: add test validating regex processor doesn't log errors for mismatched logs
* chore: add if condition for generated regex processors
* chore: add test case validating json parser ignore non json logs
* chore: add if condition for operator generated for json parser
* chore: add test case validating move processor ignores logs with missing field
* chore: add if condition for operator generated for move
* chore: add test case validating copy processor ignores logs with missing field
* chore: add if condition for operator generated for copy
* chore: add test case validating remove processor ignores logs with missing field
* chore: add if condition for operator generated for remove
* chore: log pipelines: ensuring json parser ignores log if json field is missing
* chore: log pipelines: ensure regex parser ignores log if field is missing
* chore: update logs pipelines title and routes
* chore: add nav for logs pipelines
* feat: debounced pipelines sarch on change, navigation text changes
* fix: get lint passing
* fix: update snapshots for tests
---------
Co-authored-by: Yunus A M <myounis.ar@live.com>
* fix: remove the space and fix the classname
* refactor: made the dynamicColumnsTable-items responsive
* fix: setcolumndata to a separate function
* fix: handle invalid CreatedOrUpdateTime
* fix: hyphenate classname and bme
* refactor: move the implementation to separate component
* refactor: removed the bydefault render
* refactor: remove render
* refactor: removed unwanted imports
* fix: remove the space and fix the classname
* refactor: made the dynamicColumnsTable-items responsive
* fix: setcolumndata to a separate function
* fix: handle invalid CreatedOrUpdateTime
* fix: hyphenate classname and bme
* refactor: move the implementation to separate component
* refactor: removed the bydefault render
* refactor: remove render
* fix: the classname
* refactor: done with the download option for key-operation
* refactor: added search option for key operation metrics
* refactor: done with the download option for key-operation
* refactor: added search option for key operation metrics
* refactor: updated downloadable data
* refactor: updated downloadable data for metrics key operation
* refactor: updated the data
* refactor: map with the correct value for export
* refactor: updated downloabable data for metrics
* refactor: updated the data for metrics
* refactor: added safety check
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: fe: log pipelines: label and icon for deploy status 'UNKNOWN'
* fix: handle scenarios when response.payload?.pipelines is undefined (eg: post delete all)
* chore: add trace parser fields to log pipeline ProcessorData interface
* chore: update trace parsing processor form field configs
* chore: logs pipeline preview: better display of sample logs when too few logs in sample
* fix: log pipelines: get tests passing: remove name prop passed to antd input
* chore: add test for ensuring pipeline previews work for trace parser processors
* chore: updates to trace parser validation in postable pipelines
* chore: extract auth.randomHex into utils.RandomHex for reuse
* chore: get trace parser preview test passing
* chore: start with JSON serialized trace parser in test to cover deserialization
* chore: address PR feedback
* feat: added dropdown in alert list table
* refactor: done with combining actions
* feat: done with label and dynamic table
* feat: dynamic column in table
* chore: show all label on hover
* refactor: create to created timestamp - highlighted action
* refactor: storing the column data in localstorage
* chore: add test for previewing pipeline with grok parser
* chore: import grok parser in logparsing preview to ensure its a registered logtransform op
* chore: add dependencies for grok parsing operator
* chore: pass dirty pipeline to preview action when editing
* chore: update snapshot for pipeline lists view
* chore: log pipelines list view: refactor dirty pipeline state management
* chore: use memoized value for filtered pipelines instead of useEffect based updates
* chore: update pipeline reorder logic to work on filtered view too
* chore: minor cleanup
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* chore: mocked the date object
* chore: shifted utility function to utils
* chore: commented the blocking test case
* refactor: getremainingdays generic
* chore: get working and add config for opamp managed collector
* chore: add config for opamp managed collector to pkg/query-service/tests/test-deploy/
* chore: add config for opamp managed collector to docker-swarm deployment
* chore: update signoz-otel-collector image version & specify --copy-path
* chore: retain root user comment in docker-compose-core.yaml
* chore: update collector image tag in swarm conf and add qs dependencies
* chore: some more cleanup
* refactor: setup wrapper for all the providers
* refactor: done with unit test configuration and service layer testing
* refactor: checking for multiple services
* refactor: updated test cases added table sort
* refactor: moved hooks mocking to test-utils
* refactor: added the search test case
* refactor: updated the handler with mocks data
* chore: pass dirty pipeline to preview action when editing
* chore: show pipeline actions when clicking New Pipeline for the 1st time
* chore: ensure pipeline previews work for disabled pipelines too
* chore: show preview action on pipelines when not editing
* chore: update snapshot for pipeline lists view
Switched all file operations from ioutil package to io and os packages due to the deprecation of ioutil in Go 1.16. This change contributes to the maintainability of the codebase, ensuring it's up-to-date with the current standard library. Additionally, implemented usage of filepath.Join for platform-independent file paths.
* fix: update version check login and other minor UI fixes
* fix: update text in billing page
* fix: remove useEffect and replace with onSuccess and fix remaining days bug
* feat: integrate billing api and wire up billing ui
* feat: show billing to admin only if on plans other than basic plan
* feat: show billing to admin only if on plans other than basic plan
* feat: update notfound snapshot
* chore: fix billing sidenav logic
* chore: fix several bugs
* chore: backend fix for billing
* fix: window.open pop blocker issue and error ui (#3750)
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* chore: add integration test for log pipelines being recommended to agents on connection
* chore: agentConf.Manager as AgentConfigProvider
* feat: logparsingpipelines as an AgentFeature
* chore: some cleanup
* feat: update agentConf init in ee query-service
* chore: more cleanup and move opamp/logspipeline -> logparsingpipeline/collector_config.go
* chore: some more cleanup
* chore: set agent.RemoteConfig after broadcasting conf to all agents
* chore: add test scenario for post remote conf application
* feat: add interface for opamp.AgentConfigProvider
* feat: add iface and plumbing for generating recommended conf in opamp/agent
* feat: get opamp server config provider tests started
* chore: add test scenario for agent connection without a config recommendation
* chore: add test scenario for agent connection with a config recommendation
* chore: add test for validating config deployment status gets reported
* chore: add test for rolling out latest config recommendations when config changes
* chore: wrap up opamp server lifecycle tests
* chore: some tests cleanup
* chore: get all tests passing
* chore: update opamp server init logic in ee query service
* chore: some cleanup
* chore: some final cleanup
* feat: add pipeline preview API
* chore: separate PipelineActions and ProcessorActions components
* feat: add pipeline preview action
* chore: extract useSampleLogs hook and move SampleLogs to filter preview components
* chore: extract SampleLogsResponseDisplay for reuse
* feat: bring together pipeline preview modal content
* chore: generalize SampleLogsResponse to LogsResponse
* feat: finish wiring up pipeline preview flow
* chore: separate response models for useSampleLogs and usePipelinePreview
* chore: require explicit action for simulation after changing logs sample search interval
* feat: error and empty state for pipeline simulation result
* chore: look for error in sample logs response data too
* chore: remove tests for deleted component & update snapshot for PipelineAction tests
* chore: minor cleanup
* chore: address feedback: move timestamp normalization out of api file
* chore: address feedback: use axios directly in pipeline preview API call
* chore: address feedback: use REACT_QUERY_KEY constant for useQuery key
* chore: minor cleanup
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: hoc to support markdown content with variable interpolation
* feat: add ingestion settings page
* feat: update ingestion settings page and java docs to use interpolation
* feat: integrate ingestion info API and update docs components to use ingestion info
* feat: address review comments and update <my-app> to <servive-name>
* feat: add logsparsingpipeline controller api for pipeline previews
* feat: add http handler and route for generating pipeline previews
* feat: use a response model for pipeline previews response
* chore: rename model.GetLogsResponse -> model.SignozLog for use in both requests and responses
* feat: add test for simulating log pipelines processing
* feat: get pipeline preview tests passing
* chore: cleanup
* feat: dashboard widget page is refactored
* chore: key is updated
* chore: delete widget is updated
* chore: naming of the file is updated
* feat: dashboard changes are updated and selected dashboard and dashboardId is added
* chore: dashboard widget page is updated
* feat: setlayout is updated
* chore: selected dashboard is updated
* chore: dashboard is updated
* fix: feedback is updated
* chore: comments are resolved
* chore: empty widget id is updated
* fix: variables is updated
* chore: dashboard variable and name,description is now updated in hooks
* chore: build is fixed
* chore: loading experience is updated
* chore: title is updated
* fix: dashboard variables and other changes are updated
* feat: dashboard reducer is removed
* feat: widget header is updated
* feat: widget header is updated
* chore: dashboard is updated
* chore: feedback is updated
* fix: issues are fixed
* chore: delete is updated
* chore: warning message is updated
* chore: warning message is updated
* chore: widget graph component
* feat: dashboard condition is updated
* chore: getChartData is updated
* chore: widget details page is updated
* feat: tab sync is updated
* chore: layout is updated
* chore: labels is updated
* chore: message is updated
* chore: warining message is updated
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: lowercase operators suuport in the where clause is updated
* feat: options is now updated
* chore: log message is updated
* chore: auto completed is updated
* chore: tagRegex is updated
* feat: update regex to math operators and text operators
* chore: operator is updated
* chore: options is updated
---------
Co-authored-by: Yunus A M <myounis.ar@live.com>
* feat: get collectorsimulator started and add inmemoryreceiver
* feat: add collectorsimulator/inmemoryexporter
* feat: add collectorsimulator.SimulateLogsProcessing
* chore: clean up collector simulator code a little
* chore: update go.sum entries for cors
* chore: add collectorsimulator tests to make cmd
* chore: move to latest dependency version for collectorsimulator
* chore: revert to dependency versions matching signoz-otel-col
* chore: cleanup: reorganize collectorsimulator logic
* chore: some more cleanup
* chore: some more cleanup
* chore: some more cleanup
* chore: redo go.mod
* feat: query builder formula is updated
* feat: formula is updated for having and limit
* feat: orderBy is updated
* feat: formula is added
* chore: add query-service support for formula limit and order by
* feat: enable more filters is displayed when all data source is metrics
* chore: feedback is updated
* chore: feedback is updated
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Rajat Dabade <rajat@signoz.io>
From the Go specification [1]:
"1. For a nil slice, the number of iterations is 0."
"3. If the map is nil, the number of iterations is 0."
Therefore, an additional nil check for before the loop is unnecessary.
[1]: https://go.dev/ref/spec#For_range
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
* chore: use v3.Filterset as pipeline filters in logparsing pipelines integration tests
* chore: get logparsing integration tests passing with filterset based pipeline
* chore: get all other breaking tests passing
* chore: move models.logparsingpipeline to logparsingpipeline.model
* chore: implement Valuer and Scanner interfaces for v3.FilterSet
* feat: old logs explorer is now deprecated
* chore: logs to trace is updated
* chore: min and max time is added
* chore: new explorer cta button is updated
* feat: limit filter is enabled in the metrics filters
* chore: orderBy is enabled for metrics data source
* chore: fix table type limit and order by
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: tree is updated to show different node values instead of editor
* chore: table view is updated
* [Refactoring]: Seperate title and menu to another component (#3531)
* refactor: separated the title renderer
* refactor: separated styles
* refactor: seperate types
* refactor: instead of key showing value if array (#3532)
* refactor: instead of key showing value if array
* feat: added filter for array and also nodekey
* refactor: made common check for value is array
* refactor: changed the key to value for arrays
* chore: getData types is updated
* chore: getDataTypes function types is updated
* refactor: connection to querybuilder (#3535)
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: operator is updated
* fix: build is fixed
* fix: build is fixed
* chore: operator is updated
* chore: operator is updated
* chore: parsing is updated
* chore: key is updated
* Refactor: Log parsing updates (#3542)
* refactor: updated nodekey
* refactor: removed pasred data
* refactor: parentIsArray check
* chore: added the support for the bool
* [Refactor]: handle nested object case (#3545)
* refactor: updated nodekey
* refactor: removed pasred data
* refactor: parentIsArray check
* refactor: handled nested array inside object case
* fix: float issue parsing
* chore: operator is updated
* chore: title is updated
* chore: title is updated
* fix: update tagRegexp
* fix: maintain single source of DataTypes
* chore: operator is updated
* fix: fixed due to merge conflicts
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
Co-authored-by: Yunus A M <myounis.ar@live.com>
* refactor: search in dropdown
* refactor: name of the view to i18
* refactor: make the use of useForm from antd
* refactor: moved QuerySearchParamNames into save view module
* refactor: reset to query build when click on explorer link
* refactor: save view prd design changes
* refactor: reverted resetQuery in querybuilder
* refactor: queryParams to query.ts in querybuilder constants
* fix: redirect with saved view is updated
* refactor: removed useffect logic for updating query
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: all dashboard is migrated to useQuery and action is removed
* chore: delete functionality is updated
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: add integration test for log parsing pipelines validation
* chore: add helpers for creating unauthorized, unavailable & not found api errors
* chore: return *model.APIError from logpipeline and agentConf functions
* chore: some cleanup
* chore: some more cleanup
* chore: one more round of cleanups
* refactor: search in dropdown
* refactor: name of the view to i18
* refactor: make the use of useForm from antd
* refactor: moved QuerySearchParamNames into save view module
* refactor: reset to query build when click on explorer link
* refactor: reverted resetQuery in querybuilder
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix(FE/Logs): fix all logs not visible on scrolling
* fix(FE/logs): fix scroll behaviour in live logs
* refactor(FE/logs): replaced StyledComponents with scss
---------
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* fix: avoid pipeline builder panic if first op is disabled
* chore: use pipeline builder test to trigger getOperator panic
---------
Co-authored-by: Nityananda Gohain <nityanandagohain@gmail.com>
* feat: save view switch and save view done
* feat: delete view completed
* refactor: moved update logic to utils
* chore: removed unwated commented logic
* refactor: shifted save view logic to utils
* refactor: separated types
* refactor: updated types for save view
* refactor: shifted delete view logic to utils
* refactor: done with share url
* refactor: separated constants
* refactor: separated types
* test: added unit test for explorerCard
* refactor: done with update view
* refactor: added test cases
* chore: updated the file name from index to ExplorerCard
* refactor: moved unit test to test folder and useCallbacks
* chore: changed the variable names
* refactor: updated code review comments
* chore: fix build pipeline
* fix: 404 for query_range because of attribute operator
* refactor: functional review commnet address
* refactor: updatd unit test
* refactor: added delete option beside save view
* refactor: row align middle
* fix: build pipeline
* refactor: updated logic and review comments changes
* refactor: fixed build pipeline
* refactor: used onSuccess and onError for mutation
* refactor: onSuccess and onError for saveView
* refactor: mapping in function with query type
* refactor: updated code review comments
* refactor: updated explorerCard utils
* refactor: removed async
* fix: update state for save view
* refactor: tab according to aggregate operator
* refactor: updated test case
* refactor: updated the loading state of the button
* fix: build pipeline
* fix: share view tab updates
* fix: click on dropdown
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: create live logs page and custom top nav
* feat: add live logs where clause
* fix: success button color
* fix: turn back color
* fix: undefined scenario
* feat: get live data
* fix: change color, change number format
* feat: add live logs list
* feat: hide view if error, clear logs
* feat: add condition for disable initial loading
* fix: double request
* fix: render id in the where clause
* fix: render where clause and live list
* fix: last log padding
* fix: list data loading
* fix: no logs text
* fix: logs list size
* fix: small issues
* feat: add list loader and fix action column size
* fix: remove unnecessary file
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
* feat: create live logs page and custom top nav
* feat: add live logs where clause
* fix: success button color
* fix: turn back color
* fix: undefined scenario
* feat: get live data
* fix: change color, change number format
* feat: add live logs list
* feat: hide view if error, clear logs
* feat: add condition for disable initial loading
* fix: double request
* fix: render id in the where clause
* fix: render where clause and live list
* fix: last log padding
* fix: list data loading
* fix: no logs text
* fix: logs list size
* fix: small issues
* feat: use prefetched query in live
* chore: useMemo is updated
* feat: add live logs list (#3341)
* feat: add live logs list
* feat: hide view if error, clear logs
* feat: add condition for disable initial loading
* fix: double request
* fix: render id in the where clause
* fix: render where clause and live list
* fix: last log padding
* fix: list data loading
* fix: no logs text
* fix: logs list size
* fix: small issues
* fix: render view with memo
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: alignment is updated
* fix: action column size
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: create live logs page and custom top nav
* fix: success button color
* fix: turn back color
* feat: add live logs where clause (#3325)
* feat: add live logs where clause
* fix: undefined scenario
* feat: get live data (#3337)
* feat: get live data
* fix: change color, change number format
* chore: useMemo is updated
* feat: add live logs list (#3341)
* feat: add live logs list
* feat: hide view if error, clear logs
* feat: add condition for disable initial loading
* fix: double request
* fix: render id in the where clause
* fix: render where clause and live list
* fix: last log padding
* fix: list data loading
* fix: no logs text
* fix: logs list size
* fix: small issues
* fix: render view with memo
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: build is fixed
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Yunus M <myounis.ar@live.com>
* Fix tooltip link not opening in apdex tooltip modal
* chore: onClick is updated from inline to one to one
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: exists, nexists support for top level logs columns
* fix: dont check value for exists and nexists
* fix: exists, nexists updated for materialized columns
* fix: remove unnecesary variable
* fix: exists check updated in all places
* feat: auto provisioning of SSO users rather than needing invite link to login each user
* updating errors
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: set IsUser: true when SSO feature is available
* fix: signoz login from IDP (#3396)
* fix: enable login from IDP with relayState set with domainName
* update comments on function
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: added error checks to fetch domain from SAML relay state
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: get and update log fields updated to support new materialized columns and index
* feat: get attribute keys logic updated
* feat: logs qb changes to support new materialized columns
* feat: don't allow updating static top level fields
* feat: old logs parser updated
* feat: upgrade clickhouse
* fix: columnname format updated for materialized columns
* feat: get fields updated
* feat: minor changes
* fix: default values for distributed columns
* feat: common function for for clickhouse formatted column name
* chore: remove interesting selected fields
* fix: update clickhouse version in other place
---------
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* fix: disable proxy buffering and cache
* fix: changed for docker swarm
* fix: nginx config updated only for live tail
* fix: corrected value of buffering
---------
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* fix: [FE-3128]: Logs Explorer: Show options based on format type selected
* fix: build is fixed
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: introduce PreferRPM feature
Completed in logs and traces but tests of metrics are not updated
* chore: pass preferRPM feature flag rather than fn
* chore: support metrics rpm
* chore: remove step interval validation
As step interval is missing in formula queries
* chore: update failing tests
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: log details action not it
* fix: getting keys when query param redirect
* fix: getting operator
* fix: data type for not existing autocomplete value
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: created a component for apdex
* refactor: added get and set apDexSetting API support
* refactor: done with ApDexSetting
* feat: done with the traces graph for ApDex
* refactor: separated traces using feature flag
* refactor: restucture the component level
* feat: done with metrics ApDex application
* refactor: removed unwanted logs
* fix: some css part
* refactor: handle error state
* refactor: made use of constants and handleGraphClick for apDex
* refactor: shifted type to type.ts
* chore: css fixes
* refactor: handle error and loading state
* refactor: one on one mapping
* refactor: according to review comments
* refactor: removed unwanted color from local theme colors
* refactor: one on one mapping for queryKey
* refactor: updated css for view traces button issue
* chore: commented out the ExcludeStatusCode feature
* refactor: updated some css part of ApDexSetting popover
* test: added test case for ApDexApplication and ApDexSettings
* refactor: test cases
* refactor: review comments
* refactor: remove the checked for threshold size upto 1
* refactor: changed some text part of ApDex
* refactor: only ApDexMetrics inuse
* refactor: changes due to merge conflicts
* fix: build pipeline
* chore: change the type of the threshold
* feat: widget header as ReactNode
* chore: error for the title is updated
* refactor: widget header as Reactnode
* refactor: show tooltip when hover over the question icon
* refactor: review changes
* refactor: convert threadhold to ReactNode
* refactor: updated test cases
* refactor: move allow threshold a level up
* fix: build pipeline
* fix: input number issue for value 0
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: api machinery to support enterprise plan channels
* feat: backend for handling ms teams
* feat: frontend for ms teams
* fix: fixed some minor issues wiht ms teams
* fix: resolved issue with feature gate
* chore: add missing span metrics
* chore: some minor changes are updated
* feat: added the oss flag is updated
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: create alerts method is added
* feat: method is updated for onClick
* chore: create alerts is udpated
* chore: header menu list is updated
* chore: headerMenuList is made optional
* chore: default props is updated
* chore: support for ARM in install script
* chore: latest version of docker-compose and amd/arm support
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: done with prd full view
* refactor: updated some variable and naming convection
* feat: when click on label only select associated graph
* feat: made the table scrollable
* feat: update the table column length
* feat: save notification after saving state
* refactor: removed unwanted code
* refactor: renamed some file
* fix: linter issue
* fix: position of save button
* refactor: seperated widgetGraphComponent from gridGraphComponent
* feat: fetching the localstorage data while initial loading of graph
* fix: dependency of graphVisibilityHandler for other component
* refactor: updated the notification msg on save
* fix: linter error
* refactor: remove the update logic of graph from graph component
* refactor: created utils and move some utility code
* refactor: place the checkbox component in fullview
* refactor: updated the utils function added enun localstorage
* refactor: added enum for table columns data
* refactor: name changes to graphVisibilityStates
* refactor: shifted the type to types.ts
* refactor: sepearated the type from graph componnet
* refactor: seperated graphOptions from graph component
* refactor: updated imports
* refactor: shifted the logic to utils
* refactor: remove unused file and check for full view
* refactor: using PanelType instead of GraphType
* refactor: changed the variable name
* refactor: provided checks of useEffect
* test: added unit test case for utility function
* refactor: one on one maping of props and value
* refactor: panelTypeAndGraphManagerVisibility as a props
* refactor: remove the enforing of type in useChartMutable
* refactor: updated the test case
* refactor: moved types to types.ts files
* refactor: separated types from components
* refactor: one to one mapping and cancel feature
* refactor: remove unwanted useEffect and used eventEmitter
* fix: only open chart visibility will change issue
* refactor: removed unwanted useEffect
* refactor: resolve the hang issue for full view
* refactor: legend to checkbox connection, separated code
* refactor: updated styled component GraphContainer
* chore: removed unwanted consoles
* refactor: ux changes
* fix: eslint and updated test case
* refactor: review comments
* chore: fix types
* refactor: made utils for getIsGraphLegendToggleAvailable
* refactor: removed the ref mutation from graphPanelSwitch
* refactor: resolve the issue of chart state not getting reflect outside fullview
* refactor: common utility for toggle graphs visibility in chart
* refactor: shifted ref to perticular component level
* test: removed extra space
* chore: close on save and NaN infinity check
* refactor: added yAxisUnit to GraphManager table header
* refactor: create a function for appending yAxisUnit to table header
* fix: decimal upto 2 decimal points
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* refactor: remove the dependency of services using redux
* refactor: seperated columns and unit test case
* refactor: move the constant to other file
* refactor: updated test case
* refactor: removed the duplicate enum
* fix: removed the inline function
* fix: removed the inline function
* refactor: removed the magic string
* fix: change the name from matrics to metrics
* fix: one on one mapping of props
* refactor: created a hook to getting services through api call
* fix: linter error
* refactor: renamed the file according to functionality
* refactor: renamed more file according to functionality
* refactor: generic querybuilderWithFormula
* refactor: added generic datasource
* refactor: dynamic disabled in getQueryBuilderQueriesWithFormula
* refactor: generic legend for building query with formulas
* feat: added new TopOperationMetrics component for key operation
* refactor: added feature flag for key operation
* refactor: shifted types and fixed typos
* refactor: separated types and renamed file
* refactor: one on one mapping
* refactor: removed unwanted interfaces and renamed files
* refactor: separated types
* chore: done with basic struction and moving up the files
* chore: moved some files to proper places
* feat: added the support for metrics in service layer
* refactor: shifted SkipOnBoardingModal logic to parent
* refactor: created object to send as an augument for getQueryRangeRequestData
* refactor: changes from columns to getColumns
* refactor: updated the utils function getServiceListFromQuery
* refactor: added memo to getQueryRangeRequestData in serive metrics application
* refactor: separated constants from ServiceMetricsQuery.ts
* refactor: separated mock data and updated test case
* refactor: added useMemo on getColumns
* refactor: made the use of useErrorNotification for show error
* refactor: handled the error case
* refactor: one on one mapping
* chore: useGetQueriesRange hooks type is updated
* refactor: review changes
* chore: update type for columnconstants
* chore: reverted back the changes lost in merge conflicts
* refactor: created a separate utils generateResizeTableColumns
* refactor: separated base config and dynamic config for table columns
* chore: fix names of variable
* refactor: separated base config to different file
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: variables with multiple values are merged into one string
* fix: variables with multiple values are merged into one string
* fix: used memo
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: show page name in document title using React Helmet
* fix: add translation support for page titles
* feat: title is updated
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* refactor: remove the dependency of services using redux
* refactor: seperated columns and unit test case
* refactor: move the constant to other file
* refactor: updated test case
* refactor: removed the duplicate enum
* fix: removed the inline function
* fix: removed the inline function
* refactor: removed the magic string
* fix: change the name from matrics to metrics
* fix: one on one mapping of props
* refactor: created a hook to getting services through api call
* fix: linter error
* refactor: renamed the file according to functionality
* refactor: renamed more file according to functionality
* refactor: generic querybuilderWithFormula
* refactor: added generic datasource
* refactor: dynamic disabled in getQueryBuilderQueriesWithFormula
* refactor: generic legend for building query with formulas
* feat: added new TopOperationMetrics component for key operation
* refactor: added feature flag for key operation
* refactor: shifted types and fixed typos
* refactor: separated types and renamed file
* refactor: one on one mapping
* refactor: removed unwanted interfaces and renamed files
* refactor: separated types
* chore: done with basic struction and moving up the files
* chore: moved some files to proper places
* feat: added the support for metrics in service layer
* refactor: shifted SkipOnBoardingModal logic to parent
* refactor: created object to send as an augument for getQueryRangeRequestData
* refactor: changes from columns to getColumns
* refactor: updated the utils function getServiceListFromQuery
* refactor: added memo to getQueryRangeRequestData in serive metrics application
* refactor: separated constants from ServiceMetricsQuery.ts
* refactor: separated mock data and updated test case
* refactor: added useMemo on getColumns
* refactor: made the use of useErrorNotification for show error
* refactor: handled the error case
* refactor: one on one mapping
* chore: useGetQueriesRange hooks type is updated
* refactor: review changes
* chore: update type for columnconstants
* chore: reverted back the changes lost in merge conflicts
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: integrate pipelines API
* fix: limit support integrated in pipelines
* fix: interface to string
* fix: json parser and allow deleting all pipelines
* fix: output modified if operators are disabled
* fix: validation updated for operators
* fix: expression check added
* fix: regex expression check added
* fix: remove operator validation updated
* fix: tests updated for pipeline builder
* fix: fix error messages in http handler
* fix: dont return payload if there is an error
* fix: extracting userId from context moved to auth package
* fix: api errors moved to http handler
* fix: get version logic updated
* fix: deployment result message updated
* fix: pipeline builder edgecase fixed and tests updated
* fix: get failing postablePipeline tests to pass
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Raj <rkssisodiya@gmail.com>
* fix : Hide limit param in list view of traces #3173
* Hide Limit blue text also removed
* changes made such that LIMIT is only hidden for Traces List and not for Logs
* code refactored and filterConfigs used
* minor change
* unnecessary filter code removed
* lint issue fixed and develop branch merged
* minor change
* eslint fix
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* refactor: generic querybuilderWithFormula
* refactor: added generic datasource
* refactor: dynamic disabled in getQueryBuilderQueriesWithFormula
* refactor: generic legend for building query with formulas
* feat: added new TopOperationMetrics component for key operation
* refactor: added feature flag for key operation
* refactor: shifted types and fixed typos
* refactor: separated types and renamed file
* refactor: one on one mapping
* refactor: added clickable link for navigating to traces
* chore: separated types
* chore: removed unnecessary comments
* refactor: one on one mapping for DBCallQueries
* refactor: seperated types and one on one mapping for externalQueries
* refactor: separate type from metricsPagesQueriesFactory
* refactor: separated types and one on one mapping for overviewQueries
* refactor: remove the type inforcement from TopOperationQueries.ts
* refactor: one on one mapping in TopOperationQueries.ts
* refactor: one on one mapping and remove the unwanted code
* refactor: shifted logic of navigating to traces to utils
* refactor: separated renderColumnCell from the TopOperationMetric component
* refactor: generic tableRenderer
* refactor: made getTableColumnRenderer more generic
* chore: title is updated
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* refactor: remove the dependency of services using redux
* refactor: seperated columns and unit test case
* refactor: move the constant to other file
* refactor: updated test case
* refactor: removed the duplicate enum
* fix: removed the inline function
* fix: removed the inline function
* refactor: removed the magic string
* fix: change the name from matrics to metrics
* fix: one on one mapping of props
* refactor: created a hook to getting services through api call
* fix: linter error
* refactor: renamed the file according to functionality
* refactor: renamed more file according to functionality
* refactor: removed unwanted interfaces and renamed files
* refactor: separated types
* refactor: shifted mock data and completed review changes
* chore: updated test cases
* refactor: added useEffect in errornotification
* chore: updated service test
* chore: shifted loading to table level
* chore: updated test cases
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: dependency check for top level operation
* refactor: one on one mapping
* fix: removed the unwanted if checks
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: live tail API with query range support
* fix: minor fixes
* feat: minor fixes
* feat: send error event back to client
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: add suggestion to order by filter
* fix: column name for order by
* fix: mapper for order by
* fix: render order by for different panels
* fix: order by timestamp and aggrigate value
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add dynamic table based on query
* feat: add the list view for the traces explorer
* feat: add the list view for the traces explorer
* feat: add the list view for the traces explorer
* feat: add the table view for the traces explorer
* feat: remove unnecessary part of code for the table view in the traces explorer
* fix: resolve comments
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
Co-authored-by: Nazarenko19 <danil.nazarenko2000@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* refactor: initial setup for full view done
* feat: done with shifting of chart to services
* refactor: removed the dependency dashboard action
* refactor: make ondelete and onclone optional in widgetheader
* refactor: optimised the allowdelete, allowclone and allowEdit
* fix: build pipline error
* refactor: moved contant to contant.js
* refactor: create a utils and types and seperated it from component
* refactor: merge the latest overview from develop
* refactor: review comments changes
* refactor: magic string to constants
* refactor: handle the isloading for topLevelOperations
* refactor: apply loading check for other api's
* refactor: seperated the component
* refactor: removed the graphwithoutdashboard component
* fix: the type of variable from dashboard
* refactor: created utils and updated types
* refactor: changed the name of variable and fixed typos
* fix: the menu option dropdown for services widget header
* chore: ts config is updated for the isTwidgetoptions
* chore: removed the unwanted file
* fix: css on hover of widget header and default value
* refactor: renamed the file to index in fullView
* refactor: disable the edit delete clone option
* fix: typos
* chore: types are updated in metrics application
* chore: type is updated
* fix: build is fixed
* refactor: changes the yaxisunit to ns of serviceoverview
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add support for multiquery in ts with limit
* feat: multiple groupby support
* feat: variables renamed
* feat: cleanup
* feat: clickhouse formatted value updated to support pointers
* fix: filter creation logic updated
* fix: minor fixes and tests
* fix: autcomplete top level keys
* Revert "fix: autcomplete top level keys"
This reverts commit 8d5e1e480f.
* fix: minor fixes
* feat: formula support for timeseries query with limit
* feat: implementation updated for limit queries
* feat: cleanup
* feat: order by logic updated
* feat: order by logic updated for both ts and table view
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* Revert "upgraded some deprecated packages (#2423)"
This reverts commit c4b052c51e.
* chore: delta working with QB
* chore: use enum
* Revert "Revert "upgraded some deprecated packages (#2423)""
This reverts commit d88f3594a6.
* chore: add test
* chore: add delta for query range v3
* chore: explicit check for temporality
* chore: fix tests
* chore: conditionally fetch temporality when --prefer-delta is set
* refactor: seperate the dependency of top overview query
* refactor: added error handle for api call using usequery
* refactor: update api layar and condition in component
* fix: onDragSelect re-render all graph data
* refactor: removed console
* refactor: corrected names and updated implemented required condition
* fix: the api call issue
* refactor: removed useeffect
* refactor: reverted the unnecessary changes
* refactor: removed the login from service level
* refactor: removed the unwanted code
* refactor: reverted the unwanted changes in getDashboardVariable
* refactor: instead of useQuery used useQueries
* refactor: changed the dependencies of useQuery key
* refactor: linter fixes
* refactor: delete the unrequired files
* fix: generecity of the type
* fix: moved the type to component
* fix: move the logic from container layer to pages layer
* refactor: optimised some part of the code
* refactor: review changes
* refactor: optimised the checks
* refactor: checking if the dependency data loaded in full view
* refactor: resolve the error of props in overview.ts
* refactor: small changes
* refactor: enforced the typecasting of constant variable
* refactor: refactoring in some of the changes are updated
* refactor: refactoring in some of the changes are updated
* refactor: removed the extra parameter from useGetQueryRange
* refactor: revert the changes back for tab
* refactor: metrics application is updated
* chore: loading condition is updated for full view component
* chore: moved the serviceDataProps type to api layer
* chore: message name is updated
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: filter change value
Fix for getting value from current autocomplete response instead of all options.
* fix: change group by with correct values
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: add support for table view in traces
* fix: alignment issue
* feat: handle table view in traces
* fix: value type panel
* fix: order by in table view
* chore: remove obsolete code
* fix: use now() as ts in query to support formula
* test: update tests
* feat: search capablity is added on export panel
* chore: instance is destroyed on close
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: add converting to ms for the durationNano attrbute
* fix: add ms title to the graph
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: export panel in logs explorer is added
* chore: notification is updated when dashboard id is not found while updating
* fix: error handling for export panel
* fix: layout gap
* refactor: remove log
* fix: updating log page from update button
* fix: redirect with correct operator
* fix: redirect wioth query data
* fix: refetch list
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
* fix: fix initial columns for the list view
* fix: replace columns
* fix: update attribute api call for the options menu
* fix: update call attributes API call
* fix: add error msg for the options list
* feat: save list options to local storage
* fix: removing of the columns field
* fix: filter body column from columns
* fix: typo for raw
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add dynamic table based on query
* feat: add the list view for the traces explorer
* fix: fix the options menu
* feat: update the list view columns config for the traces explorer
* feat: fix columns for the list view for the traces explorer page
* feat: update customization columns for the list view from the traces explorer
* feat: add error msg for the list view, fix creating data for the table
* fix: resolve the list view issues
* fix: update the date column for the list view
* fix: remove additional filter title for the list view
* fix: add initial orderBy filter for the list view
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
Co-authored-by: Nazarenko19 <danil.nazarenko2000@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add dynamic table based on query
* feat: add the list view for the traces explorer
* fix: fix the options menu
* feat: update the list view columns config for the traces explorer
* feat: fix columns for the list view for the traces explorer page
* feat: update customization columns for the list view from the traces explorer
* feat: add error msg for the list view, fix creating data for the table
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
Co-authored-by: Nazarenko19 <danil.nazarenko2000@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* fix: alert evaluation params and query
1. Update the rate query to not generate intermediary +inf value when the denominator is zero
2. Adjust the start and end time to incorporate data in movement
3. Round the start and end to minute
4. Add log to find the exact query that triggered alert for troubleshooting
;
* chore: fix query builder tests
* feat: checkpoint
* feat: add select columns support to list view
* chore: add more error handling
* feat: always return timestamp, spanID, traceID
Always return timestamp, spanID, traceID in list view
* test: update and add new tests
* chore: remove deprecated const
* chore: addressed review comments
* fix: add support for timestamp ordering and fix logic related to timestamp orderBy
* chore: remove unused variable
* fix: edge case and more tests
* feat: add dynamic table based on query
* feat: add the list view for the traces explorer
* feat: add the list view for the traces explorer
* feat: add the list view for the traces explorer
* feat: add the table view for the traces explorer
* feat: add the table view for the traces explorer
* feat: add the trace view for the traces explorer
* feat: update the traces view tab for the traces explorer page
* feat: update the traces view
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
Co-authored-by: Nazarenko19 <danil.nazarenko2000@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add the export panel to the traces explorer
* feat: onExport dashboard widget is updated
* chore: made common hook useDashboard
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: step size is made dynamic
* test: get step test is added
* chore: alerts step is updated
* chore: query is updated
* chore: provider query is updated
* fix: user input is being take care of
* chore: query builder step interval is updated
* test: lib/getStep is updated
* test: test for getStep is updated
* fix: step interval is taken care when we change from top nav
* chore: while saving the dashboard query is updated
* chore: updated when selected widget is present
* chore: getStep is now multiple of 60 and test is updated accordingly
* chore: user input is overriden from global step
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add dynamic table based on query
* fix: group by repeating
* fix: change view when groupBy exist in the list
* fix: table scroll
* feat: add the pagination and update options menu
* feat: trace explorer is updated
---------
Co-authored-by: Yevhen Shevchenko <y.shevchenko@seedium.io>
Co-authored-by: Nazarenko19 <danil.nazarenko2000@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: add dynamic table based on query
* fix: group by repeating
* fix: change view when groupBy exist in the list
* feat: add list view for log explorer
* fix: query builder updating
* fix: table scroll
* fix: filters for explorer page (#2959)
---------
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* feat: add dynamic table based on query
* fix: group by repeating
* fix: change view when groupBy exist in the list
* fix: table scroll
* fix: filters for explorer page (#2959)
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: sorting for tooltip in graph view
* Update index.tsx
* refactor: name of the variable in itemSort
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: save rules/dashboard is now enabled for metrics irrespective of feature flag disabled
* chore: check is updated for alerts
* chore: alert condition is updated
* chore: condition for alert is updated
* fix: edit condition is fixed
* fix: isTraceOrLogsQueryBuilder condition for editing a panel
* fix: error message is shown to the user
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* fix: save rules/dashboard is now enabled for metrics irrespective of feature flag disabled
* chore: check is updated for alerts
* chore: alert condition is updated
* chore: condition for alert is updated
* ci(gh-workflows): 👷 bump up versions and minor updates
* ci(gh-workflows): 👷 bump up versions of verify-linked-issue-action to v0.71
* ci(e2e-k3s): 👷 use ipconfig instead
* ci(remove-label): 👷 create separate step for remove label
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat: add query builder and graph
* feat: add graph
* fix: id in the another places
* fix: multiple queries for explorer logs
* chore: chunkName is updated
---------
Co-authored-by: Chintan Sudani <46838508+techchintan@users.noreply.github.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix(docker-buildkit): 🐛 use progress plain
* chore(Makefile): add targets for clearing only clickhouse data
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* fix: create and store label when colon is pressed
* fix: use native JS replace
* chore: extra value variable is removed
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: where clause getting values
* fix: group by filter custom option
* fix: id for group by and aggregate filters
* fix: repeating values
* refactor: group by uniq items
* fix: removing source key
* fix: keep where clause filter on operator change
* chore: clean up for console log and additional variables
---------
Co-authored-by: Chintan Sudani <46838508+techchintan@users.noreply.github.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: form type and removed disabled
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: added disabled to the button
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: created error message fn for required rule
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: disable condition is updated
* chore: isLoading is added in the disabled condition
---------
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* test: added few test cases for Tooltip
* fix: some of the stale frontend package are removed
* chore: flat package is removed
---------
Co-authored-by: Sanjib <sanjib.sah@yahoo.com>
* feat: flag is updated
* feat: feature flag is updated
* feat: onrefetch is added on several actions on app
* chore: tab is updated
* chore: creating dashbaord error is handled
* fix: message is fixed
* chore: jest test is updated
* fix: disabled content being copied on keyDown action
* chore: tab index and role is updated
* fix: reverted lodash changes
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: add support for bool values in time series result
* chore: reserved target column can never be bool so removed obsolete code
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: position of where caluse is changed for metrics
* fix: by default enabled for logs & traces
* fix: to many api call for key on search
* fix: make chip on enter for exists/nexists
* fix: flickering issue on selection of option
* fix: text change
* fix: orderby payload issue
* fix: removed replace logic
* fix: responsive qb & disabled issue
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* feat: trace to logs and logs to trace is added
* chore: icons and spanId is updated
* chore: feedback changes are updated
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: search filter validation on data source
* fix: value search not working for in/nin
* fix: unwanted key api while searching value & disabled tag
* fix: unnecessary , at end of in/nin value
* fix: added space after operator to get value
* fix: custom value not being selected
* fix: space after tag and value
* fix: api call debounce duration
* fix: suggested changes
* fix: updated query params
* fix: search filter data for logs and traces
* fix: search filter value data type issue
* fix: search filter value tag type
* fix: chip & iscolumn issue
* fix: null handled
* fix: label in list of search filter component
* fix: label in list of search filter component
* fix: code level changes
* fix: incorrect filter operators
* fix: key selection dancing
* fix: missing suggestion
* fix: keys are not getting updated
* fix: strange behaviour - removed duplicate options
* fix: driver id exclusion not working
* fix: loader when 0 options
* fix: exists/not-exists tag value issue
* fix: some weird behaviour about exists
* fix: added duplicate option remove logic at hook level
* fix: removed empty options from list
* fix: closable chip handler on edit
* fix: search filter validation on data source
* fix: value search not working for in/nin
* fix: unwanted key api while searching value & disabled tag
* fix: unnecessary , at end of in/nin value
* fix: added space after operator to get value
* fix: custom value not being selected
* fix: space after tag and value
* fix: api call debounce duration
* fix: suggested changes
* fix: updated query params
* fix: search filter data for logs and traces
* fix: search filter value data type issue
* fix: search filter value tag type
* fix: chip & iscolumn issue
* fix: null handled
* fix: label in list of search filter component
* fix: label in list of search filter component
* fix: code level changes
* fix: incorrect filter operators
* fix: key selection dancing
* fix: missing suggestion
* fix: keys are not getting updated
* fix: strange behaviour - removed duplicate options
* fix: driver id exclusion not working
* fix: loader when 0 options
* fix: exists/not-exists tag value issue
* fix: some weird behaviour about exists
* fix: added duplicate option remove logic at hook level
* fix: removed empty options from list
* fix: closable chip handler on edit
* fix: search filter validation on data source
* fix: lint issues is fixed
* fix: chip & iscolumn issue
* fix: lint changes are updated
* fix: undefined case handled
* fix: undefined case handled
* fix: removed settimeout
* fix: delete chip getting value undefined
* fix: payload correctness
* fix: incorrect value selection
* fix: key text typing doesn't change anything
* fix: search value issue
* fix: payload updated
* fix: auto populate value issue
* fix: payload updated & populate values
* fix: split value for in/nin
* fix: split value getting undefined
* fix: new version of search filter using papaparse library
* fix: removed unwanted space before operator
* fix: added exact find method & removed includes logic
* fix: issue when user create chip for exists not exists operator
* fix: white space logic removed
* fix: allow custom key in from list
* fix: issue when user create chip for exists not exists operator
* fix: removed unwanted includes
* fix: removed unwanted utils function
* fix: replaced join with papa unparse
* fix: removed get count of space utils
* fix: resolved build issue
* fix: code level fixes
* fix: space after key
* fix: quote a value if comma present
* fix: handle custom key object onchange
* chore: coverted into string
* Merge branch 'develop' into fix/issue-search-filter
* chore: eslint rule disabling is removed
* fix: serviceName contains sql
* chore: less restrictive expression
* fix: custom key selection issue
* chore: papa parse version is made exact
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: having value data type
* feat: connect new builder to dashboard
* Fix/query builder filters (#2623)
* feat: rename query data type
* fix: remove reset of groupBy
* fix: filters search
* fix: calls autocomplete times
* fix: response mapper
* fix: removee unnecessary field
* fix: no check ts types for old query builder
* fix: disable check utils old builder
* feat: add query builder to the alerts
* fix: alert response integration with query builder
* fix: validation of query builder rules
* fix: rules query builder
* fix: filter value with similar keys
* fix: null values for options
* fix: query builder disabled when exist formula
* fix: removing filter key with underscore
* feat: add builder data to metric application (#2665)
* feat: add builder data to metric application
* fix: query types to single variant
* fix: formula legend formatting
* fix: argumant name
* fix: date for graph
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: pipeline
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: having value data type
* feat: connect new builder to dashboard
* Fix/query builder filters (#2623)
* feat: rename query data type
* fix: remove reset of groupBy
* fix: filters search
* fix: calls autocomplete times
* fix: response mapper
* fix: removee unnecessary field
* fix: no check ts types for old query builder
* fix: disable check utils old builder
* fix: removing key from groupby is not updating value of orderby
* fix: removing operator is not updating value of orderby
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: clear filter is fixed
* chore: action bar empty query condition is handled
* feat: local state is clear for filters
(cherry picked from commit 6c11c6d4da)
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore: add payload types for autocomplete requests
* chore: update the query params file location and payload
* chore: add query range v3 API request/response payload types
* feat: metric attribute autocomplete for the aggregation type
* feat: add attrs filters autocomplete endpoints
* feat(logs): add tag attribute autocomplete for logs
* chore: added support for multiple datatype in value suggestion api for attributes
* feat: int64/float64 added for AttributeKeyDataType along with validation
* feat: filterAttributeValueResponse type updated
* fix: number type updated and query updated
* feat: remove tagType in keys autocomplete
* feat: return isColumn value correctly for attibute keys
* Update pkg/query-service/app/clickhouseReader/reader.go
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: don't skip empty strings in value autocomplete
* fix: allow empty string search
* feat: add top level column names of logs in key sugestion
* fix: tagType column removed
* feat: get attribute values from logs table for top level fields
* feat: don't throw error if dataType and tagType is not present
* feat: timerange select corrected
* feat: autocomplete for int/float added
* fix: reverted attributeValueResponse change
* fix: null values handled for int and float
* feat: add support for get log aggreagte attributes
* feat: aggreate attribute logic updated and body added in keys autocomplete
* fix: constants updaetd
* fix: body type updated and empty response for noop and count
* fix: isColumn logic updated
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat: resource attribute is added in the exception
* fix: build is fixed
* chore: methods is updated to post
* fix: build is fixed
* fix: listErrors, countErrors API request body
* chore: type of the function is updated
* chore: convertRawQueriesToTraceSelectedTags is updated
* fix: resource attribute is updated
* chore: selected tags is updated
* feat: key is updated
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add span links support
* fix: handle an edge case
* chore: test is fixed
* chore: some of the refactoring is updated
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* logs is updated
* fix: log live tail is updated
* fix: live tail is fixed
* chore: build is fixed
* chore: useEffect is removed
* chore: getLogsAggregate callback is added in the useEffect
* style: corrected the positioning of the charts tooltip
* style: stored value for pixel in variable
* chore: logic is shifted to plugin
---------
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat: multiple values can be selected
* chore: tag value is updated
* fix: handle few edge cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: add list and table views for logs
* chore: some of the changes are updated
* chore: some of the refactoring is done
* chore: px to updated to rem
* chore: constant is moved to local storage
* refactor: some of the refactoring is updated
* chore: some of the changes are updated
* fix: resize log table issue
* chore: logs is updated
* chore: resize header is updated
* chore: font observer is added in package json and hook is added for same
* chore: no logs text is updated
* chore: no logs text is updated
* chore: updated some feedback in raw logs line
* chore: types is added
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Chintan Sudani <csudani7@gmail.com>
* fix: it has been fixed of difficult to click on metrics graph points
* fix: resolve conflict
* fix: changed hover point & memoized the passed props
* fix: memo from develop
* fix: add condition for end and start stamps
* chore: type position is updated
---------
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat(query-service): ✨ Add health check route and handler
* chore(install-script): 🔧 use health endpoint with instead of services list
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* create a visual loading state with header
* updates loading with WidgetHeader component
* chore: onview and ondelete is updated
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: query builder formula fails to eval
* fix: result label set without reference
* chore: update tests
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
* chore: layout changes are updated
* chore: colors is updated
* chore: action width is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* feat: react is updated from v17 to v18
* feat: antdv5 is updated (#1880)
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: all channel is updated move from usefetch to usequery
* fix: typescript is fixed
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* add commands to install sqlite3 in Makefile.
* Add code to check if it's running on Linux System.
* Revert "Add code to check if its running on Linux"
This reverts commit 552cfb08c9.
* Revert "add commands to install sqlite3 in Makefi"
This reverts commit 781c23d12d.
* Add Docuentation to install SQLite3.
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* fix: reduced rate limit to 2 of each events in 1 min
* feat: added new event for length of filters in logs search page
* feat: added distributed cluster info
* fix: length of filters in logs
* feat: dashboard metadata with no rateLimit
* feat: active user
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: live tail time out is updated
* Update livetail.ts
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: allow multiple spaces between a filter expression
* fix: regex updated to respect spaces between a search string
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* Fix case sensitivity in query parsing - now the parser correctly recognize fields which contains uppercase letters
* fix: logs parser respects the case of fields
Co-authored-by: nityanandagohain <nityanandagohain@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* chore: introduce docker_multi_node_cluster and by default set to false
* chore(query-service): 🔧 include docker_multi_node_cluster for tests
Co-authored-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Prashant Shahi <me@prashantshahi.dev>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: remove shared variable in TTL
* fix: set distributed_ddl_task_timeout to 0 for async TTL
* chore: updated distributed_ddl_task_timeout to sync TTL queries
* feat: usage collection updated with new schema and logic
* fix: added exporter id and common collector id
* fix: upload usage only when license is present
* fix: handle if db doesn't exists
* fix: select query updated for usage collection to support distributed table
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* [feat] initial version for google oauth
* chore: arranged the sso packages and added prepare request for google auth
* feat: added google auth config page and backend to handle the request
* chore: code cleanup for domain SSO parsing
* Update constants.go
* chore: moved redirect sso error
* chore: lint issue fixed with domain
* chore: added tooltip for enforce sso and few changes to auth domain
* chore: moved question mark in enforce sso
* fix: resolved pr review comments
* chore: fixed type check for saml config
* fix: fixed saml config form
* chore: added util for transformed form values to samlconfig
Co-authored-by: mindhash <mindhash@mindhashs-MacBook-Pro.local>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: live tail is fixed
* fix: graph state is updated
* chore: step size is updated
* chore: xaxis config is updated
* chore: isDisabled state is updated for top navigation
* chore: selected interval is updated in the reducer
* fix: build is fixed
* chore: xAxis config is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: [alerts] [ch-query] added aliases in metric query result
* fix: added more column type support for target in ch query
* fix: added error handling when data type is unexpected in metric result
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* feat: added ui changes to support clickhouse queries in alert builder
* chore: minor fix to alert rules ui
* feat: alert form changes: ch query support, alert type selection
* chore: resolved review comments
* chore: added list for alert type selection instead
* chore: removed hard coded color and added antd/colors
* fix: resolved some issues found during testing alerts
* fix: moved alert defaults and added default queries for logs and traces
* feat: added default queries for logs and traces to reflect ts vars
* chore: fixed px to rem
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* feat: added ch query support
* fix: added new vars to resolve alert query format issue
* fix: replaced timestamp vars in metric query range
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: logs is updated
* chore: width:100% is removed
* chore: position of filter is updated
* chore: min time and max time are now tracked from global state
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: 🔥 remove docker-compose-prod.yaml as redundant and update Makefile
* chore: 🔧 scrape otel-collector internal metrics in same container and related changes
* chore: 📌 Bump version of clickhouse to 22.8.8 LTS
Signed-off-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: integrate config service with query service
* feat: add tooltip checkpoint
* feat: add support for dark and light mode icons
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: update the import from constant rather than static string
* chore: removed redundant div
* feat: added auto refresh component
* refactor: top nav is refactored
* externaltab-promql-to-querybuilder
* refactored the queries into separate file
* added logic for resourceattribute to tagFilter items conversion
* refactor: use useMemo
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: show messaging/cron/browser services in listing page
* chore: issue maximum of ten queries to clickhouse
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: added patch rule api
* feat: added backend api for patching rule status
* fix: improved patchRule and also editRule
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added rule url to the title link in slack message
* fix: corrected duplication of code for generator url in rules engine
* fix: removed unnecessary import in rules engine
* feat: metrics builder
* feat: tag key selection
* feat: metrics builder
* poc version
* added more changes to query builder
* added types for composite queries
* (feat): added edit rules and create rules forms
* added label key value input item
* (chore): added hidden labels for labelinput
* (chore): resolved some merge conflicts from develop
* (chore): added translations
* (chore): removed some old files in metric builder
* (chore): restored some of the files from develop branch
* (chore): restored env.ts
* (fix): solved empty builder queries errors
* (fix): changed queryIndex and formulaIndex type to string|number from number
* (feat): added chart preview for alert metric ui
* (feat): added threshold in chart, translations in alert form and a few fixes
* (fix): restoring env.ts
* (fix): placed threshold on horizontal line
* fix: resolved review comments
* fix: resolved label remove issue
* fix: removed console log
* fix: resolved issue with edit rule - old state values shown after update of threshold
* fix: resolved issue with match condition dropdown in alert ui
* fix: increased size of timeframe drop down
* fix: fixed label key value field and chart auto update when eval window changes
* feat: added a link for alert name in list alerts page and source for each rule update
* fix: resolved review coments in querysection of alerts ui
* feat: adding panel user guide in alerting form
* feat: added user guide panel in the alert form
* feat: added more help icon in user guide and fixed the sizing issue
Co-authored-by: Pranshu Chittora <pranshu@signoz.io>
* fix: remove requirement of exceptionType and serviceName from errorDetail page URL
* chore: id is updated
* chore: commented code is removed
* chore: eslint error is fixed
Co-authored-by: Palash <palashgdev@gmail.com>
* chore: 🔧 otel-collector config changes
* chore: 🗑️ remove redundant users.xml
* chore: 🔧 otel-config changes
- seperate scraper job for otel-collector and otel-collector-metrcs internal metrics
- use resourcedetection only for hostmetrics
- add swarm service name and task name in resource attributes env
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* added more changes to query builder
* added types for composite queries
* (feat): added edit rules and create rules forms
* (feat): added chart preview for alert metric ui
* (feat): added threshold in chart, translations in alert form and a few fixes
* feat: added a link for alert name in list alerts page and source for each rule update
Co-authored-by: Pranshu Chittora <pranshu@signoz.io>
* test: sign-up test are updated
* test: fail test of version api is added
* test: more test case over signup page is added
* test: coverage is added
* chore: auth json is updated
* test: auth token and refresh token test is updated
* feat: update ListErrors API
* feat: update error detail APIs and add a new API for fetching next prev error IDs
* feat: update GetNextPrevErrorIDs API to handle an edge case
* perf: use timestamp for fetching individual column
* feat: add countErrors API
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
There are primarily 2 areas in which you can contribute in SigNoz
## Welcome to SigNoz Contributing section 🎉
- Frontend ( written in Typescript, React)
- Backend - ( Query Service - written in Go)
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.
Depending upon your area of expertise & interest, you can chose one or more to contribute. Below are detailed instructions to contribute in each area
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.
> 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. 🙏🏻
- We accept contributions made to the [SigNoz `develop` branch]()
> If you just raise a PR, without the corresponding issue being assigned to you - it may not be accepted.
## Finding contributions to work on 💬
# Develop Frontend
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.
Need to update [https://github.com/SigNoz/signoz/tree/main/frontend](https://github.com/SigNoz/signoz/tree/main/frontend)
### Contribute to Frontend with Docker installation of SigNoz
- [How to Contribute](#2-how-to-contribute-%EF%B8%8F)
- [Develop Frontend](#3-develop-frontend-)
- [Contribute to Frontend with Docker installation of SigNoz](#31-contribute-to-frontend-with-docker-installation-of-signoz)
- [Contribute to Frontend without installing SigNoz backend](#32-contribute-to-frontend-without-installing-signoz-backend)
- [Contribute to Backend (Query-Service)](#4-contribute-to-backend-query-service-)
- [To run ClickHouse setup](#41-to-run-clickhouse-setup-recommended-for-local-development)
- [Contribute to SigNoz Helm Chart](#5-contribute-to-signoz-helm-chart-)
- [To run helm chart for local development](#51-to-run-helm-chart-for-local-development)
- [Contribute to Dashboards](#6-contribute-to-dashboards-)
- [Other Ways to Contribute](#other-ways-to-contribute)
-`git clone https://github.com/SigNoz/signoz.git && cd signoz`
- comment out frontend service section at `deploy/docker/clickhouse-setup/docker-compose.yaml#L62`
- run `cd deploy` to move to deploy directory
- Install signoz locally without the frontend
- Add below configuration to query-service section at `docker/clickhouse-setup/docker-compose.yaml#L38`
# 1. General Instructions 📝
```docker
## 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❓
#### If you are reporting a bug, details like these are incredibly useful:
- 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.
Discussing your proposed changes ahead of time will make the contribution
process smooth for everyone 🙌.
**[`^top^`](#contributing-guidelines)**
<hr>
## 1.2 For Pull Request(s)
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.
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):
* 1️⃣ First PR should include the overall structure of the new component:
* Readme, configuration, interfaces or base classes, etc...
* This PR is usually trivial to review, so the size limit does not apply to
it.
* 2️⃣ Second PR should include the concrete implementation of the component. If the
size of this PR is larger than the recommended size, consider **splitting** ⚔️ it into
multiple PRs.
* If there are multiple sub-component then ideally each one should be implemented as
a **separate** pull request.
* Last PR should include changes to **any user-facing documentation.** And should include
end-to-end tests if applicable. The component must be enabled
only after sufficient testing, and there is enough confidence in the
stability and quality of the component.
You can always reach out to `ankit@signoz.io` to understand more about the repo and product. We are very responsive over email and [slack community](https://signoz.io/slack).
### Pointers:
- If you find any **bugs** → please create an [**issue.**](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=bug_report.md&title=)
- If you find anything **missing** in documentation → you can create an issue with the label **`documentation`**.
- If you want to build any **new feature** → please create an [issue with the label **`enhancement`**.](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=feature_request.md&title=)
- If you want to **discuss** something about the product, start a new [**discussion**.](https://github.com/SigNoz/signoz/discussions)
- If you want to request a new **dashboard template** → please create an issue [here](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=dashboard-template&projects=&template=request_dashboard.md&title=%5BDashboard+Request%5D+).
<hr>
### Conventions to follow when submitting Commits and Pull Request(s).
We try to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), more specifically the commits and PRs **should have type specifiers** prefixed in the name. [This](https://www.conventionalcommits.org/en/v1.0.0/#specification) should give you a better idea.
e.g. If you are submitting a fix for an issue in frontend, the PR name should be prefixed with **`fix(FE):`**
- Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows.
- Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
**[`^top^`](#contributing-guidelines)**
<hr>
# 2. How to Contribute 🙋🏻♂️
#### There are primarily 2 areas in which you can contribute to SigNoz
- [**Frontend**](#3-develop-frontend-) (Written in Typescript, React)
- [**Backend**](#4-contribute-to-backend-query-service-) (Query Service, written in Go)
- [**Dashboard Templates**](#6-contribute-to-dashboards-) (JSON dashboard templates built with SigNoz)
Depending upon your area of expertise & interest, you can choose one or more to contribute. Below are detailed instructions to contribute in each area.
**Please note:** If you want to work on an issue, please add a brief description of your solution on the issue before starting work on it.
**[`^top^`](#contributing-guidelines)**
<hr>
# 3. Develop Frontend 🌚
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/frontend](https://github.com/SigNoz/signoz/tree/develop/frontend)**
Also, have a look at [Frontend README.md](https://github.com/SigNoz/signoz/blob/develop/frontend/README.md) sections for more info on how to setup SigNoz frontend locally (with and without Docker).
## 3.1 Contribute to Frontend with Docker installation of SigNoz
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Install signoz locally **without** the frontend,
- Add / Uncomment the below configuration to query-service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L47`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L47)
```
ports:
- "8080:8080"
```
- If you are using x86_64 processors (All Intel/AMD processors) run `sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d`
- If you are on arm64 processors (Apple M1 Macbooks) run `sudo docker-compose -f docker/clickhouse-setup/docker-compose.arm.yaml up -d`
- `cd ../frontend` and change baseURL to `http://localhost:8080` in file `src/constants/env.ts`
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.
> Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh`
If you have backend api exposed via frontend nginx:
```
FRONTEND_API_ENDPOINT=http://localhost:3301
```
If not:
```
FRONTEND_API_ENDPOINT=http://localhost:8080
```
### Contribute to Frontend without installing SigNoz backend
- Next,
```
yarn install
yarn dev
```
If you don't want to install SigNoz backend just for doing frontend development, we can provide you with test environments which you can use as the backend. Please ping us in #contributing channel in our [slack community](https://signoz.io/slack) and we will DM you with `<testenvironmentURL>`
### 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)
- `git clone https://github.com/SigNoz/signoz.git && cd signoz/frontend`
- Create a file `.env` with `FRONTEND_API_ENDPOINT=<testenvironmentURL>`
- `yarn install`
- `yarn dev`
**[`^top^`](#contributing-guidelines)**
**_Frontend should now be accessible at `http://localhost:3301/application`_**
## 3.2 Contribute to Frontend without installing SigNoz backend
# Contribute to Query-Service
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.
Need to update [https://github.com/SigNoz/signoz/tree/main/pkg/query-service](https://github.com/SigNoz/signoz/tree/main/pkg/query-service)
- 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
```
### To run ClickHouse setup (recommended for local development)
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>`.
- git clone https://github.com/SigNoz/signoz.git
- run `cd signoz` to move to signoz directory
- run `sudo make dev-setup` to configure local setup to run query-service
- comment out frontend service section at `docker/clickhouse-setup/docker-compose.yaml`
- comment out query-service section at `docker/clickhouse-setup/docker-compose.yaml`
- add below configuration to clickhouse section at `docker/clickhouse-setup/docker-compose.yaml`
```docker
expose:
- 9000
ports:
- 9001:9000
**Frontend should now be accessible at** [`http://localhost:3301/services`](http://localhost:3301/services)
**[`^top^`](#contributing-guidelines)**
<hr>
# 4. Contribute to Backend (Query-Service) 🌑
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/pkg/query-service](https://github.com/SigNoz/signoz/tree/develop/pkg/query-service)**
## 4.1 Prerequisites
### 4.1.1 Install SQLite3
- Run `sqlite3` command to check if you already have SQLite3 installed on your machine.
- If not installed already, Install using below command
- on Linux
- on Debian / Ubuntu
```
sudo apt install sqlite3
```
- on CentOS / Fedora / RedHat
```
sudo yum install sqlite3
```
## 4.2 To run ClickHouse setup (recommended for local development)
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- run `sudo make dev-setup` to configure local setup to run query-service,
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Comment out `query-service` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L41`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L41)
<img width="1068" alt="Screenshot 2022-07-14 at 22 48 07" src="https://user-images.githubusercontent.com/52788043/179044151-a65ba571-db0b-4a16-b64b-ca3fadcf3af0.png">
- add below configuration to `clickhouse` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml)
```
ports:
- 9001:9000
```
<img width="1013" alt="Screenshot 2022-07-14 at 22 50 37" src="https://user-images.githubusercontent.com/52788043/179044544-a293d3bc-4c4f-49ea-a276-505a381de67d.png">
- run `cd pkg/query-service/` to move to `query-service` directory,
- Then, you need to create a `.env` file with the following environment variable
```
SIGNOZ_LOCAL_DB_PATH="./signoz.db"
```
to set your local environment with the right `RELATIONAL_DATASOURCE_PATH` as mentioned in [`./constants/constants.go#L38`,](https://github.com/SigNoz/signoz/blob/develop/pkg/query-service/constants/constants.go#L38)
- Now, install SigNoz locally **without** the `frontend` and `query-service`,
- If you are using `x86_64` processors (All Intel/AMD processors) run `sudo make run-x86`
- If you are on `arm64` processors (Apple M1 Macs) run `sudo make run-arm`
#### Run locally,
```
- run `cd pkg/query-service/` to move to query-service directory
with ```const RELATIONAL_DATASOURCE_PATH = "./signoz.db".```
- 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 Macbooks) run `sudo make run-arm`
#### Run locally
```console
ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go
```
> Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh`
**_Query Service should now be available at `http://localhost:8080`_**
#### Docker Images
The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service
> If you want to see how, frontend plays with query service, you can run frontend also in you local env with the baseURL changed to `http://localhost:8080` in file `src/constants/env.ts` as the query-service is now running at port `8080`
```
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` -->
> 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` -->
# Contribute to SigNoz Helm Chart
**[`^top^`](#contributing-guidelines)**
<hr>
Need to update [https://github.com/SigNoz/charts](https://github.com/SigNoz/charts).
# 5. Contribute to SigNoz Helm Chart 📊
### To run helm chart for local development
**Need to Update: [https://github.com/SigNoz/charts](https://github.com/SigNoz/charts).**
- run `git clone https://github.com/SigNoz/charts.git` followed by `cd charts`
- it is recommended to use lightweight kubernetes (k8s) cluster for local development:
## 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:
- create a k8s cluster and make sure `kubectl` points to the locally created k8s cluster
- run `make dev-install` to install SigNoz chart with `my-release` release name in `platform` namespace.
- run `kubectl -n platform port-forward svc/my-release-signoz-frontend 3301:3301` to make SigNoz UI available at [localhost:3301](http://localhost:3301)
- create a k8s cluster and make sure `kubectl` points to the locally created k8s cluster,
- run `make dev-install` to install SigNoz chart with `my-release` release name in `platform` namespace,
**Before making any significant changes, please open an issue**. Each issue
should describe the following:
**Need to Update: [https://github.com/SigNoz/dashboards](https://github.com/SigNoz/dashboards)**
* 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
To contribute a new dashboard template for any service, follow the contribution guidelines in the [Dashboard Contributing Guide](https://github.com/SigNoz/dashboards/blob/main/CONTRIBUTING.md). In brief:
Discussing your proposed changes ahead of time will make the contribution
process smooth for everyone. Once the approach is agreed upon, make your changes
and open a pull request(s). Unless your change is small, Please consider submitting different PRs:
1. Create a dashboard JSON file.
2. Add a README file explaining the dashboard, the metrics ingested, and the configurations needed.
3. Include screenshots of the dashboard in the `assets/` directory.
4. Submit a pull request for review.
* 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.
* 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 in
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.
## Other Ways to Contribute
There are many other ways to get involved with the community and to participate in this project:
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).
- 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.
- If you find any bugs, please create an issue
- If you find anything missing in documentation, you can create an issue with label **documentation**
- If you want to build any new feature, please create an issue with label `enhancement`
- If you want to discuss something about the product, start a new [discussion](https://github.com/SigNoz/signoz/discussions)
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 :)
### Conventions to follow when submitting commits, PRs
1. We try to follow 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 - PR name should be prefixed with `fix(FE):`
2. Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows
3. Feel free to ping us on `#contributing` or `#contributing-frontend` on our slack community if you need any help on this :)
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 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.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
<palign="center">Überwache deine Anwendungen und behebe Probleme in deinen bereitgestellten Anwendungen. SigNoz ist eine Open Source Alternative zu DataDog, New Relic, etc.</p>
SigNoz hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren bereitgestellten Anwendungen zu beheben. SigNoz benutzt verteilte Einzelschritt-Fehlersuchen, um Einblick in deinen Software-Stack zu bekommen.
SigNoz hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren bereitgestellten Anwendungen zu beheben. Mit SigNoz können Sie Folgendes tun:
👉 Du kannst Werte wie die P99-Latenz und die Fehler Häufigkeit von deinen Services, externen API Aufrufen und einzelnen Endpunkten sehen.
👉 Visualisieren Sie Metriken, Traces und Logs in einer einzigen Oberfläche.
👉 Du kannst die Ursache des Problems finden, indem du zu dem Einzelschritt gehst, der das Problem verursacht und dir detaillierte Flamegraphs von einzelnen Abfragefehlersuchen anzeigen lassen.
👉 Sie können Metriken wie die p99-Latenz, Fehlerquoten für Ihre Dienste, externe API-Aufrufe und individuelle Endpunkte anzeigen.
👉 Erstelle Aggregate auf Basis von Fehlersuche Daten, um geschäftsrelevante Metriken zu erhalten.
👉 Sie können die Ursache des Problems ermitteln, indem Sie zu den genauen Traces gehen, die das Problem verursachen, und detaillierte Flammenbilder einzelner Anfragetraces anzeigen.
-Übersichtsmetriken deiner Anwendung wie RPS, 50tes/90tes/99tes Quantil Latenzen und Fehler Häufigkeiten.
- Übersicht der langsamsten Endpunkte deiner Anwendung.
-Sieh dir die genaue Einzelschritt-Fehlersuche deiner Abfrage an, um Fehler in nachgelagerten Diensten, langsamen Datenbank Abfragen und Aufrufen von Drittanbieter Diensten wie Zahlungsportalen, etc. zu finden.
-Filtere Einzelschritt-Fehlersuchen nach Dienstname, Latenz, Fehler, Stichworten/ Anmerkungen.
- Führe Aggregate auf Basis von Einzelschritt-Fehlersuche Daten (Ereignisse/Abstände) aus, um geschäftsrelevante Metriken zu erhalten. Du kannst dir z. B. die Fehlerrate und 99tes Quantil Latenz von `customer_type: gold`, `deployment_version: v2` oder `external_call: paypal` ausgeben lassen.
-Einheitliche Benutzeroberfläche für Metriken und Einzelschritt-Fehlersuchen. Du musst nicht zwischen Prometheus und Jaeger hin und her wechseln, um Fehler zu beheben.
-Einheitliche Benutzeroberfläche für Metriken, Traces und Logs. Keine Notwendigkeit, zwischen Prometheus und Jaeger zu wechseln, um Probleme zu debuggen oder ein separates Log-Tool wie Elastic neben Ihrer Metriken- und Traces-Stack zu verwenden.
- Überblick über Anwendungsmetriken wie RPS, Latenzzeiten des 50tes/90tes/99tes Perzentils und Fehlerquoten.
-Langsamste Endpunkte in Ihrer Anwendung.
-Zeigen Sie genaue Anfragetraces an, um Probleme in nachgelagerten Diensten, langsamen Datenbankabfragen oder Aufrufen von Drittanbieterdiensten wie Zahlungsgateways zu identifizieren.
- Filtern Sie Traces nach Dienstname, Operation, Latenz, Fehler, Tags/Annotationen.
-Führen Sie Aggregationen auf Trace-Daten (Ereignisse/Spans) durch, um geschäftsrelevante Metriken zu erhalten. Beispielsweise können Sie die Fehlerquote und die 99tes Perzentillatenz für `customer_type: gold` oder `deployment_version: v2` oder `external_call: paypal` erhalten.
- Native Unterstützung für OpenTelemetry-Logs, erweiterten Log-Abfrage-Builder und automatische Log-Sammlung aus dem Kubernetes-Cluster.
Als Entwickler fanden wir es anstrengend, uns für jede kleine Funktion, die wir haben wollten, auf Closed Source SaaS Anbieter verlassen zu müssen. Closed Source Anbieter überraschen ihre Kunden zum Monatsende oft mit hohen Rechnungen, die keine Transparenz bzgl. der Kostenaufteilung bieten.
@@ -66,45 +97,43 @@ Wir wollten eine selbst gehostete, Open Source Variante von Lösungen wie DataDo
Open Source gibt dir außerdem die totale Kontrolle über deine Konfiguration, Stichprobenentnahme und Betriebszeit. Du kannst des Weiteren neue Module auf Basis von SigNoz bauen, die erweiterte, geschäftsspezifische Funktionen anbieten.
### Unterstützte Programmiersprachen:
### Languages supported:
Wir unterstützen [OpenTelemetry](https://opentelemetry.io) als die Software Library, die du nutzen kannst um deine Anwendungen auszuführen. Jedes Framework und jede Sprache die von OpenTelemetry unterstützt wird, wird auch von SigNoz unterstützt. Einige der unterstützten, größeren Programmiersprachen sind:
Wir unterstützen [OpenTelemetry](https://opentelemetry.io) als Bibliothek, mit der Sie Ihre Anwendungen instrumentieren können. Daher wird jedes von OpenTelemetry unterstützte Framework und jede Sprache auch von SignNoz unterstützt. Einige der wichtigsten unterstützten Sprachen sind:
- Java
- Python
- NodeJS
- Go
- PHP
- .NET
- Ruby
- Elixir
- Rust
Hier findest du die vollständige Liste von unterstützten Programmiersprachen - https://opentelemetry.io/docs/
Bitte folge den [hier](https://signoz.io/docs/deployment/docker/) aufgelisteten Schritten um deine Anwendung mit Docker bereitzustellen.
Bitte folge den [hier](https://signoz.io/docs/install/docker/) aufgelisteten Schritten um deine Anwendung mit Docker bereitzustellen.
Die [Anleitungen zur Fehlerbehebung](https://signoz.io/docs/deployment/troubleshooting) könnten hilfreich sein, falls du auf irgendwelche Schwierigkeiten stößt.
Die [Anleitungen zur Fehlerbehebung](https://signoz.io/docs/install/troubleshooting/) könnten hilfreich sein, falls du auf irgendwelche Schwierigkeiten stößt.
<p>  </p>
### Bereitstellung mit Kubernetes und Helm
### Deploy in Kubernetes using Helm
Bitte folge den [hier](https://signoz.io/docs/deployment/helm_chart) aufgelisteten Schritten, um deine Anwendung mit Helm Charts bereitzustellen.
Prometheus ist gut, falls du dich nur für Metriken interessierst. Wenn du eine nahtlose Integration von Metriken und Einzelschritt-Fehlersuchen haben möchtest, ist die Kombination aus Prometheus und Jaeger nicht das Richtige für dich.
@@ -112,49 +141,76 @@ Unser Ziel ist es, eine integrierte Benutzeroberfläche aus Metriken und Einzels
<p>  </p>
### SigNoz vs. Jaeger
### SigNoz vs Jaeger
Jaeger kümmert sich nur um verteilte Einzelschritt-Fehlersuche. SigNoz erstellt sowohl Metriken als auch Einzelschritt-Fehlersuche, daneben haben wir auch Protokoll Verwaltung auf unserem Plan.
Außerdem hat SigNoz noch mehr spezielle Funktionen im Vergleich zu Jaeger:
- Jaeger UI zeigt keine Metriken für Einzelschritt-Fehlersuchen oder für gefilterte Einzelschritt-Fehlersuchen an
- Jaeger erstellt keine Aggregate für gefilterte Einzelschritt-Fehlersuchen, z. B. die P99 Latenz von Abfragen mit dem Tag - customer_type='premium', was hingegen mit SigNoz leicht umsetzbar ist.
- Jaeger UI zeigt keine Metriken für Einzelschritt-Fehlersuchen oder für gefilterte Einzelschritt-Fehlersuchen an.
- Jaeger erstellt keine Aggregate für gefilterte Einzelschritt-Fehlersuchen, z. B. die P99 Latenz von Abfragen mit dem Tag `customer_type=premium`, was hingegen mit SigNoz leicht umsetzbar ist.
<p>  </p>
### SigNoz vs Elastic
- Die Verwaltung von SigNoz-Protokollen basiert auf 'ClickHouse', einem spaltenbasierten OLAP-Datenspeicher, der aggregierte Protokollanalyseabfragen wesentlich effizienter macht.
- 50 % geringerer Ressourcenbedarf im Vergleich zu Elastic während der Aufnahme.
Wir haben Benchmarks veröffentlicht, die Elastic mit SignNoz vergleichen. Schauen Sie es sich [hier](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<p>  </p>
### SigNoz vs Loki
- SigNoz unterstützt Aggregationen von Daten mit hoher Kardinalität über ein großes Volumen, Loki hingegen nicht.
- SigNoz unterstützt Indizes über Daten mit hoher Kardinalität und hat keine Beschränkungen hinsichtlich der Anzahl der Indizes, während Loki maximale Streams erreicht, wenn ein paar Indizes hinzugefügt werden.
- Das Durchsuchen großer Datenmengen ist in Loki im Vergleich zu SigNoz schwierig und langsam.
Wir haben Benchmarks veröffentlicht, die Loki mit SigNoz vergleichen. Schauen Sie es sich [hier](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
Wir ❤️ Beiträge zum Projekt, egal ob große oder kleine. Bitte lies dir zuerst die [CONTRIBUTING.md](CONTRIBUTING.md), durch, bevor du anfängst, Beiträge zu SigNoz zu machen.
Du bist dir nicht sicher, wie du anfangen sollst? Schreib uns einfach auf dem #contributing Kanal in unserer [slack community](https://signoz.io/slack)
Wir ❤️ Beiträge zum Projekt, egal ob große oder kleine. Bitte lies dir zuerst die [CONTRIBUTING.md](CONTRIBUTING.md) durch, bevor du anfängst, Beiträge zu SigNoz zu machen.
### Unsere Projektbetreuer
Du bist dir nicht sicher, wie du anfangen sollst? Schreib uns einfach auf dem `#contributing` Kanal in unserer [Slack Community](https://signoz.io/slack).
Du findest unsere Dokumentation unter https://signoz.io/docs/. Falls etwas unverständlich ist oder fehlt, öffne gerne ein Github Issue mit dem Label `documentation` oder schreib uns über den Community Slack Channel.
Werde Teil der [Slack Community](https://signoz.io/slack) um mehr über verteilte Einzelschritt-Fehlersuche, Messung von Systemzuständen oder SigNoz zu erfahren und sich mit anderen Nutzern und Mitwirkenden in Verbindung zu setzen.
Werde Teil der [slack community](https://signoz.io/slack) um mehr über verteilte Einzelschritt-Fehlersuche, Messung von Systemzuständen oder SigNoz zu erfahren und sich mit anderen Nutzern und Mitwirkenden in Verbindung zu setzen.
Falls du irgendwelche Ideen, Fragen oder Feedback hast, kannst du sie gerne über unsere [Github Discussions](https://github.com/SigNoz/signoz/discussions) mit uns teilen.
Wie immer, danke an unsere großartigen Unterstützer!
Wie immer, Dank an unsere großartigen Mitwirkenden!
<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. SigNoz uses distributed tracing to gain visibility into your software stack.
👉 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
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 log management 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.
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
@@ -49,98 +140,99 @@ Come say Hi to us on [Slack](https://signoz.io/slack) 👋
- 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`
- Unified UI for metrics and traces. No need to switch from Prometheus to Jaeger to debug issues.
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:
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>
### SigNoz vs Jaeger
Jaeger only does distributed tracing. SigNoz does both metrics and traces, and we also have log management in our roadmap.
Jaeger only does distributed tracing. SigNoz supports metrics, traces and logs - all the 3 pillars of observability.
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>
### SigNoz vs Elastic
- SigNoz Logs management are based on ClickHouse, a columnar OLAP datastore which makes aggregate log analytics queries much more efficient
- 50% lower resource requirement compared to Elastic during ingestion
We have published benchmarks comparing Elastic with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<p>  </p>
### SigNoz vs Loki
- SigNoz supports aggregations on high-cardinality data over a huge volume while loki doesn’t.
- SigNoz supports indexes over high cardinality data and has no limitations on the number of indexes, while Loki reaches max streams with a few indexes added to it.
- Searching over a huge volume of data is difficult and slow in Loki compared to SigNoz
We have published benchmarks comparing Loki with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
@@ -418,8 +428,6 @@ if [[ $desired_os -eq 0 ]]; then
send_event "os_not_supported"
fi
# check_ports_occupied
# Check is Docker daemon is installed and available. If not, the install & start Docker for Linux machines. We cannot automatically install Docker Desktop on Mac OS
if ! is_command_present docker;then
@@ -449,27 +457,39 @@ if ! is_command_present docker; then
fi
fi
if has_docker_compose_plugin;then
echo"docker compose plugin is present, using it"
docker_compose_cmd="docker compose"
# Install docker-compose
if ! is_command_present docker-compose;then
request_sudo
install_docker_compose
else
docker_compose_cmd="docker-compose"
if ! is_command_present docker-compose;then
request_sudo
install_docker_compose
fi
fi
start_docker
# $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml up -d --remove-orphans || true
# check for open ports, if signoz is not installed
echo"or reach us on SigNoz for support https://signoz.io/slack"
echo"++++++++++++++++++++++++++++++++++++++++"
@@ -497,13 +517,15 @@ else
echo""
echo -e "🟢 Your frontend is running on http://localhost:3301"
echo""
echo"ℹ️ By default, retention period is set to 15 days for logs and traces, and 30 days for metrics."
echo -e "To change this, navigate to the General tab on the Settings page of SigNoz UI. For more details, refer to https://signoz.io/docs/userguide/retention-period \n"
echo"ℹ️ To bring down SigNoz and clean volumes : $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml down -v"
echo"ℹ️ To bring down SigNoz and clean volumes : $sudo_cmd$docker_compose_cmd -f ./docker/clickhouse-setup/docker-compose.yaml down -v"
zap.L().Error("[receiveGoogleAuth] sso requested but feature unavailable in org domain")
http.Redirect(w,r,fmt.Sprintf("%s?ssoerror=%s",redirectUri,"feature unavailable, please upgrade your billing plan to access this feature"),http.StatusMovedPermanently)
return
}
q:=r.URL.Query()
iferrType:=q.Get("error");errType!=""{
zap.L().Error("[receiveGoogleAuth] failed to login with google auth",zap.String("error",errType),zap.String("error_description",q.Get("error_description")))
http.Redirect(w,r,fmt.Sprintf("%s?ssoerror=%s",redirectUri,"failed to login through SSO "),http.StatusMovedPermanently)
return
}
relayState:=q.Get("state")
zap.L().Debug("[receiveGoogleAuth] relay state received",zap.String("state",relayState))
parsedState,err:=url.Parse(relayState)
iferr!=nil||relayState==""{
zap.L().Error("[receiveGoogleAuth] failed to process response - invalid response from IDP",zap.Error(err),zap.Any("request",r))
handleSsoError(w,r,redirectUri)
return
}
// upgrade redirect url from the relay state for better accuracy
// this is the source url that initiated the login request
redirectUri:=constants.GetDefaultSiteURL()
ctx:=context.Background()
if!ah.CheckFeature(model.SSO){
zap.L().Error("[receiveSAML] sso requested but feature unavailable in org domain")
http.Redirect(w,r,fmt.Sprintf("%s?ssoerror=%s",redirectUri,"feature unavailable, please upgrade your billing plan to access this feature"),http.StatusMovedPermanently)
return
}
err:=r.ParseForm()
iferr!=nil{
zap.L().Error("[receiveSAML] failed to process response - invalid response from IDP",zap.Error(err),zap.Any("request",r))
handleSsoError(w,r,redirectUri)
return
}
// the relay state is sent when a login request is submitted to
// Locking can only be done by the owner of the dashboard
// or an admin
// - Fetch the dashboard
// - Check if the user is the owner or an admin
// - If yes, lock/unlock the dashboard
// - If no, return 403
// Get the dashboard UUID from the request
uuid:=mux.Vars(r)["uuid"]
ifstrings.HasPrefix(uuid,"integration"){
RespondError(w,&model.ApiError{Typ:model.ErrorForbidden,Err:errors.New("dashboards created by integrations cannot be unlocked")},"You are not authorized to lock/unlock this dashboard")
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.