* chore: change logs connection test spec to be based on an attrib value
* chore: disallow unknown fields while unmarshalling JSON for an integration
* chore: add description field to collected metric spec
* chore: update logs connection test for builtin integrations
* chore: update logic for calculating logs connection status
* chore: update annotations for pre blocks in configuration instructions
* chore: update list of collected metrics for postgres integration
* chore: change non-string units to string in metrics collected list
* chore: some cleanups for postgres config instructions
* chore: some cleanup to metrics connection status resource labels
* chore: remove stub pipeline in postgres integration - no interesting log parsing to be done
* chore: add test expectations for integration metrics connection status
* chore: reorg logs connection status calculation for parallelization
* chore: add interface for reader.GetMetricLastReceivedTsMillis
* chore: add plumbing for calculating integration metrics connection status
* chore: impl and test mocks for reader.GetMetricReceivedLatest
* chore: wrap things up and get test passing
* chore: some cleanup
* chore: some more cleanup
* chore: use prom metric names for integration connection test
* chore: add test for dashboards for installed integrations
* feat: include dashboards for installed integrations in API response
* chore: add test expectation for getting installed integration dashboard by id
* feat: add support for retrieving installed integration dashboards by id
* chore: add dashboard id validation for integrations
* chore: refactor: inject sqlx.DB into opamp.initDB instead of DB file name
* chore: reorganize test utils a little
* chore: add test validating pipelines for installed integrations show up in pipelines list
* chore: get basic integration pipelines testcase passing
* chore: reconcile experimental changes with latest state of develop
* chore: add integration test for reordering of pipelines
* chore: marker for integration pipelines using Id
* chore: hookup propagation of installed integration pipelines by opamp
* chore: add util for mapping slices
* chore: add support for reordering integration pipelines
* chore: exclude user saved integration pipelines if no longer installed
* chore: flesh out rest of intgeration pipelines scenarios
* chore: handle scenario when an integration is installed before any pipelines exist
* chore: notify agentConf of update after uninstalling an integration
* chore: some minor cleanup
* chore: some more cleanup
* chore: update ee server for changed controllers
* chore: some more cleanup
* chore: change builtin integration id prefix to avoid using colons that break yaml
* chore: update builtin integration id in test
* feat: support for timeshift in logs
* fix: post process the timeshift function result
* fix: start and end times adjusted
* fix: only apply functions instead of entire post process
* fix: unnecessary error handling removed
* fix: apply functions for all sources
* feat: test added for timeshift
* fix: comments corrected
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: add integration attribs for connection tests and status
* chore: add connection status to integration details response
* chore: update integration lifecycle test to check for connection status too
* feat: add GetIntegrationConnectionTests to integrations manager and controller
* chore: add tests for querying integration connection status
* feat: add http API support for integration connection status
* chore: some cleanups
* chore: use PostableRule for integration alerts
* chore: some more cleanup
* chore: add http api test for signoz integrations
* chore: add controller for integrations
* chore: add http API handlers for integrations API
* chore: hook up integrations API in new servers
* chore: add remaining fields in Integration DTO
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* fix: improve user telemetry
- move GetEmailFromJwt to common function
- update AttachJwtToContext() to use standard way of attaching value to context
- update userEmail in every possible sendEvent call
- send groupId in sendEvent call for SaaS operator analytics
* chore: added DEFAULT_CLOUD_EMAIL const
* chore: add AttachJwtToContext to analytics middleware
* test: added AttachJwtToContext to logs pipelines
Switched all file operations from ioutil package to io and os packages due to the deprecation of ioutil in Go 1.16. This change contributes to the maintainability of the codebase, ensuring it's up-to-date with the current standard library. Additionally, implemented usage of filepath.Join for platform-independent file paths.
* feat: add logsparsingpipeline controller api for pipeline previews
* feat: add http handler and route for generating pipeline previews
* feat: use a response model for pipeline previews response
* chore: rename model.GetLogsResponse -> model.SignozLog for use in both requests and responses
* feat: add test for simulating log pipelines processing
* feat: get pipeline preview tests passing
* chore: cleanup
* feat: query builder formula is updated
* feat: formula is updated for having and limit
* feat: orderBy is updated
* feat: formula is added
* chore: add query-service support for formula limit and order by
* feat: enable more filters is displayed when all data source is metrics
* chore: feedback is updated
* chore: feedback is updated
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Rajat Dabade <rajat@signoz.io>
* feat: limit filter is enabled in the metrics filters
* chore: orderBy is enabled for metrics data source
* chore: fix table type limit and order by
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore: add integration test for log parsing pipelines validation
* chore: add helpers for creating unauthorized, unavailable & not found api errors
* chore: return *model.APIError from logpipeline and agentConf functions
* chore: some cleanup
* chore: some more cleanup
* chore: one more round of cleanups
* feat: introduce PreferRPM feature
Completed in logs and traces but tests of metrics are not updated
* chore: pass preferRPM feature flag rather than fn
* chore: support metrics rpm
* chore: remove step interval validation
As step interval is missing in formula queries
* chore: update failing tests
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* feat: api machinery to support enterprise plan channels
* feat: backend for handling ms teams
* feat: frontend for ms teams
* fix: fixed some minor issues wiht ms teams
* fix: resolved issue with feature gate
* chore: add missing span metrics
* chore: some minor changes are updated
* feat: added the oss flag is updated
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
* chore: integrate pipelines API
* fix: limit support integrated in pipelines
* fix: interface to string
* fix: json parser and allow deleting all pipelines
* fix: output modified if operators are disabled
* fix: validation updated for operators
* fix: expression check added
* fix: regex expression check added
* fix: remove operator validation updated
* fix: tests updated for pipeline builder
* fix: fix error messages in http handler
* fix: dont return payload if there is an error
* fix: extracting userId from context moved to auth package
* fix: api errors moved to http handler
* fix: get version logic updated
* fix: deployment result message updated
* fix: pipeline builder edgecase fixed and tests updated
* fix: get failing postablePipeline tests to pass
---------
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
Co-authored-by: Raj <rkssisodiya@gmail.com>
* feat: live tail API with query range support
* fix: minor fixes
* feat: minor fixes
* feat: send error event back to client
---------
Co-authored-by: Palash Gupta <palashgdev@gmail.com>