359 Commits

Author SHA1 Message Date
Vishal Sharma
d93cc767a6
chore: update active user event (#4271)
Merged on request by Visha
2023-12-21 19:05:21 +05:30
Nityananda Gohain
f8bb42a13c
fix: dot support in attribute name (#4121)
* fix: dot support

* fix: column name updated for materialized columns

* fix: tests updated

* fix: comments updated

* fix: enrichment test updated

* fix: dont return underscore fields in the fields API

* fix: update fields function changed to support default instead of materialized

* fix: updated how formulas are built and test added

* fix: don't create index for bool attributes

* fix: support for limit queries updated
2023-12-21 12:11:35 +05:30
Raj Kamal Singh
581bd07b35
Fix: query service: escape dollars in collector config generated for pipelines. (#4242)
* chore: add test validating pipeline config containing dollar works

* chore: collector simulator: use fileprovider with expandconverter like actual collector

* chore: get tests passing

* chore: take a configGenerator func in simulation and unify config generation logic

* fix: escape $ in config generated for log pipelines
2023-12-19 21:24:53 +05:30
Nityananda Gohain
2baa6028b5
fix: enrichment for json in alerts and disable timestamp adjustment (#4240)
* fix: enrichment for json in alerts and disable timestamp adjustment

* fix: tests updated
2023-12-16 17:06:49 +05:30
Srikanth Chekuri
8e653f9500
fix: do not use grouping sets when there is no tags for group by (#4237) 2023-12-15 18:56:05 +05:30
Nityananda Gohain
a16fca6376
fix: remove timestamp roundup for logs list api call (#4229)
* fix: remove timestamp roundup for logs list api call

* fix: test updated
2023-12-14 16:52:02 +05:30
Vishal Sharma
c66c8c2823
chore: add new dashboard/alerts info events (#4214)
* chore: add new dashboard/alerts info events
2023-12-13 18:14:55 +05:30
Srikanth Chekuri
29b1344557
chore: add prepare query for cumulative/unspecified timeseries (#4166) 2023-12-13 16:40:17 +05:30
Srikanth Chekuri
9360c61dca
chore: update BuilderQuery struct and add PrepareTimeseriesFilterQuery (#4165) 2023-12-12 07:24:33 +05:30
guangwu
fb1dbdc05e
chore: use bytes.Equal instead (#4201) 2023-12-11 18:45:47 +05:30
Srikanth Chekuri
9826ab04b3
chore: add new endpoint for variable replacement (#4191)
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
2023-12-11 17:46:08 +05:30
Raj Kamal Singh
3a1e8d523a
Fix: qs: allow saving pipelines without connected agents (#4189)
* chore: add test validating pipelines can be saved without connected agents

* chore: allow pipelines to be saved without connected agents
2023-12-09 10:17:06 +05:30
Raj Kamal Singh
aad44a1037
Feat: QS: logs pipelines severity parsing processor (#4132)
* chore: update test helper for making logs

* chore: add happy case test for severity parser

* feat: get severity parsing processor working and add more happy path tests

* chore: add test for validating severity parser doesn't spam collector logs

* chore: add if condition to generated severity_parser operators

* chore: add postablePipeline validation for severity parser

* chore: minor cleanup in tests

* chore: allow trace and fatal in severity mappings
2023-12-01 17:22:22 +05:30
Raj Kamal Singh
1b6b3c2fdf
Feat: query service: logs pipelines timestamp parsing processor (#4105)
* chore: relocate tests for trace and grok parsing processor

* chore: add test for timestamp parsing processor

* feat: update PipelineOperator model for time parser fields and get tests passing

* chore: add test cases for validating time parser fails silently on mismatched logs

* chore: add helper for generating regex for strptime layouts

* feat: time_parser ignore logs whose parseFrom value doesn't match strptime layout

* chore: escape regex special chars if any in the layout string before preparing regex

* chore: add operator.If on time_parser when using layout type epoch

* chore: finish up with operator.If on time_parser for  layout type

* chore: postable pipeline validation for time parser

* chore: some cleanup

* chore: some more cleanup

* chore: add validation for strptime layouts in postable pipelines

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-11-29 18:55:01 +05:30
Nityananda Gohain
7451e885c3
feat: custom timeout and contextTimeout flag in response (#4022) 2023-11-29 09:10:30 +05:30
Srikanth Chekuri
b6a79ab22c
fix: use window function lagInFrame for rate calculation (#4068) 2023-11-28 19:16:08 +05:30
Srikanth Chekuri
5e0b6366cc
chore: update rule create response (#4090) 2023-11-28 10:44:11 +05:30
Raj Kamal Singh
988ede7776
Fix/pipelines temp work around for supporting dots in resource keys (#4064)
* chore: logs pipelines: add test for validating workaround for working with dots in keys

* fix: temp workaround for supporting pipeline filters using names with dots converted to underscore
2023-11-26 12:57:23 +05:30
Raj Kamal Singh
f5b1d4146f
Fix: pipelines: string ops on missing attribs in pipeline filters should not spam warnings (#4049)
* chore: add test validating collector doesn't spam logs for string ops on missing attributes

* fix: pipelines filter: check if attrib is not nil before running string operator

* chore: do a nil check for all but == and != ops
2023-11-24 17:00:39 +05:30
Srikanth Chekuri
c0226ab584
fix: remove points with negative timestamps (#4007) 2023-11-21 14:49:34 +05:30
Srikanth Iyengar
36aced6d1a
fix: part of #1353, move db calls to prepared statement for checkttlstatusItem (#3976)
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-11-18 10:32:19 +05:30
Vishal Sharma
29bfdb8909
chore: add new telemetry events and heartbeat events to saas (#3985) 2023-11-17 16:18:31 +05:30
Vishal Sharma
5b419cb668
fix: improve user telemetry (#3972)
* 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
2023-11-16 15:11:38 +05:30
Lars Lehtonen
758013d7cd
pkg/query-service/app: fix dropped error (#3842)
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-11-10 17:51:17 +05:30
Raj Kamal Singh
3e65543b5f
Fix: resource filters should work in logs pipelines (#3889)
* chore: add test validating resource based filters work in logs pipelines

* fix: get resource filters working in logs pipelines
2023-11-03 18:42:03 +05:30
Raj Kamal Singh
050b866173
chore: return warning logs too from collector simulator (#3888)
* chore: return warning logs too from collector simulator

* chore: also return collector logs in preview API response to help with debugging

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-11-03 17:41:09 +05:30
Srikanth Chekuri
5e349d8294
chore: dashboard locking ee query-service (#3856)
* chore: dashboard locking ee query-service

* chore: remove print statements

* chore: remove unused imports

* chore: no one is allowed to edit/delete the locked dashboard

---------

Co-authored-by: Srikanth Chekuri <srikanth@Srikanths-MacBook-Pro.local>
2023-11-02 22:52:50 +05:30
Raj Kamal Singh
626da7533e
Fix: log pipelines: generated operators should have appropriate if condition to avoid spamming collector logs (#3870)
* chore: experiment with using a tmp file for getting collector logs in simulator

* chore: collector simulator: cleaned up tmp file based collector logs capture

* chore: add test validating regex proc doesn't error for logs that dont match

* chore: return collector error logs from pipeline preview API

* chore: add test validating regex processor doesn't log errors for mismatched logs

* chore: add if condition for generated regex processors

* chore: add test case validating json parser ignore non json logs

* chore: add if condition for operator generated for json parser

* chore: add test case validating move processor ignores logs with missing field

* chore: add if condition for operator generated for move

* chore: add test case validating copy processor ignores logs with missing field

* chore: add if condition for operator generated for copy

* chore: add test case validating remove processor ignores logs with missing field

* chore: add if condition for operator generated for remove

* chore: log pipelines: ensuring json parser ignores log if json field is missing

* chore: log pipelines: ensure regex parser ignores log if field is missing
2023-11-01 22:12:35 +05:30
Nityananda Gohain
b958a06ba0
fix: support for dash in path name for json query (#3861) 2023-11-01 18:13:28 +05:30
Raj Kamal Singh
9c21449239
chore: empty out trace parser fields if parseFrom is empty (#3850) 2023-11-01 10:10:36 +05:30
Nityananda Gohain
3341cb7396
feat: boolean attribute support (#3816)
* feat: boolean attribute support

* fix: comment updated

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-10-31 15:06:07 +05:30
Raj Kamal Singh
79aef73767
Fix: Query Service: get trace parser working in log parsing pipelines (#3820)
* chore: add test for ensuring pipeline previews work for trace parser processors

* chore: updates to trace parser validation in postable pipelines

* chore: extract auth.randomHex into utils.RandomHex for reuse

* chore: get trace parser preview test passing

* chore: start with JSON serialized trace parser in test to cover deserialization

* chore: address PR feedback
2023-10-29 16:58:31 +05:30
Raj Kamal Singh
f427bac993
Fix: grok parser in pipeline previews (#3810)
* chore: add test for previewing pipeline with grok parser

* chore: import grok parser in logparsing preview to ensure its a registered logtransform op

* chore: add dependencies for grok parsing operator
2023-10-26 19:37:13 +05:30
Dhawal Sanghvi
ab42700245
query-service: add cluster name cli flag (#3713)
* chore: query-service  add cluster name cli flag

* chore: add schema migrator to docker compose file

* chore: add schema migrator to docker swarm compose file

* chore: 📌 pin versions: Schema Migrator 0.79.10 and update compose files

* chore: 🔧 update compose depends_on for schema-migrator service

---------

Co-authored-by: Prashant Shahi <prashant@signoz.io>
2023-10-20 12:37:45 +05:30
Swapnil Nakade
6b2427f1c2
(chore): replace ioutil with io and os for file operations (#3761)
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.
2023-10-19 08:46:20 +00:00
Srikanth Chekuri
5c5ee2cc70
fix: nil pointer dereference in query builder expression (#3764) 2023-10-18 15:07:57 +05:30
Srikanth Chekuri
e0b83bda62
feat: add created{By,At} , updated{By,At} to alerts/dashboards (#3754) 2023-10-17 23:20:54 +05:30
Vishal Sharma
f8d3fa0fdb
chore: update query service telemetry (#3735)
* chore: update query service telemetry

* chore: address review comments

* chore: add group call and update metrics condition

* chore: update company_domain
2023-10-17 11:49:50 +05:30
Raj Kamal Singh
546d98ca9c
feat: agentConf.manager as opamp conf provider (#3747)
* chore: add integration test for log pipelines being recommended to agents on connection

* chore: agentConf.Manager as AgentConfigProvider

* feat: logparsingpipelines as an AgentFeature

* chore: some cleanup

* feat: update agentConf init in ee query-service

* chore: more cleanup and move opamp/logspipeline -> logparsingpipeline/collector_config.go

* chore: some more cleanup

* chore: set agent.RemoteConfig after broadcasting conf to all agents

* chore: add test scenario for post remote conf application
2023-10-15 21:04:19 +05:30
Raj Kamal Singh
cb155a1172
feat: opamp server with agent config provider (#3737)
* feat: add interface for opamp.AgentConfigProvider

* feat: add iface and plumbing for generating recommended conf in opamp/agent

* feat: get opamp server config provider tests started

* chore: add test scenario for agent connection without a config recommendation

* chore: add test scenario for agent connection with a config recommendation

* chore: add test for validating config deployment status gets reported

* chore: add test for rolling out latest config recommendations when config changes

* chore: wrap up opamp server lifecycle tests

* chore: some tests cleanup

* chore: get all tests passing

* chore: update opamp server init logic in ee query service

* chore: some cleanup

* chore: some final cleanup
2023-10-14 09:16:14 +05:30
Srikanth Chekuri
2c96512a8a
chore: do not allow deleting more than one panel on update request (#3703) 2023-10-10 13:07:20 +00:00
Raj Kamal Singh
a84a70df14
QS: logs pipelines preview http handler (#3701)
* 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
2023-10-10 14:09:55 +05:30
Vishal Sharma
dcea79cef3
feat: ingestion key management (#3699) 2023-10-09 21:06:01 +05:30
Raj Kamal Singh
718eb7b381
QS: logparsingpipeline previews (#3694)
* 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
2023-10-09 15:25:13 +05:30
Nityananda Gohain
abed60bdfa
fix: exists check for json filters added (#3675)
* fix: exists check for json filters added

* fix: comment updated
2023-10-06 09:26:37 +05:30
Nityananda Gohain
9f751688cc
fix: limit issue fixed when using contains (#3649) 2023-09-29 18:20:40 +05:30
Palash Gupta
821471f4ab
feat(query-builder): add limit, order by and having clause to formula (#3623)
* 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>
2023-09-27 17:34:47 +05:30
Nityananda Gohain
a4a285c074
feat: add support for freehand json query (#3625)
* feat: freehand json search

* feat: support for freehand json query

* fix: minor updates

* fix: minor refactor
2023-09-26 20:10:39 +05:30
Raj Kamal Singh
3db8a25eb9
Add support in query service for querybuilder filterset based log pipelines (#3560)
* chore: use v3.Filterset as pipeline filters in logparsing pipelines integration tests

* chore: get logparsing integration tests passing with filterset based pipeline

* chore: get all other breaking tests passing

* chore: move models.logparsingpipeline to logparsingpipeline.model

* chore: implement Valuer and Scanner interfaces for v3.FilterSet
2023-09-20 12:39:34 +05:30
Srikanth Chekuri
735ab8e118
fix: add missed variable substitution for promql querires (#3584) 2023-09-19 17:49:11 +05:30