* fix: where clause getting values
* fix: group by filter custom option
* fix: id for group by and aggregate filters
* fix: repeating values
* refactor: group by uniq items
* fix: removing source key
* fix: keep where clause filter on operator change
* chore: clean up for console log and additional variables
---------
Co-authored-by: Chintan Sudani <46838508+techchintan@users.noreply.github.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: form type and removed disabled
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: added disabled to the button
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: created error message fn for required rule
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
* chore: disable condition is updated
* chore: isLoading is added in the disabled condition
---------
Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* test: added few test cases for Tooltip
* fix: some of the stale frontend package are removed
* chore: flat package is removed
---------
Co-authored-by: Sanjib <sanjib.sah@yahoo.com>
* feat: flag is updated
* feat: feature flag is updated
* feat: onrefetch is added on several actions on app
* chore: tab is updated
* chore: creating dashbaord error is handled
* fix: message is fixed
* chore: jest test is updated
* fix: disabled content being copied on keyDown action
* chore: tab index and role is updated
* fix: reverted lodash changes
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: add support for bool values in time series result
* chore: reserved target column can never be bool so removed obsolete code
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: position of where caluse is changed for metrics
* fix: by default enabled for logs & traces
* fix: to many api call for key on search
* fix: make chip on enter for exists/nexists
* fix: flickering issue on selection of option
* fix: text change
* fix: orderby payload issue
* fix: removed replace logic
* fix: responsive qb & disabled issue
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* feat: trace to logs and logs to trace is added
* chore: icons and spanId is updated
* chore: feedback changes are updated
---------
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: search filter validation on data source
* fix: value search not working for in/nin
* fix: unwanted key api while searching value & disabled tag
* fix: unnecessary , at end of in/nin value
* fix: added space after operator to get value
* fix: custom value not being selected
* fix: space after tag and value
* fix: api call debounce duration
* fix: suggested changes
* fix: updated query params
* fix: search filter data for logs and traces
* fix: search filter value data type issue
* fix: search filter value tag type
* fix: chip & iscolumn issue
* fix: null handled
* fix: label in list of search filter component
* fix: label in list of search filter component
* fix: code level changes
* fix: incorrect filter operators
* fix: key selection dancing
* fix: missing suggestion
* fix: keys are not getting updated
* fix: strange behaviour - removed duplicate options
* fix: driver id exclusion not working
* fix: loader when 0 options
* fix: exists/not-exists tag value issue
* fix: some weird behaviour about exists
* fix: added duplicate option remove logic at hook level
* fix: removed empty options from list
* fix: closable chip handler on edit
* fix: search filter validation on data source
* fix: value search not working for in/nin
* fix: unwanted key api while searching value & disabled tag
* fix: unnecessary , at end of in/nin value
* fix: added space after operator to get value
* fix: custom value not being selected
* fix: space after tag and value
* fix: api call debounce duration
* fix: suggested changes
* fix: updated query params
* fix: search filter data for logs and traces
* fix: search filter value data type issue
* fix: search filter value tag type
* fix: chip & iscolumn issue
* fix: null handled
* fix: label in list of search filter component
* fix: label in list of search filter component
* fix: code level changes
* fix: incorrect filter operators
* fix: key selection dancing
* fix: missing suggestion
* fix: keys are not getting updated
* fix: strange behaviour - removed duplicate options
* fix: driver id exclusion not working
* fix: loader when 0 options
* fix: exists/not-exists tag value issue
* fix: some weird behaviour about exists
* fix: added duplicate option remove logic at hook level
* fix: removed empty options from list
* fix: closable chip handler on edit
* fix: search filter validation on data source
* fix: lint issues is fixed
* fix: chip & iscolumn issue
* fix: lint changes are updated
* fix: undefined case handled
* fix: undefined case handled
* fix: removed settimeout
* fix: delete chip getting value undefined
* fix: payload correctness
* fix: incorrect value selection
* fix: key text typing doesn't change anything
* fix: search value issue
* fix: payload updated
* fix: auto populate value issue
* fix: payload updated & populate values
* fix: split value for in/nin
* fix: split value getting undefined
* fix: new version of search filter using papaparse library
* fix: removed unwanted space before operator
* fix: added exact find method & removed includes logic
* fix: issue when user create chip for exists not exists operator
* fix: white space logic removed
* fix: allow custom key in from list
* fix: issue when user create chip for exists not exists operator
* fix: removed unwanted includes
* fix: removed unwanted utils function
* fix: replaced join with papa unparse
* fix: removed get count of space utils
* fix: resolved build issue
* fix: code level fixes
* fix: space after key
* fix: quote a value if comma present
* fix: handle custom key object onchange
* chore: coverted into string
* Merge branch 'develop' into fix/issue-search-filter
* chore: eslint rule disabling is removed
* fix: serviceName contains sql
* chore: less restrictive expression
* fix: custom key selection issue
* chore: papa parse version is made exact
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: having value data type
* feat: connect new builder to dashboard
* Fix/query builder filters (#2623)
* feat: rename query data type
* fix: remove reset of groupBy
* fix: filters search
* fix: calls autocomplete times
* fix: response mapper
* fix: removee unnecessary field
* fix: no check ts types for old query builder
* fix: disable check utils old builder
* feat: add query builder to the alerts
* fix: alert response integration with query builder
* fix: validation of query builder rules
* fix: rules query builder
* fix: filter value with similar keys
* fix: null values for options
* fix: query builder disabled when exist formula
* fix: removing filter key with underscore
* feat: add builder data to metric application (#2665)
* feat: add builder data to metric application
* fix: query types to single variant
* fix: formula legend formatting
* fix: argumant name
* fix: date for graph
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: pipeline
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: having value data type
* feat: connect new builder to dashboard
* Fix/query builder filters (#2623)
* feat: rename query data type
* fix: remove reset of groupBy
* fix: filters search
* fix: calls autocomplete times
* fix: response mapper
* fix: removee unnecessary field
* fix: no check ts types for old query builder
* fix: disable check utils old builder
* fix: removing key from groupby is not updating value of orderby
* fix: removing operator is not updating value of orderby
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: clear filter is fixed
* chore: action bar empty query condition is handled
* feat: local state is clear for filters
(cherry picked from commit 6c11c6d4da)
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore: add payload types for autocomplete requests
* chore: update the query params file location and payload
* chore: add query range v3 API request/response payload types
* feat: metric attribute autocomplete for the aggregation type
* feat: add attrs filters autocomplete endpoints
* feat(logs): add tag attribute autocomplete for logs
* chore: added support for multiple datatype in value suggestion api for attributes
* feat: int64/float64 added for AttributeKeyDataType along with validation
* feat: filterAttributeValueResponse type updated
* fix: number type updated and query updated
* feat: remove tagType in keys autocomplete
* feat: return isColumn value correctly for attibute keys
* Update pkg/query-service/app/clickhouseReader/reader.go
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: don't skip empty strings in value autocomplete
* fix: allow empty string search
* feat: add top level column names of logs in key sugestion
* fix: tagType column removed
* feat: get attribute values from logs table for top level fields
* feat: don't throw error if dataType and tagType is not present
* feat: timerange select corrected
* feat: autocomplete for int/float added
* fix: reverted attributeValueResponse change
* fix: null values handled for int and float
* feat: add support for get log aggreagte attributes
* feat: aggreate attribute logic updated and body added in keys autocomplete
* fix: constants updaetd
* fix: body type updated and empty response for noop and count
* fix: isColumn logic updated
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat: resource attribute is added in the exception
* fix: build is fixed
* chore: methods is updated to post
* fix: build is fixed
* fix: listErrors, countErrors API request body
* chore: type of the function is updated
* chore: convertRawQueriesToTraceSelectedTags is updated
* fix: resource attribute is updated
* chore: selected tags is updated
* feat: key is updated
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: add span links support
* fix: handle an edge case
* chore: test is fixed
* chore: some of the refactoring is updated
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* logs is updated
* fix: log live tail is updated
* fix: live tail is fixed
* chore: build is fixed
* chore: useEffect is removed
* chore: getLogsAggregate callback is added in the useEffect
* style: corrected the positioning of the charts tooltip
* style: stored value for pixel in variable
* chore: logic is shifted to plugin
---------
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat: multiple values can be selected
* chore: tag value is updated
* fix: handle few edge cases
---------
Co-authored-by: makeavish <makeavish786@gmail.com>
* feat: add list and table views for logs
* chore: some of the changes are updated
* chore: some of the refactoring is done
* chore: px to updated to rem
* chore: constant is moved to local storage
* refactor: some of the refactoring is updated
* chore: some of the changes are updated
* fix: resize log table issue
* chore: logs is updated
* chore: resize header is updated
* chore: font observer is added in package json and hook is added for same
* chore: no logs text is updated
* chore: no logs text is updated
* chore: updated some feedback in raw logs line
* chore: types is added
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Chintan Sudani <csudani7@gmail.com>
* fix: it has been fixed of difficult to click on metrics graph points
* fix: resolve conflict
* fix: changed hover point & memoized the passed props
* fix: memo from develop
* fix: add condition for end and start stamps
* chore: type position is updated
---------
Co-authored-by: palashgdev <palashgdev@gmail.com>
* feat(query-service): ✨ Add health check route and handler
* chore(install-script): 🔧 use health endpoint with instead of services list
---------
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* create a visual loading state with header
* updates loading with WidgetHeader component
* chore: onview and ondelete is updated
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* fix: query builder formula fails to eval
* fix: result label set without reference
* chore: update tests
Co-authored-by: Prashant Shahi <prashant@signoz.io>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
* chore: layout changes are updated
* chore: colors is updated
* chore: action width is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* feat: react is updated from v17 to v18
* feat: antdv5 is updated (#1880)
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: all channel is updated move from usefetch to usequery
* fix: typescript is fixed
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* add commands to install sqlite3 in Makefile.
* Add code to check if it's running on Linux System.
* Revert "Add code to check if its running on Linux"
This reverts commit 552cfb08c9.
* Revert "add commands to install sqlite3 in Makefi"
This reverts commit 781c23d12d.
* Add Docuentation to install SQLite3.
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: v5 is in progress
* feat: antdv5 is updated
* fix: build is fixed
* fix: default config is over written by custom one
* chore: onchange handler is updated
* chore: overflow is hidden in the layout
* Update index.tsx
* fix: import is fixed
* chore: un used import is fixed
* fix: dark mode is updated in service map
* fix: config dropdown is updated
* fix: logs types is updated
* fix: copy clipboard notification is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* fix: reduced rate limit to 2 of each events in 1 min
* feat: added new event for length of filters in logs search page
* feat: added distributed cluster info
* fix: length of filters in logs
* feat: dashboard metadata with no rateLimit
* feat: active user
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: live tail time out is updated
* Update livetail.ts
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: allow multiple spaces between a filter expression
* fix: regex updated to respect spaces between a search string
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* Fix case sensitivity in query parsing - now the parser correctly recognize fields which contains uppercase letters
* fix: logs parser respects the case of fields
Co-authored-by: nityanandagohain <nityanandagohain@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* chore: introduce docker_multi_node_cluster and by default set to false
* chore(query-service): 🔧 include docker_multi_node_cluster for tests
Co-authored-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Prashant Shahi <me@prashantshahi.dev>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: remove shared variable in TTL
* fix: set distributed_ddl_task_timeout to 0 for async TTL
* chore: updated distributed_ddl_task_timeout to sync TTL queries
* feat: usage collection updated with new schema and logic
* fix: added exporter id and common collector id
* fix: upload usage only when license is present
* fix: handle if db doesn't exists
* fix: select query updated for usage collection to support distributed table
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* [feat] initial version for google oauth
* chore: arranged the sso packages and added prepare request for google auth
* feat: added google auth config page and backend to handle the request
* chore: code cleanup for domain SSO parsing
* Update constants.go
* chore: moved redirect sso error
* chore: lint issue fixed with domain
* chore: added tooltip for enforce sso and few changes to auth domain
* chore: moved question mark in enforce sso
* fix: resolved pr review comments
* chore: fixed type check for saml config
* fix: fixed saml config form
* chore: added util for transformed form values to samlconfig
Co-authored-by: mindhash <mindhash@mindhashs-MacBook-Pro.local>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: live tail is fixed
* fix: graph state is updated
* chore: step size is updated
* chore: xaxis config is updated
* chore: isDisabled state is updated for top navigation
* chore: selected interval is updated in the reducer
* fix: build is fixed
* chore: xAxis config is updated
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix: [alerts] [ch-query] added aliases in metric query result
* fix: added more column type support for target in ch query
* fix: added error handling when data type is unexpected in metric result
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* feat: added ui changes to support clickhouse queries in alert builder
* chore: minor fix to alert rules ui
* feat: alert form changes: ch query support, alert type selection
* chore: resolved review comments
* chore: added list for alert type selection instead
* chore: removed hard coded color and added antd/colors
* fix: resolved some issues found during testing alerts
* fix: moved alert defaults and added default queries for logs and traces
* feat: added default queries for logs and traces to reflect ts vars
* chore: fixed px to rem
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* feat: added ch query support
* fix: added new vars to resolve alert query format issue
* fix: replaced timestamp vars in metric query range
Co-authored-by: Pranay Prateek <pranay@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: logs is updated
* chore: width:100% is removed
* chore: position of filter is updated
* chore: min time and max time are now tracked from global state
Co-authored-by: Pranay Prateek <pranay@signoz.io>
* chore: 🔥 remove docker-compose-prod.yaml as redundant and update Makefile
* chore: 🔧 scrape otel-collector internal metrics in same container and related changes
* chore: 📌 Bump version of clickhouse to 22.8.8 LTS
Signed-off-by: Prashant Shahi <prashant@signoz.io>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: integrate config service with query service
* feat: add tooltip checkpoint
* feat: add support for dark and light mode icons
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: update the import from constant rather than static string
* chore: removed redundant div
* feat: added auto refresh component
* refactor: top nav is refactored
* externaltab-promql-to-querybuilder
* refactored the queries into separate file
* added logic for resourceattribute to tagFilter items conversion
* refactor: use useMemo
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: show messaging/cron/browser services in listing page
* chore: issue maximum of ten queries to clickhouse
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* feat: added patch rule api
* feat: added backend api for patching rule status
* fix: improved patchRule and also editRule
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: added rule url to the title link in slack message
* fix: corrected duplication of code for generator url in rules engine
* fix: removed unnecessary import in rules engine
* feat: metrics builder
* feat: tag key selection
* feat: metrics builder
* poc version
* added more changes to query builder
* added types for composite queries
* (feat): added edit rules and create rules forms
* added label key value input item
* (chore): added hidden labels for labelinput
* (chore): resolved some merge conflicts from develop
* (chore): added translations
* (chore): removed some old files in metric builder
* (chore): restored some of the files from develop branch
* (chore): restored env.ts
* (fix): solved empty builder queries errors
* (fix): changed queryIndex and formulaIndex type to string|number from number
* (feat): added chart preview for alert metric ui
* (feat): added threshold in chart, translations in alert form and a few fixes
* (fix): restoring env.ts
* (fix): placed threshold on horizontal line
* fix: resolved review comments
* fix: resolved label remove issue
* fix: removed console log
* fix: resolved issue with edit rule - old state values shown after update of threshold
* fix: resolved issue with match condition dropdown in alert ui
* fix: increased size of timeframe drop down
* fix: fixed label key value field and chart auto update when eval window changes
* feat: added a link for alert name in list alerts page and source for each rule update
* fix: resolved review coments in querysection of alerts ui
* feat: adding panel user guide in alerting form
* feat: added user guide panel in the alert form
* feat: added more help icon in user guide and fixed the sizing issue
Co-authored-by: Pranshu Chittora <pranshu@signoz.io>
* fix: remove requirement of exceptionType and serviceName from errorDetail page URL
* chore: id is updated
* chore: commented code is removed
* chore: eslint error is fixed
Co-authored-by: Palash <palashgdev@gmail.com>
* chore: 🔧 otel-collector config changes
* chore: 🗑️ remove redundant users.xml
* chore: 🔧 otel-config changes
- seperate scraper job for otel-collector and otel-collector-metrcs internal metrics
- use resourcedetection only for hostmetrics
- add swarm service name and task name in resource attributes env
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* added more changes to query builder
* added types for composite queries
* (feat): added edit rules and create rules forms
* (feat): added chart preview for alert metric ui
* (feat): added threshold in chart, translations in alert form and a few fixes
* feat: added a link for alert name in list alerts page and source for each rule update
Co-authored-by: Pranshu Chittora <pranshu@signoz.io>
* test: sign-up test are updated
* test: fail test of version api is added
* test: more test case over signup page is added
* test: coverage is added
* chore: auth json is updated
* test: auth token and refresh token test is updated
* feat: update ListErrors API
* feat: update error detail APIs and add a new API for fetching next prev error IDs
* feat: update GetNextPrevErrorIDs API to handle an edge case
* perf: use timestamp for fetching individual column
* feat: add countErrors API
* Queryrange params tests
* review suggestions, quantile, simple metric filter and some refactoring
* Add value type support
* Add supprot for re2 regex, refactor, update tests and other changes
* chore: update govaluate dep to signoz/govaluate
* chore: add name to grouping
* chore: add support for NOOP
* fix: make result format compatible with prom HTTP API
* chore: update clickhouse server and update query builder to use new schema
* chore: use metric_name in auto suggest APIs
* chore: add reduce operator and new aggregate functions
* chore: add support for not like op
* chore: fix the dip at the end for incomplete time range
* chore: rounddown the end to exclude the incomplete collection
* feat: dashboard layout is updated
* feat: onClick is made fixed
* feat: layout is updated
* feat: layout is updated
* feat: layout is updated
* fix: memo is removed and grid layout component is refactored to use use query
* fix: saveDashboard is updated
* feat: layout is fixed
* fix: tsc error are fixed
* fix: delete widgets is updated
* fix: useMount once is added
* fix: useMount once is removed
* chore: removed the commented code
Co-authored-by: Ankit Nayan <ankit@signoz.io>
*feat: Update query-service Go version to 1.17 #911
*chore: Upgrade to clickhouse versions v2 #751
*feat: Duration sorting in events table of Trace-filter page #826
*feat: Add grpc status code to traces view #975
*feat: added filtering by resource attributes #881
* feat: new dashboard widget's option selection
* fix: overflowing legend
* feat: delete menu item is of type danger
* feat: added keyboard events onFocus and onBlur
* feat: useFetch in tag value is removed and moved to use query
* feat: useFetch in all channels is removed and moved to use query
* feat: useFetch in edit rule is removed and moved to use query
* feat: useFetch in general settings is removed and moved to use query
* feat: useFetch in all alerts is changed into use query
- set information log level in clickhouse logger config
- maximum logs size 150m (3 files each of 50m)
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* feat👔 : getLatestVersion api is added
* chore: VERSION page is added
* feat: ✨ version page is added
* chore: all string is grabbed from locale
* chore: warning is removed
* chore: translation json is added
* chore: feedback about version is added
* chore: made two different functions
* unused import is removed
* feat: version changes are updated
* chore: if current version is present then it is displayed
* feat: dynamic step size for the data for graphs
* fix: remove console.log
* chore: add jest globals
* feat: add step size for dashboard
* chore: undo .eslintignore
* order is added in the url
* local min max duration is kept in memory to show min and max even after filtering by duration
* checkbox ordering does not change when the user selects or un-selects a checkbox
* (fix): Duplicate alerts in triggered alerts fixed by changing source api from /alert/groups to /alerts
* (fix): added comments for removed lines of group api call
* (fix): restored all getGroup
* chore: eslint is updated
* chore: some eslint fixes are made
* chore: some more eslint fix are updated
* chore: some eslint fix is made
* chore: styled components type is added
* chore: some more eslint fix are made
* chore: some more eslint fix are updated
* chore: some more eslint fix are updated
* fix: eslint fixes
Co-authored-by: Pranshu Chittora <pranshu@signoz.io>
* chore: 🔧 set dimensions_cache_size in signozspanmetrics processor
- add example usage of limit_percentage and spike_limit_percentage
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* bug: useHistory is removed and dashboard loading component is removed
* chore: new dashboard is updated
* chore: new dashboard is updated
* chore: sidenav is updated
* chore: getX console is removed
* chore: sidenav is updated with correct pathname
* feat: data time and graph label consistency across FE
* feat: saved state of sidebar and horizontal scroll fix for trace filter page
* feat: add Y-Axis unit for missing metrics graphs
* chore: update node version from 12.18 to 12.22
* fix: 24hr time unit on graph
* Initial work on s3
* some more work
* Add policy api
* Cleanup
* Add multi-tier TTL and remove storagePolicy API
* Cleanup
* Typo fix
* Revert constants
* Cleanup
* Add API to get disks
* Add more validations
* Initial work on e2e tests
* Basic ttl test
* Add test which checks for objects in Minio
* Address comments
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* Initial work on s3
* some more work
* Add policy api
* Cleanup
* Add multi-tier TTL and remove storagePolicy API
* Cleanup
* Typo fix
* Revert constants
* Cleanup
* Add API to get disks
* Add more validations
* Cleanup
* fix: save layout bug is resolved
* chore: onClick is also added in the component slider
* chore: dashboard Id is added
* chore: non dashboard widget is filtered out
* chore: panel layout stack issue is resolved
* chore: icon is updated
* feat: signup page design is updated
* chore: set get user pref is added
* chore: svg is added
* feat: signup page is updated
* feat: signup page is updated
* dayjs and less loader is added
* webpack config is added
* moment is removed
* useDebounceFunction hook is made
* old components and reducer is removed
* search is updated
* changes are upadted for the trace page as skeleton is ready
* chore: method is change from dayjs
* convertObject into params is updated
* initial filters are updated
* initial and final filter issue is fixed
* selection of the filter is updated
* filters are now able to selected
* checkbox disable when loading is in progress
* chore: getFilter filename is updated
* feat: clear all and exapanded filter is updated
* chore: clearAll and expand panel is updated
* feat: useClickOutSide hook is added
* chore: get filter url becomes encoded
* chore: get tag filters is added
* feat: search tags is wip
* bug: global max,min on change bug is resolved
* chore: getInitial filter is updated
* chore: expand panel is updated
* chore: get filter is updated
* chore: code smells is updated
* feat: loader is added in the panel header to show the loading
* chore: search tags in wip
* chore: button style is updated
* chore: search in wip
* chore: search ui is updated from the global state
* chore: search in wip
* chore: search is updated
* chore: getSpansAggregate section is updated
* useOutside click is updated
* useclickoutside hook is updated
* useclickoutside hook is updated
* parsing is updated
* initial filter is updated
* feat: trace table is updated
* chore: trace table is updated
* chore: useClickout side is updated for the search panel
* feat: unneccesary re-render and code is removed
* chore: trace table is updated
* custom component is removed and used antd search component
* error state is updated over search component
* chore: search bar is updated
* chore: left panel search and table component connection is updated
* chore: trace filter config is updated
* chore: for graph reducer is updated
* chore: graph is updated
* chore: table is updated
* chore: spans is updated
* chore: reducer is updated
* chore: graph component is updated
* chore: number of graph condition is updated
* chore: input and range slider is now sync
* chore: duration is updated
* chore: clearAllFilter is updated
* chore: duration slider is updated
* chore: duration is updated and panel body loading is updated
* chore: slider container is added to add padding from left to right
* chore: Select filter is updated
* chore: duration filter is updated
* chore: Divider is added
* chore: none option is added in both the dropdown
* chore: icon are updated
* chore: added padding in the pages component
* chore: none is updated
* chore: antd notification is added in the redux action
* chore: some of the changes are updated
* chore: display value is updated for the filter panel heading
* chore: calulation is memorised
* chore: utils function are updated in trace reducer
* chore: getFilters are updated
* tracetable is updated
* chore: actions is updated
* chore: metrics application is updated
* chore: search on clear action is updated
* chore: serviceName panel position is updated
* chore: added the label in the duration
* bug: edge case is fixed
* chore: some more changes are updated
* chore: some more changes are updated
* chore: clear all is fixed
* chore: panel heading caret is updated
* chore: checkbox is updated
* chore: isError handler is updated over initial render
* chore: traces is updated
* fix: tag search is updated
* chore: loading is added in the trace table and soring is introduced in the trace table
* bug: multiple render for the key is fixed
* Bug(UI): new suggestion is updated
* feat: isTraceFilterEnum function is made
* bug: new changes are updated
* chore: get Filter is updated
* chore: application metrics params is updated
* chore: error is added in the application metrics
* chore: filters is updated
* chore: expand panel edge case is updated
* chore: expand panel is updated and utls: updateUrl function is updated
* chore: reset trace state when unmounted
* chore: getFilter action is updated
* chore: api duration is updated
* chore: useEffect dependency is updated
* chore: filter is updated with the new arch
* bug: trace table issue is resolved
* chore: application rps url is updated for trace
* chore: duration filter is updated
* chore: search key is updated
* chore: filter is added in the search url
* bug: filter is fixed
* bug: filter is fixed
* bug: filter is fixed
* chore: reset trace data when unmounted
* chore: TopEnd point is added
* chore: getInitialSpanAggregate action is updated
* chore: application url is updated
* chore: no tags placeholder is updated
* chore: flow from customer is now fixed
* chore: search is updated
* chore: select all button is removed
* chore: prev filter is removed to show the result
* chore: config is updated
* chore: checkbox component is updated
* chore: span filter is updated
* chore: graph issue is resolved
* chore: selected is updated
* chore: all filter are selected
* feat: new trace page is updated
* chore: utils is updated
* feat: trace filter page is updated
* chore: duration is now fixed
* chore: duration clear filter is added
* chore: onClickCheck is updated
* chore: trace filter page is updated
* bug: some of bugs are resolved
* chore: duration body is updated
* chore: topEndPoint and application query is updated
* chore: user selection is updated in the duration filter
* chore: panel duration is updated
* chore: panel duration is updated
* chore: duration bug is solved
* chore: function display value is updated
* chore(docs): updated lines of frontend & query sec
* fix: update baseURL for local & gitpod
* chore: allow all for dev to run on https
* chore(docs): add maintainer note at docker-compose
* chore: update gitignore to ignore .db & logs
* chore: upd lines of fe & query-service & notes
* feat: gitpodify the signoz with all envs. & ports
* fix: relative path of .scripts dir
* chore(ci): distribute tasks in gitpod.yml
* fix: run docker image while init
* fix: add empty url option for `baseURL`
* refactor(query-service): ♻️ Update ldflags and Makefile for dynamic versioning
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore: 🎨 Use blacnk spaces indentation in build details
* chore(query-service): 🎨 small build details format changes
* refactor(query-service): ♻️ refactor ldflags for go build
* build(docker): 🔨 Two compose files for arm and amd
* refactor(docker): ⚰️ remove env file from install script
* refactor: ⚰️ remove .gitkeep files from data folder
* chore(build): ⚰️ remove env files and update contributing docs
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* build: ♻️ use two compose files in Makefile
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* chore(docker): 🚚 revert back to using same dir and pin image tag
* Revert "chore: Add migration file path in otel collector config (#628)"
This reverts commit 8467d6a00c.
Signed-off-by: Prashant Shahi <prashant@signoz.io>
* fixed svg color mismatch in light mode and dark mode
Added props in parent file
fixed and added fillColor as props to the highest order of parent
* set React.CSSProperties
props renamed and code reused
* fixed toggle Button contrast in Light Theme
refactored to styled props and fixed theme
set defaultChecked to isDarkMode value
* Refactored boolean logic
* chore: changed lib
* chore: changed lib
* chore: changed lib
* chore: changed lib
* chore: changes in params
* chore: changes in params
* chore: moving telemetry to a separate package
* feat: enabling telemetry via env var
* chore: removing posthog api_key
* feat: send heartbeat every 6hr
* feat: enabled version in application
* feat: added getter and setter apis and struct for user preferences
* feat: added version to properties to event
* feat: added apis to set and get user preferences and get version
* chore: refactored get and set userPreferences apis to dao pattern
* chore: added checks for telemetry enabled and anonymous during initialization
* chore: changed anonymous user functionality
* chore: sanitization
* chore: added uuid for userPreferences to send when user is anonymous
* build: integrate sql migrations for clickhouse
* feat: support error/exception attributes for trace
* chore: fixing dependencies for docker go client libs
* feat: get trace filter api checkpoint
* chore: fixing dependencies for go-migrate
* feat: add new columns
* feat: move mirgate run from docker to code
* fix: migration file 404 issue
* feat: getSpanFilter API
* fix: migrate version naming bug
* chore: change url param format to array
* feat: add getTagFilter API
* feat: add getFilteredSpans API
* fix: using OFFSET in sqlx driver
* feat: aggregates API on getFilteredSpan, use IN and NOT IN for tag filtering
* feat: add more function support to span aggregate API
* fix: null component edge case
* feat: groupBy support for filteredSpanAggregate
* feat: add function param to span aggregate API
* feat: add support to return totalSpans in getFilteredSpans API
* fix: don't return null string as keys in span filters
* chore: remove SQL migrations(moved to otel collector)
* fix: null string issue in aggregate API
* Merge main
* fix: trace API db query param
* fix: signoz sql db path
* fix: case when both error and ok status are selected
Co-authored-by: Ankit Nayan <ankit@signoz.io>
There are other files that can affect the correctness of the code rather
than the src files like the deployment yamls, Makefile etc.
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
This workflow will push up to 2 images with 4 tags, depending on
if they changed since the last image.
* query-service:<git sha>
* query-service:master
* frontend:<git sha>
* frontend:master
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
As of now, the 'e2e-k3s' workflow will require the 'ok-to-test' label in
order to get triggered.
In addition to that, on each change to the PR on the relevant files,
Github will remove the label from it and it will be required again.
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
* ci: adding 'e2e' GH workflows
The flow contains of multiple steps:
* build 'query-service' and 'frontend' images and push them to the image registry
* deploy a disposable k3s cluster
* deploy the app on the cluster
* set a tunnel to allow accessing the UI from the web browser
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
* ci: requiring the 'ok-to-test' label for running some workflows
As of now, the 'e2e' workflow will require the 'ok-to-test' label in
order to get triggered.
In addition to that, on each change to the PR, Github will remove the
label from it and it will be required again.
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
The flow contains of multiple steps:
* build 'query-service' and 'frontend' images and push them to the image registry
* deploy a disposable k3s cluster
* deploy the app on the cluster
* set a tunnel to allow accessing the UI from the web browser
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
query-service job is currently building flattener and flattener job is
currently building query-service.
This PR should fix that mix.
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
* fix(UI): graph legends is fixed
* chore(UI): some changes regarding the color of the chart is updated
* full view css is fixed
* usage explorer graph is fixed
* default query is removed
* fix: scroll is removed
While porting the webpack config file from typescript to
javascript, commit 3e0f5a866d accidentally removed
style-loader from config setting. Due to this, the CSS file
wasn't being attached with the bundled html file.
Fixed this by adding the style-loader back to config settings
in webpack.
* feat(UI): sendfeedback is updated
* chore(UI): config slack hook url is updated
* fix(chore): button size is updated
* fix(bug): user feedback is updated
* chore(bug): z-index is fixed
* fix(bug): applayout is updated
* fix(bug): applayout is updated
* fix(FE): removed time filter from settings page #374
* declared an array consisting of routes,in which we won't have to render time filter component
* fix(UI): global down is removed from the alerts page
Co-authored-by: Mohmin2 <mohmin@expansionjs.com>
Co-authored-by: Mohmn <naqashmohmin1@gmail.com>
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* fix(FE): removed time filter from settings page #374
* declared an array consisting of routes,in which we won't have to render time filter component
Co-authored-by: Mohmin2 <mohmin@expansionjs.com>
* feat: enables prometheus rules and alerts which can be sent to alertmanager
* chore: adding configs for alertmanager, alert, and prom
* chore: alerts WIP
* chore: alerts WIP
* chore: alerts WIP
* chore: setRules API will update rules
* chore: initialization of prometheus related stuff moved to separate function
* chore: alerts WIP
* chore: alerts WIP
* fix: r.promConfig was nil
* feat: routing alertmanager apis to alertmanager service at nginx
* chore: not writing to localDB if string parsing gives error
* feat: list alerts API
* chore: error in creating multiple groups
* feat: CRUD APIs for rules working
* chore: changed prometheus version
* chore: updated AlertingRuleResponse struct's Id json value
* chore: updated prometheus's version
* chore: will load rules from database on bootup
* feat: crud APIs for notification channels WIP
* fix: changed ALERTMANAGER_API_PREFIX
* chore: enabling scrape and notify discover manager
* chore: fixing path for signoz.db
* chore: used transactions for rules APIs
* chore: editchannel API updated and other apis refactored
* chore: fixed merge conflicts
* chore: changing createChannel api from yaml to json reader
* chore: changing editChannel api from yaml to json reader
* chore: porting loadChannels to json format
* chore: editRule returning rule not found
* chore: pre-release
* chore: fixed db path for persistence
* release: v0.5.0
* chore(UI): @types/node version is updated and port sync finder is removed
* chore(UI): tsconfig is updated
* fix(bug) webpack config is updated
* fix(bug): some eslint error is now fixed
* chore(lock): yarn lock is fixed
* fix(bug): removed scss loaded both in webpack config
* chore(bug): some unwanted package.json is removed
* chore(bable): babelrc is updated
* chore(node-version): node version is updated in the nvm
* chore(bug): gulp file is removed
* feat(UI): web vitals is added in the development env
* chore(webpack): file-loader is added for font
* chore(UI): monaco-editor is added
* feat(UI): Editor component is added
* feat(UI): List All Alerts is updated
* feat(UI): Create Alert is updated
* feat(API): create alert api is added
* feat(page): EditRules is added
* feat(UI): Alerts WIP
* chore(typescript): typing are updated
* update(UI): useFetch hook is updated
* chore(UI): component for alerts is updated
* chore(UI): create alert is updated
* feat(UI): delete alert is now added
* feat(api): Delete api is added
* chore(route): edit rule route is updated
* update(UI): get getAll put Alert functionality is added
* update(UI): Alert Channels is updated in setting tab
* chore(UI): alerts api is updated
* chore(UI): getGroup api is updated
* chore(UI): chprev api is updated
* chore(UI): getGroup interface is exportable
* feat(UI):Alerts is added
* temp
* feat(UI): triggered alerts is added
* chore(UI): deafault key for the alert is updated
* chore(UI): alerts linting is fixed
* chore(UI): alerts linting is fixed
* chore(UI): sort order is implemented
* feat(FE): channels WIP
* feat(UI): slack ui is updated
* Channels is updated
* feat(UI): slack ui is updated
* fix(ROUTES): Channels have a seperate route
* fix(build): production build is fixed by adding the file loader
* fix(UI): create slack config is updated
* fix(BUG): delete alert rule is fixed
* fix(bug): after successfull edit user is navigated to all rules
* fix(bug): alert is updated
* fix(bug): expandable row is updated
* fix(bug): filter and grouping of the alerts is fixed
* chore(alerts): default title and description of the channels is updated
* fix(UI): filtering is fixed
* fix(UI): baseUrl is redirected to the nginx and text is updated
* fix(BUG): destoryed the inactive pane
* chore(UI): placeholder for the triggered alerts is updated
* chore(FE): placeholder is updated
* chore(UI): placeholder is updated for the create alert
* bug(UI): now correct label is shown to the user over application metrics
* bug(UI): nano sec is converted when user select duration in trace custom filter
* chore: Router provider is removed
* update: localstorage set get is added
* update: AppLayout is updated
* fix: adapter type is fixed
* fix: Metric and metric application is now fixed
* fix: Metrics page application is updated
* fix: Tracepage is made fix
* fix: app layout is updated
* fix: global Time reducer is updated
* refactor: getService api is added
* update: metrics reducer is added
* update: service list is fixed
* fix: Metrics page is updated
* fix: api for the metrics application are done
* fix: metrics reducer is updated
* fix: metrics application is updated
* fix: content layout shift is removed
* fix: Metric application is updated
* fix: metrics application is updated
* fix: Metrics application is updated
* fix: Application tab is updated
* chore: graph is updated
* chore: Metrics application is updated
* fix: chart x-axis is label is now fixed
* fix: application tab is updated
* fix: Top end points is added and re-redering in stopped
* fix: fixed the edge case when user changes the global time then updated data is fetched
* fix: Settings page is updated
* chore: AppLayout is updated
* chore: AppLayout is updated
* chore: applayout is updated
* chore: changed default loading is true in the global time reducer
* chore: Global Time option is fixed
* chore: Signup and Applayout is updated
* chore: Button text is updated
* chore: Button in the metrics application is updated
* chore: dashboard menu item position in the side nav is updated
* fix: Logo is now redirecting to the Application page
* fix: Application page is updated
* fix: AppLayout is updated
* fix: starting and ending time is fixed
* fix: Metrics Application is updated to the previous chart data
* update: getDateArrayFromStartAndEnd function is added
* update: Empty graph data is added
* fix: External Call and DB Call Tabs graph are updated when there is no data a empty data is rendered
* fix: onboarding modal condition is fixed and new calling api every 50000 ms to fetch the data
* fix: onBoarding condition modal is updated
* fix: onBoarding condition modal is updated
* fix: onBoarding condition modal is updated
* fix: Application chart re rendering issue is fixed
* fix: Application page is changed when we change the global time
* chore: step size is increased from 30 to 60
* chore: build is now fixed
* chore: metrics application page is updated
* fix: empty graph is now fixed
* fix: application metrics graph is now fixed
* update: seperate api for trace page are made
* fix: /trace page is updated
* chore: Filter of the Trace page is updated
* chore: initial trace page is updated
* fix: changing the filters,fetches the updated values from the backend
* chore: Trace page is updated
* update: trace page is updated
* fix: trace page is updated
* Refresh Text is updated
* update: Trace page is updated
* update:header is updated
* update: Trace page is updated
* update: Trace page is updated
* update: Trace page is updated
* update: Trace page is updated
* update: why did you re render is added
* update: trace page is updated
* update: trace page is updated
* update: Loading is updated
* update: start and end time is updated
* fix: metrics and metrics page redudant calls is reduced
* fix: Metrics Application page reducer is reset on the unmount
* fix: Trace page reducer is reset when the page is unmounted
* fix: Custom Visualizations is now fetching only one api to get the details
* fix: Trace page is updated
* fix: composeEnhancers is updated
* fix: metrics application is updated
* chore: webpack eslint fixes are updated
* chore: some of the type definition is added
* fix(UI): Trace page bug is resolved
* chore(UI): if length of the selected tags is zero updated the value over the form
* chore(UI): check for the no spans filter is updated
* added docker generated files to .gitignore
* update webpack.config.js to webpack.config.ts
* change web dev server to use port from env
* update webpack-dev-server to 4.3.1, update import statement for chartjsAdapter
* Revert "added docker generated files to .gitignore"
This reverts commit 494cfcda0e.
* use portfindersync for webpack dev server and remove .env.sample
* add webpack config typing to prod config
* chore: cypress version is updated
* chore: tsconfig is updated
* update: default fixture json for the api are added
* feat: redux-store is exposed to the Cypress
* test: Login test is updated
* test: global time test for default and metrics application is updated
* chore: removed duplicate test case and commented unused lines
* feat: add ttl for clickhouse setup in signoz
* feat: added ttl for metrics table
Signed-off-by: Yash Sharma <yashrsharma44@gmail.com>
* feat: changed the api to use type and duration as params
Signed-off-by: Yash Sharma <yashrsharma44@gmail.com>
* added a getter for ttl endpoint
Signed-off-by: Yash Sharma <yashrsharma44@gmail.com>
* added a feature to retunr ttl for both metrics and traces
Signed-off-by: Yash Sharma <yashrsharma44@gmail.com>
* chore: Router provider is removed
* update: localstorage set get is added
* update: AppLayout is updated
* fix: adapter type is fixed
* fix: Metric and metric application is now fixed
* fix: Metrics page application is updated
* fix: Tracepage is made fix
* fix: app layout is updated
* fix: global Time reducer is updated
* refactor: getService api is added
* update: metrics reducer is added
* update: service list is fixed
* fix: Metrics page is updated
* fix: api for the metrics application are done
* fix: metrics reducer is updated
* fix: metrics application is updated
* fix: content layout shift is removed
* fix: Metric application is updated
* fix: metrics application is updated
* fix: Metrics application is updated
* fix: Application tab is updated
* chore: graph is updated
* chore: Metrics application is updated
* fix: chart x-axis is label is now fixed
* fix: application tab is updated
* fix: Top end points is added and re-redering in stopped
* fix: fixed the edge case when user changes the global time then updated data is fetched
* fix: Settings page is updated
* chore: AppLayout is updated
* chore: AppLayout is updated
* chore: applayout is updated
* chore: changed default loading is true in the global time reducer
* chore: Global Time option is fixed
* chore: Signup and Applayout is updated
* chore: Button text is updated
* chore: Button in the metrics application is updated
* chore: dashboard menu item position in the side nav is updated
* fix: Logo is now redirecting to the Application page
* fix: Application page is updated
* fix: AppLayout is updated
* fix: starting and ending time is fixed
* fix: Metrics Application is updated to the previous chart data
* update: getDateArrayFromStartAndEnd function is added
* update: Empty graph data is added
* fix: External Call and DB Call Tabs graph are updated when there is no data a empty data is rendered
* fix: onboarding modal condition is fixed and new calling api every 50000 ms to fetch the data
* fix: onBoarding condition modal is updated
* fix: onBoarding condition modal is updated
* fix: onBoarding condition modal is updated
* fix: Application chart re rendering issue is fixed
* fix: Application page is changed when we change the global time
* chore: step size is increased from 30 to 60
* chore: build is now fixed
* chore: metrics application page is updated
* fix: empty graph is now fixed
* fix: application metrics graph is now fixed
* fix: Time selection for custom is fixed
* fix: usage graph is fixed
* fix: global time selector is fixed and empty graph on click handler is added
* fix: metrics application is now fixed
* fix: fav icon is fixed and bootstrap is removed
* fix: return type is updated for the global time reducer
* fix: theme.css is replaced with .min.css
* update: useThemeSwitcher is removed from the graph component and value is grabed from the reducer
* update: instrumentation page is updated
* update: react-css-theme-switcher package is removed
* update: darkMode is updated
* fix: Sider component is updated
* feat: signoz can now scale up in docker swarm
* chore: adding empty folders for volume mount
* chore: using image 0.4.0
* chore: adding folder to persist signoz.db
* refactor: store is updated
* temp
* fix: eslint error is fixed
* fix:eslint linting error is updated
* chore: react-grid-layout is added
* chore: linting changes are updated
* chore: linting changes are updated
* chore: @types/node is moved to devDependecies and @types/react-grid-layout is added
* chore: tsconfig is updated
* chore: updateUrl function is updated
* feat: All Dashboard is updated
* feat: All Dashboard page is updated
* feat: New Dashboard is added
* feat: App Layout is updated
* feat: Add Tags is updated
* chore: uuid package is added
* chore: AppRoutes is updated
* chore: UI components are updated
* chore: baseUrl is added in the apiUrl and removed from other api request
* chore: commonApi Response is updated
* chore: ErrorResponse handler is updated
* chore: useFetch hook is made
* chore: axios instance is updated
* chore:some of the changes are updated
* chore: list of all dashboard types is updated
* chore: logic is updated to the global state
* chore: all dashboard data is fetched from the global state
* chore: unnessary prop is removed
* chore: changes are updated
* chore: getAll and create is updated
* chore: getDashboard is updated
* chore: isEditMode is moved to the global state
* chore: get,getAll is updated
* chore: update title,tags,description is now fixed
* chore: new widget is updated
* chore: graph is updated
* chore: input component accept input props
* chore: name of the dashboard is updated
* chore: Widgets page in WIP
* chore: types for the error api is updated
* chore: getQuery data is updated
* chore: widget types is updated
* default widget is updated
* chore: getQuery is updated
* chore: Add Query is updated
* fix: creating new widget bug is resolved
* chore: widget type is updated
* chore: Query error is updated
* chore: query error and success state is handled
* chore: label of graph in WIP
* chore: legend input placeholder is updated
* chore: changes are updated
* chore: no data component is updated and error component is rendered along with the data
* chore: data fetching over the initial render is fixed over the initial mount
* chore: convertDateToAndPm is updated
* chore: x-axis label is now fixed
* chore: label is updated
* chore: labels name is updated
* chore: labels name is updated
* chore: labels color is updated
* chore: values are parsed in float
* chore: tags is updated
* chore: datasets type is updated
* chore: graph is updated
* chore: more eslint rules are updated
* chore: some of the linting changes and data is updated
* chore: chart.js version is updated
* chore: gitignore is updated
* chore: graph component is updated
* chore: apply functionality is updated
* chore: dashboard is now saved
* chore: getChartData is updated
* feat: Dashboard graph is reflected
* chore: some of the bugs is resolved
* fix: aspect ratio is made false
* chore: some small css are fixed
* chore: widgetId and graphType is preAdded if present in the search params
* chore: user is now able to change the time via global time and reflect new graph values
* chore: query is updated
* chore: onBlurHandler is updated
* fix: usage explorer is now fixed
* chore: bar element is updated
* chore: chartjs adapter is added
* chore: old instance for the charts are removed via re-chart
* chore: re-chart is removed
* chore: get chart data is updated
* chore: added the counter in the useEffect
* chore: history is added
* chore: some of the features are updated
* chore: history package is updated
* chore: AppRoutes is updated
* fix: some are components breaking while moving from BrowserRouter to Router
* chore: Dashboard icon is updated
* chore: Full screen component is updated
* stepSize (optional) is added in the widgets type
* fix: fetching query result is fixed
* update: start and end time function is updated
* fix: Alert color is updated
* update: Query fetching is updated
* fix: start and end time is fixed
* fix: chartjs data is compatable for larger data set and no ajax call for empty query is fixed
* fix: last 1 week selection is fixed
* fix: legends is added
* update: antd version is updated
* feat: value graph is updated
* feat: Title is added for the value graph
* fix: Full Screen view is updated with refresh functionality and alignment is updated to flex-end
* fix: Graph component is updated
* fix: metric graph are fixed
* feature: Delete widget functionality is updated
* fix: empty value bug is resolved
* fix: delete widget position is fixed
* fix: resize functionality is fixed
* fix: sumation of the query is fixed
* update: default legend is removed
* update: resize handlers is removed and service metric component is updated
* fix: legends is updated
* update: querySuccess reducer is updated
* Modal component is updated
* fix: ant-d tab css is updated of the tabs
* update: stringToHTML is made
* update: graph component is updated
* fix: several component in the metric and traces are updated
* wip: build error is fixed
* fix: metric section is fixed
* update: console.log are commented
* fix: onClick graph re-render is stopped
* fix: trace graph is updated
* fix: updated the min,max time for the value type graph
* getQueryMaxMin Time is updated
* fix: trace chart is updated
* fix: re-render is fixed
* fix: localstorage persistance is there
* update: if label is not present legend is not displayed
* fix: graph is changed while updated the global time
* fix: default title is updated while creation of the dashboard
* update: external database call tabs are made of same size
* fix: query graph max-min time is updated in the full screen mode
* fix: Request per sec graph is fixed
* fix: ErrorChart is fixed
Co-authored-by: Palash gupta <palashgdev@gmail.com>
* added signoz.db to gitignore
* model and crud methods for dashboard package
* added signoz.db to dockerignore
* feat: dashboards crud WIP
* chore: moving response format to correct file
* chore: adding dependencies for sqlite3
* feat: CRUD APIs ready for dashboards
* fix: sqlite needs cgo enabled and hence need to add some flags in building go code
* feat: provision dashboards using json
* chore: mounting dashboard folder to container
* WIP promql support
* forked prometheus and promhouse integrated
* removing __debug_bin from git
* feat: prometheus config file to load
* feat: read prometheus config from args
* fix: WIP fixing errors in docker build
* feat: added clickhousemetricswrite exporter in metrics
* feat: changing otelcol image tag
* fix: read prometheus.yml from config flag in docker-compose
* fix: WIP clickhouse connection error
* fix: used signoz/prometheus tag v1.9.4
* chore: response format as in prometheus
* chore: query_range works with clickhouse reader and throws not implemented error for druid
* chore: moved ApiError struct to model
* feat: enabled instant query api for metrics
* chore: parser for instant query api params
* chore: video config is updated as it will not generate any video while running cypress
* chore: cypress.env.json is added in the env file
* chore: tsConfig is updated
* feature: Cypress is updated with some of the test cases
* chore: default test case is removed
* chore: convertToNanoSecondsToSecond function is updated
* chore: lock files, node_modules are ignored in git
* test: metric are updated
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* react-app-env.d.ts is moved to the typings
* webpack config for development and production is updated
* extra browser router component is removed
* loable component is made
* spinner component is updated
* route are updated
* routes are imported is Loadable fashion with chunkName
* AppRoute is updated
* AppWrapper is changed to AppRouter
* merge conflits are resolved
* Loadable component is updated
Co-authored-by: Ankit Nayan <ankit@signoz.io>
* feat: added statusCode for grpc
* feat: errors will now have grpc errors too
* removing dependency on viper
* grpc error calculation added to druid queries
* tsconfig-paths-webpack-plugin package is added
* baseUrl is updated
* webpack config for development and production are updated
* baseUrl is removed in the file
* more .. is being removed
* chore: removed the commented part in the webpack.config
Co-authored-by: FIPalash Gupta <palash@indiagold.co>
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
There are primarily 3 areas in which you can contribute in SigNoz
## Welcome to SigNoz Contributing section 🎉
- Frontend ( written in Typescript, React)
- Query Service (written in Go)
- Flattener Processor (written in Go)
Hi there! We're thrilled that you'd like to contribute to this project, thank you for your interest. Whether it's a bug report, new feature, correction, or additional documentation, we greatly value feedback and contributions from our community.
Depending upon your area of expertise & interest, you can chose one or more to contribute. Below are detailed instructions to contribute in each area
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.
# Develop Frontend
- We accept contributions made to the [SigNoz `develop` branch]()
Need to update [https://github.com/SigNoz/signoz/tree/main/frontend](https://github.com/SigNoz/signoz/tree/main/frontend)
## Finding contributions to work on 💬
### Contribute to Frontend with Docker installation of SigNoz
Looking at the existing issues is a great way to find something to contribute on.
Also, have a look at these [good first issues label](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to start with.
-`git clone https://github.com/SigNoz/signoz.git && cd signoz`
- comment out frontend service section at `deploy/docker/clickhouse-setup/docker-compose.yaml#L38`
- run `cd deploy && docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d` (this will install signoz locally without the frontend service)
-`cd ../frontend` and change baseURL to `http://localhost:8080` in file `src/constants/env.ts`
-`yarn install`
-`yarn dev`
### Contribute to Frontend without installing SigNoz backend
- [How to Contribute](#2-how-to-contribute-%EF%B8%8F)
- [Develop Frontend](#3-develop-frontend-)
- [Contribute to Frontend with Docker installation of SigNoz](#31-contribute-to-frontend-with-docker-installation-of-signoz)
- [Contribute to Frontend without installing SigNoz backend](#32-contribute-to-frontend-without-installing-signoz-backend)
- [Contribute to Backend (Query-Service)](#4-contribute-to-backend-query-service-)
- [To run ClickHouse setup](#41-to-run-clickhouse-setup-recommended-for-local-development)
- [Contribute to SigNoz Helm Chart](#5-contribute-to-signoz-helm-chart-)
- [To run helm chart for local development](#51-to-run-helm-chart-for-local-development)
- [Other Ways to Contribute](#other-ways-to-contribute)
If you don't want to install SigNoz backend just for doing frontend development, we can provide you with test environments which you can use as the backend. Please ping us in #contributing channel in our [slack community](https://join.slack.com/t/signoz-community/shared_invite/zt-lrjknbbp-J_mI13rlw8pGF4EWBnorJA) and we will DM you with `<test environment URL>`
# 1. General Instructions 📝
-`git clone https://github.com/SigNoz/signoz.git && cd signoz/frontend`
- change baseURL to `<test environment URL>` in file `src/constants/env.ts`
-`yarn install`
-`yarn dev`
## 1.1 For Creating Issue(s)
Before making any significant changes and before filing a new issue, please check [existing open](https://github.com/SigNoz/signoz/issues?q=is%3Aopen+is%3Aissue), or [recently closed](https://github.com/SigNoz/signoz/issues?q=is%3Aissue+is%3Aclosed) issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can.
**_Frontend should now be accessible at `http://localhost:3000/application`_**
Need to update [https://github.com/SigNoz/signoz/tree/main/pkg/query-service](https://github.com/SigNoz/signoz/tree/main/pkg/query-service)
- **Requirement** - what kind of use case are you trying to solve?
- **Proposal** - what do you suggest to solve the problem or improve the existing
situation?
- Any open questions to address❓
### To run ClickHouse setup (recommended for local development)
#### If you are reporting a bug, details like these are incredibly useful:
-`git clone https://github.com/SigNoz/signoz.git && cd signoz/deploy`
-comment out frontend service section at `docker/clickhouse-setup/docker-compose.yaml#L38`
-comment out query-service section at `docker/clickhouse-setup/docker-compose.yaml#L22`
-Run `docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d` (this will install signoz locally without the frontend and query-service)
-`STORAGE=clickhouse ClickHouseUrl=tcp://localhost:9001 go run main.go`
-A reproducible test case or series of steps.
-The version of our code being used.
-Any modifications you've made relevant to the bug🐞.
-Anything unusual about your environment or deployment.
**_Query Service should now be available at `http://localhost:8080`_**
Discussing your proposed changes ahead of time will make the contribution
process smooth for everyone 🙌.
> If you want to see how, frontend plays with query service, you can run frontend also in you local env with the baseURL changed to `http://localhost:8080` in file `src/constants/env.ts` as the query-service is now running at port `8080`
**[`^top^`](#)**
<hr>
# Contribute to Flattener Processor
## 1.2 For Pull Request(s)
Not needed to run for the ClickHouse setup
Contributions via pull requests are much appreciated. Once the approach is agreed upon ✅, make your changes and open a Pull Request(s).
Before sending us a pull request, please ensure that,
more info at [https://github.com/SigNoz/signoz/tree/main/pkg/processors/flattener](https://github.com/SigNoz/signoz/tree/main/pkg/processors/flattener)
- Fork the SigNoz repo on GitHub, clone it on your machine.
- Create a branch with your changes.
- You are working against the latest source on the `develop` branch.
- Modify the source; please focus only on the specific change you are contributing.
- Ensure local tests pass.
- Commit to your fork using clear commit messages.
- Send us a pull request, answering any default questions in the pull request interface.
- Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation
- Once you've pushed your commits to GitHub, make sure that your branch can be auto-merged (there are no merge conflicts). If not, on your computer, merge main into your branch, resolve any merge conflicts, make sure everything still runs correctly and passes all the tests, and then push up those changes.
- Once the change has been approved and merged, we will inform you in a comment.
## General Instructions
You can always reach out to `ankit@signoz.io` to understand more about the repo and product. We are very responsive over email and [slack](https://join.slack.com/t/signoz-community/shared_invite/zt-lrjknbbp-J_mI13rlw8pGF4EWBnorJA).
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
- If you find any bugs, please create an issue
- If you find anything missing in documentation, you can create an issue with label **documentation**
- If you want to build any new feature, please create an issue with label `enhancement`
- If you want to discuss something about the product, start a new [discussion](https://github.com/SigNoz/signoz/discussions)
**Note:** Unless your change is small, **please** consider submitting different Pull Request(s):
### Conventions to follow when submitting commits, PRs
1. We try to follow https://www.conventionalcommits.org/en/v1.0.0/
* 1️⃣ First PR should include the overall structure of the new component:
* Readme, configuration, interfaces or base classes, etc...
* This PR is usually trivial to review, so the size limit does not apply to
it.
* 2️⃣ Second PR should include the concrete implementation of the component. If the
size of this PR is larger than the recommended size, consider **splitting** ⚔️ it into
multiple PRs.
* If there are multiple sub-component then ideally each one should be implemented as
a **separate** pull request.
* Last PR should include changes to **any user-facing documentation.** And should include
end-to-end tests if applicable. The component must be enabled
only after sufficient testing, and there is enough confidence in the
stability and quality of the component.
More specifically the commits and PRs should have type specifiers prefixed in the name. [This](https://www.conventionalcommits.org/en/v1.0.0/#specification) should give you a better idea.
e.g. If you are submitting a fix for an issue in frontend - PR name should be prefixed with `fix(FE):`
You can always reach out to `ankit@signoz.io` to understand more about the repo and product. We are very responsive over email and [SLACK](https://signoz.io/slack).
2. Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows
### Pointers:
- If you find any **bugs** → please create an [**issue.**](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=bug_report.md&title=)
- If you find anything **missing** in documentation → you can create an issue with the label **`documentation`**.
- If you want to build any **new feature** → please create an [issue with the label **`enhancement`**.](https://github.com/SigNoz/signoz/issues/new?assignees=&labels=&template=feature_request.md&title=)
- If you want to **discuss** something about the product, start a new [**discussion**.](https://github.com/SigNoz/signoz/discussions)
3. Feel free to ping us on `#contributing` or `#contributing-frontend` on our slack community if you need any help on this :)
<hr>
### Conventions to follow when submitting Commits and Pull Request(s).
We try to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), more specifically the commits and PRs **should have type specifiers** prefixed in the name. [This](https://www.conventionalcommits.org/en/v1.0.0/#specification) should give you a better idea.
e.g. If you are submitting a fix for an issue in frontend, the PR name should be prefixed with **`fix(FE):`**
- Follow [GitHub Flow](https://guides.github.com/introduction/flow/) guidelines for your contribution flows.
- Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
**[`^top^`](#)**
<hr>
# 2. How to Contribute 🙋🏻♂️
#### There are primarily 2 areas in which you can contribute to SigNoz
- [**Frontend**](#3-develop-frontend-) (Written in Typescript, React)
- [**Backend**](#4-contribute-to-backend-query-service-) (Query Service, written in Go)
Depending upon your area of expertise & interest, you can choose one or more to contribute. Below are detailed instructions to contribute in each area.
**Please note:** If you want to work on an issue, please ask the maintainers to assign the issue to you before starting work on it. This would help us understand who is working on an issue and prevent duplicate work. 🙏🏻
⚠️ If you just raise a PR, without the corresponding issue being assigned to you - it may not be accepted.
**[`^top^`](#)**
<hr>
# 3. Develop Frontend 🌚
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/frontend](https://github.com/SigNoz/signoz/tree/develop/frontend)**
Also, have a look at [Frontend README.md](https://github.com/SigNoz/signoz/blob/develop/frontend/README.md) sections for more info on how to setup SigNoz frontend locally (with and without Docker).
## 3.1 Contribute to Frontend with Docker installation of SigNoz
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Install signoz locally **without** the frontend,
- Add / Uncomment the below configuration to query-service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L47`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L47)
sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d
```
- `cd ../frontend` and change baseURL in file [`frontend/src/constants/env.ts#L2`](https://github.com/SigNoz/signoz/blob/develop/frontend/src/constants/env.ts#L2) and for that, you need to create a `.env` file in the `frontend` directory with the following environment variable (`FRONTEND_API_ENDPOINT`) matching your configuration.
If you have backend api exposed via frontend nginx:
```
FRONTEND_API_ENDPOINT=http://localhost:3301
```
If not:
```
FRONTEND_API_ENDPOINT=http://localhost:8080
```
- Next,
```
yarn install
yarn dev
```
### Important Notes:
The Maintainers / Contributors who will change Line Numbers of `Frontend` & `Query-Section`, please update line numbers in [`/.scripts/commentLinesForSetup.sh`](https://github.com/SigNoz/signoz/blob/develop/.scripts/commentLinesForSetup.sh)
**[`^top^`](#)**
## 3.2 Contribute to Frontend without installing SigNoz backend
If you don't want to install the SigNoz backend just for doing frontend development, we can provide you with test environments that you can use as the backend.
- Clone the SigNoz repository and cd into signoz/frontend directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz/frontend
````
- Create a file `.env` in the `frontend` directory with `FRONTEND_API_ENDPOINT=<testenvironmentURL>`
- Next,
```
yarn install
yarn dev
```
Please ping us in the [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) channel or ask `@Prashant Shahi` in our [Slack Community](https://signoz.io/slack) and we will DM you with `<testenvironmentURL>`.
**Frontend should now be accessible at** [`http://localhost:3301/services`](http://localhost:3301/services)
**[`^top^`](#)**
<hr>
# 4. Contribute to Backend (Query-Service) 🌑
**Need to Update: [https://github.com/SigNoz/signoz/tree/develop/pkg/query-service](https://github.com/SigNoz/signoz/tree/develop/pkg/query-service)**
## 4.1 Prerequisites
### 4.1.1 Install SQLite3
- Run `sqlite3` command to check if you already have SQLite3 installed on your machine.
- If not installed already, Install using below command
- on Linux
- on Debian / Ubuntu
```
sudo apt install sqlite3
```
- on CentOS / Fedora / RedHat
```
sudo yum install sqlite3
```
## 4.2 To run ClickHouse setup (recommended for local development)
- Clone the SigNoz repository and cd into signoz directory,
```
git clone https://github.com/SigNoz/signoz.git && cd signoz
```
- run `sudo make dev-setup` to configure local setup to run query-service,
- Comment out `frontend` service section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L68`](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L68)
- Comment out `query-service` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml#L41`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml#L41)
<img width="1068" alt="Screenshot 2022-07-14 at 22 48 07" src="https://user-images.githubusercontent.com/52788043/179044151-a65ba571-db0b-4a16-b64b-ca3fadcf3af0.png">
- add below configuration to `clickhouse` section at [`deploy/docker/clickhouse-setup/docker-compose.yaml`,](https://github.com/SigNoz/signoz/blob/develop/deploy/docker/clickhouse-setup/docker-compose.yaml)
```
ports:
- 9001:9000
```
<img width="1013" alt="Screenshot 2022-07-14 at 22 50 37" src="https://user-images.githubusercontent.com/52788043/179044544-a293d3bc-4c4f-49ea-a276-505a381de67d.png">
- run `cd pkg/query-service/` to move to `query-service` directory,
- Then, you need to create a `.env` file with the following environment variable
```
SIGNOZ_LOCAL_DB_PATH="./signoz.db"
```
to set your local environment with the right `RELATIONAL_DATASOURCE_PATH` as mentioned in [`./constants/constants.go#L38`,](https://github.com/SigNoz/signoz/blob/develop/pkg/query-service/constants/constants.go#L38)
- Now, install SigNoz locally **without** the `frontend` and `query-service`,
- If you are using `x86_64` processors (All Intel/AMD processors) run `sudo make run-x86`
- If you are on `arm64` processors (Apple M1 Macs) run `sudo make run-arm`
#### Run locally,
```
ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse go run main.go
The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service
```
docker pull signoz/query-service
```
```
docker pull signoz/query-service:latest
```
```
docker pull signoz/query-service:develop
```
### Important Note:
The Maintainers / Contributors who will change Line Numbers of `Frontend` & `Query-Section`, please update line numbers in [`/.scripts/commentLinesForSetup.sh`](https://github.com/SigNoz/signoz/blob/develop/.scripts/commentLinesForSetup.sh)
**Query Service should now be available at** [`http://localhost:8080`](http://localhost:8080)
If you want to see how the frontend plays with query service, you can run the frontend also in your local env with the baseURL changed to `http://localhost:8080` in file [`frontend/src/constants/env.ts`](https://github.com/SigNoz/signoz/blob/develop/frontend/src/constants/env.ts) as the `query-service` is now running at port `8080`.
<!-- Instead of configuring a local setup, you can also use [Gitpod](https://www.gitpod.io/), a VSCode-based Web IDE.
Click the button below. A workspace with all required environments will be created.
[](https://gitpod.io/#https://github.com/SigNoz/signoz)
> To use it on your forked repo, edit the 'Open in Gitpod' button URL to `https://gitpod.io/#https://github.com/<your-github-username>/signoz` -->
**[`^top^`](#)**
<hr>
# 5. Contribute to SigNoz Helm Chart 📊
**Need to Update: [https://github.com/SigNoz/charts](https://github.com/SigNoz/charts).**
## 5.1 To run helm chart for local development
- Clone the SigNoz repository and cd into charts directory,
```
git clone https://github.com/SigNoz/charts.git && cd charts
```
- It is recommended to use lightweight kubernetes (k8s) cluster for local development:
There are many other ways to get involved with the community and to participate in this project:
- Use the product, submitting GitHub issues when a problem is found.
- Help code review pull requests and participate in issue threads.
- Submit a new feature request as an issue.
- Help answer questions on forums such as Stack Overflow and [SigNoz Community Slack Channel](https://signoz.io/slack).
- Tell others about the project on Twitter, your blog, etc.
Again, Feel free to ping us on [`#contributing`](https://signoz-community.slack.com/archives/C01LWQ8KS7M) or [`#contributing-frontend`](https://signoz-community.slack.com/archives/C027134DM8B) on our slack community if you need any help on this :)
Portions of this software are licensed as follows:
* All content that resides under the "ee/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
* All third party components incorporated into the SigNoz Software are licensed under the original license provided by the owner of the applicable component.
* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
<palign="center">Überwache deine Anwendungen und behebe Probleme in deinen bereitgestellten Anwendungen. SigNoz ist eine Open Source Alternative zu DataDog, New Relic, etc.</p>
SigNoz hilft Entwicklern, Anwendungen zu überwachen und Probleme in ihren bereitgestellten Anwendungen zu beheben. SigNoz benutzt verteilte Einzelschritt-Fehlersuchen, um Einblick in deinen Software-Stack zu bekommen.
👉 Du kannst Werte wie die P99-Latenz und die Fehler Häufigkeit von deinen Services, externen API Aufrufen und einzelnen Endpunkten sehen.
👉 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.
👉 Erstelle Aggregate auf Basis von Fehlersuche Daten, um geschäftsrelevante Metriken zu erhalten.
- Ü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.
Als Entwickler fanden wir es anstrengend, uns für jede kleine Funktion, die wir haben wollten, auf Closed Source SaaS Anbieter verlassen zu müssen. Closed Source Anbieter überraschen ihre Kunden zum Monatsende oft mit hohen Rechnungen, die keine Transparenz bzgl. der Kostenaufteilung bieten.
Wir wollten eine selbst gehostete, Open Source Variante von Lösungen wie DataDog, NewRelic für Firmen anbieten, die Datenschutz und Sicherheitsbedenken haben, bei der Weitergabe von Kundendaten an Drittanbieter.
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:
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:
- Java
- Python
- NodeJS
- Go
Hier findest du die vollständige Liste von unterstützten Programmiersprachen - https://opentelemetry.io/docs/
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/install/troubleshooting/) könnten hilfreich sein, falls du auf irgendwelche Schwierigkeiten stößt.
<p>  </p>
### Bereitstellung mit Kubernetes und 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.
Unser Ziel ist es, eine integrierte Benutzeroberfläche aus Metriken und Einzelschritt-Fehlersuchen anzubieten, ähnlich wie es SaaS Anbieter wie Datadog tun, mit der Möglichkeit von erweitertem filtern und aggregieren von Fehlersuchen. Etwas, was in Jaeger aktuell fehlt.
<p>  </p>
### 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.
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).
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.
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!
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
👉 You can see metrics like p99 latency, error rates for your services, external API calls and individual end points.
👉 You can find the root cause of the problem by going to the exact traces which are causing the problem and see detailed flamegraphs of individual request traces.
👉 Run aggregates on trace data to get business relevant metrics
👉 Filter and query logs, build dashboards and alerts based on attributes in logs
👉 Record exceptions automatically in Python, Java, Ruby, and Javascript
- Unified UI for metrics, traces and logs. No need to switch from Prometheus to Jaeger to debug issues, or use a logs tool like Elastic separate from your metrics and traces stack.
- Application overview metrics like RPS, 50th/90th/99th Percentile latencies, and Error Rate
- Slowest endpoints in your application
- See exact request trace to figure out issues in downstream services, slow DB queries, call to 3rd party services like payment gateways, etc
- Filter traces by service name, operation, latency, error, tags/annotations.
-Aggregate metrics on filtered traces. Eg, you can get error rate and 99th percentile latency of `customer_type: gold` or `deployment_version: v2` or `external_call: paypal`
-Unified UI for metrics and traces. No need to switch from Prometheus to Jaeger to debug issues.
-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
Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics and traces, then current experience of stitching together Prometheus & Jaeger is not great.
Prometheus is good if you want to do just metrics. But if you want to have a seamless experience between metrics and traces, then current experience of stitching together Prometheus & Jaeger is not great.
Our goal is to provide an integrated UI between metrics & traces - similar to what SaaS vendors like Datadog provides - and give advanced filtering and aggregation over traces, something which Jaeger currently lack.
@@ -112,27 +152,60 @@ Our goal is to provide an integrated UI between metrics & traces - similar to wh
### SigNoz vs Jaeger
Jaeger only does distributed tracing. SigNoz does both metrics and traces, and we also have log management in our roadmap.
Jaeger only does distributed tracing. SigNoz supports metrics, traces and logs - all the 3 pillars of observability.
Moreover, SigNoz has few more advanced features wrt Jaeger:
- Jaegar UI doesn’t show any metrics on traces or on filtered traces
- Jaeger can’t get aggregates on filtered traces. For example, p99 latency of requests which have tag - customer_type='premium'. This can be done easily on SigNoz
<p>  </p>
### SigNoz vs Elastic
- SigNoz Logs management are based on ClickHouse, a columnar OLAP datastore which makes aggregate log analytics queries much more efficient
- 50% lower resource requirement compared to Elastic during ingestion
We have published benchmarks comparing Elastic with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
<p>  </p>
### SigNoz vs Loki
- SigNoz supports aggregations on high-cardinality data over a huge volume while loki doesn’t.
- SigNoz supports indexes over high cardinality data and has no limitations on the number of indexes, while Loki reaches max streams with a few indexes added to it.
- Searching over a huge volume of data is difficult and slow in Loki compared to SigNoz
We have published benchmarks comparing Loki with SigNoz. Check it out [here](https://signoz.io/blog/logs-performance-benchmark/?utm_source=github-readme&utm_medium=logs-benchmark)
We ❤️ contributions big or small. Please read [CONTRIBUTING.md](CONTRIBUTING.md) to get started with making contributions to SigNoz.
We ❤️ contributions big or small. Please read [CONTRIBUTING.md](CONTRIBUTING.md) to get started with making contributions to SigNoz.
Not sure how to get started? Just ping us on `#contributing` in our [slack community](https://signoz.io/slack)
Not sure how to get started? Just ping us on `#contributing` in our [slack community](https://join.slack.com/t/signoz-community/shared_invite/zt-lrjknbbp-J_mI13rlw8pGF4EWBnorJA)
Join the [slack community](https://join.slack.com/t/signoz-community/shared_invite/zt-lrjknbbp-J_mI13rlw8pGF4EWBnorJA) to know more about distributed tracing, observability, or SigNoz and to connect with other users and contributors.
Join the [slack community](https://signoz.io/slack) to know more about distributed tracing, observability, or SigNoz and to connect with other users and contributors.
If you have any ideas, questions, or any feedback, please share on our [Github Discussions](https://github.com/SigNoz/signoz/discussions)
<palign="center">Monitore seus aplicativos e solucione problemas em seus aplicativos implantados, uma alternativa de código aberto para soluções como DataDog, New Relic, entre outras.</p>
SigNoz auxilia os desenvolvedores a monitorarem aplicativos e solucionar problemas em seus aplicativos implantados. SigNoz usa rastreamento distribuído para obter visibilidade em sua pilha de software.
👉 Você pode verificar métricas como latência p99, taxas de erro em seus serviços, requisições às APIs externas e endpoints individuais.
👉 Você pode encontrar a causa raiz do problema acessando os rastreamentos exatos que estão causando o problema e verificar os quadros detalhados de cada requisição individual.
👉 Execute agregações em dados de rastreamento para obter métricas de negócios relevantes.
- Métricas de visão geral do aplicativo, como RPS, latências de percentual 50/90/99 e taxa de erro
- Endpoints mais lentos em seu aplicativo
- Visualize o rastreamento preciso de requisições de rede para descobrir problemas em serviços downstream, consultas lentas de banco de dados, chamadas para serviços de terceiros, como gateways de pagamento, etc.
- Filtre os rastreamentos por nome de serviço, operação, latência, erro, tags / anotações.
- Execute agregações em dados de rastreamento (eventos / extensões) para obter métricas de negócios relevantes, como por exemplo, você pode obter a taxa de erro e a latência do 99º percentil de `customer_type: gold` or `deployment_version: v2` or `external_call: paypal`
- Interface de Usuário unificada para métricas e rastreios. Não há necessidade de mudar de Prometheus para Jaeger para depurar problemas.
Sendo desenvolvedores, achamos irritante contar com fornecedores de SaaS de código fechado para cada pequeno recurso que queríamos. Fornecedores de código fechado costumam surpreendê-lo com enormes contas no final do mês de uso sem qualquer transparência .
Queríamos fazer uma versão auto-hospedada e de código aberto de ferramentas como DataDog, NewRelic para empresas que têm preocupações com privacidade e segurança em ter dados de clientes indo para serviços de terceiros.
Ser open source também oferece controle completo de sua configuração, amostragem e tempos de atividade. Você também pode construir módulos sobre o SigNoz para estender recursos específicos do negócio.
### Linguagens Suportadas:
Nós apoiamos a biblioteca [OpenTelemetry](https://opentelemetry.io) como a biblioteca que você pode usar para instrumentar seus aplicativos. Em outras palavras, SigNoz oferece suporte a qualquer framework e linguagem que suporte a biblioteca OpenTelemetry. As principais linguagens suportadas incluem:
- Java
- Python
- NodeJS
- Go
Você pode encontrar a lista completa de linguagens aqui - https://opentelemetry.io/docs/
Prometheus é bom se você quiser apenas fazer métricas. Mas se você quiser ter uma experiência perfeita entre métricas e rastreamentos, a experiência atual de unir Prometheus e Jaeger não é ótima.
Nosso objetivo é fornecer uma interface do usuário integrada entre métricas e rastreamentos - semelhante ao que fornecedores de SaaS como o Datadog fornecem - e fornecer filtragem e agregação avançada sobre rastreamentos, algo que a Jaeger atualmente carece.
<p>  </p>
### SigNoz ou Jaeger
Jaeger só faz rastreamento distribuído. SigNoz faz métricas e rastreia, e também temos gerenciamento de log em nossos planos.
Além disso, SigNoz tem alguns recursos mais avançados do que Jaeger:
- A interface de usuário do Jaegar não mostra nenhuma métrica em traces ou em traces filtrados
- Jaeger não pode obter agregados em rastros filtrados. Por exemplo, latência p99 de solicitações que possuem tag - customer_type='premium'. Isso pode ser feito facilmente com SigNoz.
Você pode encontrar a documentação em https://signoz.io/docs/. Se você tiver alguma dúvida ou sentir falta de algo, sinta-se à vontade para criar uma issue com a tag `documentation` no GitHub ou entre em contato conosco no canal da comunidade no Slack.
Junte-se a [comunidade no Slack](https://signoz.io/slack) para saber mais sobre rastreamento distribuído, observabilidade ou SigNoz e para se conectar com outros usuários e colaboradores.
Se você tiver alguma ideia, pergunta ou feedback, compartilhe em nosso [Github Discussões](https://github.com/SigNoz/signoz/discussions)
Como sempre, obrigado aos nossos incríveis colaboradores!
SigNoz is looking forward to working with security researchers across the world to keep SigNoz and our users safe. If you have found an issue in our systems/applications, please reach out to us.
## Supported Versions
We always recommend using the latest version of SigNoz to ensure you get all security updates
## Reporting a Vulnerability
If you believe you have found a security vulnerability within SigNoz, please let us know right away. We'll try and fix the problem as soon as possible.
**Do not report vulnerabilities using public GitHub issues**. Instead, email <security@signoz.io> with a detailed account of the issue. Please submit one issue per email, this helps us triage vulnerabilities.
Once we've received your email we'll keep you updated as we fix the vulnerability.
## Thanks
Thank you for keeping SigNoz and our users safe. 🙇
# 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`
# Check is Docker daemon is installed and available. If not, the install & start Docker for Linux machines. We cannot automatically install Docker Desktop on Mac OS
echo"+++++++++++ IMPORTANT READ ++++++++++++++++++++++"
echo"Docker Desktop must be installed manually on Mac OS to proceed. Docker can only be installed automatically on Ubuntu / openSUSE / SLES / Redhat / Cent OS"
echo"+++++++++++ IMPORTANT READ ++++++++++++++++++++++"
echo"Docker must be installed manually on your machine to proceed. Docker can only be installed automatically on Ubuntu / openSUSE / SLES / Redhat / Cent OS"
echo -e "🟢 Your frontend is running on http://localhost:3000"
echo -e "🟢 Your frontend is running on http://localhost:3301"
echo""
echo"ℹ️ By default, retention period is set to 7 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"
if[$setup_type=='clickhouse'];then
echo"ℹ️ To bring down SigNoz and clean volumes : sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml down -v"
else
echo"ℹ️ To bring down SigNoz and clean volumes : sudo docker-compose -f docker/druid-kafka-setup/docker-compose-tiny.yaml down -v"
fi
echo"ℹ️ To bring down SigNoz and clean volumes : $sudo_cmd docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml down -v"
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.