* 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>
<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.
👉 Führen Sie Aggregationen auf Trace-Daten durch, um geschäftsrelevante Metriken zu erhalten.
👉 Filtern und Abfragen von Logs, Erstellen von Dashboards und Benachrichtigungen basierend auf Attributen in den Logs.
👉 Automatische Aufzeichnung von Ausnahmen in Python, Java, Ruby und Javascript.
👉 Einfache Einrichtung von Benachrichtigungen mit dem selbst erstellbaren Abfrage-Builder.
-Ü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.
@@ -65,45 +102,46 @@ 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.
@@ -111,49 +149,79 @@ 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!
SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications. SigNoz uses distributed tracing to gain visibility into your software stack.
SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications. With SigNoz, you can:
👉 Visualise Metrics, Traces and Logs in a single pane of glass
@@ -35,19 +35,41 @@ SigNoz helps developers monitor applications and troubleshoot problems in their
👉 Filter and query logs, build dashboards and alerts based on attributes in logs
@@ -65,10 +86,13 @@ Come say Hi to us on [Slack](https://signoz.io/slack) 👋
- See exact request trace to figure out issues in downstream services, slow DB queries, call to 3rd party services like payment gateways, etc
- Filter traces by service name, operation, latency, error, tags/annotations.
- Run aggregates on trace data (events/spans) to get business relevant metrics. e.g. You can get error rate and 99th percentile latency of `customer_type: gold` or `deployment_version: v2` or `external_call: paypal`
- Native support for OpenTelemetry Logs, advanced log query builder, and automatic log collection from k8s cluster
@@ -144,6 +166,8 @@ Moreover, SigNoz has few more advanced features wrt Jaeger:
- 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
@@ -152,9 +176,10 @@ Moreover, SigNoz has few more advanced features wrt Jaeger:
- 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`
echo"or reach us on SigNoz for support https://signoz.io/slack"
echo"++++++++++++++++++++++++++++++++++++++++"
@@ -511,13 +534,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"
// this is the source url that initiated the login request
redirectUri:=constants.GetDefaultSiteURL()
ctx:=context.Background()
if!ah.CheckFeature(model.SSO){
zap.S().Errorf("[receiveSAML] sso requested but feature unavailable %s in org domain %s",model.SSO)
http.Redirect(w,r,fmt.Sprintf("%s?ssoerror=%s",redirectUri,"feature unavailable, please upgrade your billing plan to access this feature"),http.StatusMovedPermanently)
Embrace the spirit of collaboration and contribute to the success of our open-source project by adhering to these frontend development guidelines with precision and passion.
### React and Components
- Strive to create small and modular components, ensuring they are divided into individual pieces for improved maintainability and reusability.
- Avoid passing inline objects or functions as props to React components, as they are recreated with each render cycle.
Utilize careful memoization of functions and variables, balancing optimization efforts to prevent potential performance issues. [When to useMemo and useCallback](https://kentcdodds.com/blog/usememo-and-usecallback) by Kent C. Dodds is quite helpful for this scenario.
- Minimize the use of inline functions whenever possible to enhance code readability and improve overall comprehension.
- Employ the appropriate usage of useMemo and useCallback hooks for effective memoization of values and functions.
- Determine the appropriate placement of components:
- Pages should contain an aggregation of all components and containers.
- Commonly used components should reside in the 'components' directory.
- Parent components responsible for data manipulation should be placed in the 'container' directory.
- Strategically decide where to store data, either in global state or local components:
- Begin by storing data in local components and gradually transition to global state as necessary.
- Avoid importing default namespace `React` as the project is using `v18` and `import React from 'react'` is not needed anymore.
- When a function requires more than three arguments (except when memoized), encapsulate them within an object to enhance readability and reduce potential parameter complexity.
### API and Services
- Avoid incorporating business logic within API/Service files to maintain flexibility for consumers to handle it according to their specific needs.
- Employ the use of the useQuery hook for fetching data and the useMutation hook for updating data, ensuring a consistent and efficient approach.
- Utilize the useQueryClient hook when updating the cache, facilitating smooth and effective management of data within the application.
**Note -** In our project, we are utilizing React Query v3. To gain a comprehensive understanding of its features and implementation, we recommend referring to the [official documentation](https://tanstack.com/query/v3/docs/react/overview) as a valuable resource.
### Styling
- Refrain from using inline styling within React components to maintain separation of concerns and promote a more maintainable codebase.
- Opt for using the rem unit instead of px values to ensure better scalability and responsiveness across different devices and screen sizes.
### Linting and Setup
- It is crucial to refrain from disabling ESLint and TypeScript errors within the project. If there is a specific rule that needs to be disabled, provide a clear and justified explanation for doing so. Maintaining the integrity of the linting and type-checking processes ensures code quality and consistency throughout the codebase.
- In our project, we rely on several essential ESLint plugins, namely:
To ensure compliance with our coding standards and best practices, we encourage you to refer to the documentation of these plugins. Familiarizing yourself with the ESLint rules they provide will help maintain code quality and consistency throughout the project.
### Naming Conventions
- Ensure that component names are written in Capital Case, while the folder names should be in lowercase.
- Keep all other elements, such as variables, functions, and file names, in lowercase.
### Miscellaneous
- Ensure that functions are modularized and follow the Single Responsibility Principle (SRP). The function's name should accurately convey its purpose and functionality.
- Semantic division of functions into smaller units should be prioritized for improved readability and maintainability.
Aim to keep functions concise and avoid exceeding a maximum length of 40 lines to enhance code understandability and ease of maintenance.
- Eliminate the use of hard-coded strings or enums, favoring a more flexible and maintainable approach.
- Strive to internationalize all strings within the codebase to support localization and improve accessibility for users across different languages.
- Minimize the usage of multiple if statements or switch cases within a function. Consider creating a mapper and separating logic into multiple functions for better code organization.
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.