Commit Graph

36 Commits

Author SHA1 Message Date
Matias Chomicki
4950935401 Loki Query Builder: Add parsing support for aggregations with grouping (#80145)
Loki Query Builder: Add parsing support for aggregations with grouping arguments
2024-01-08 17:17:19 +01:00
Ivana Huckova
f8a1e7d500 Loki: Decouple from Prometheus parsingUtils (#79460)
Loki: Remove dependency on parsingUtils
2023-12-15 17:15:20 +01:00
Matias Chomicki
773e0680c5 Loki: Added support for "or" statements in line filters (#78705)
* Lezer: upgrade to 0.2.2

* Operations: update definitions

* Operations: update renderer

* Parsing: parse line filters with or operations

* Parsing: add unit test

* Formatting

* getHighlighterExpressionsFromQuery: add support for or statements

* Operation editor: trim button title if param name is empty

* getHighlighterExpressionsFromQuery: properly handle ip filters
2023-11-29 15:58:32 +01:00
Galen Kistler
f2ad66620f Loki: Autocomplete returning labels already in use when cursor is before or between other labels (#75925)
* Fix issue getting current labels that would only grab values to the left of the cursor

* Loki: Fix Autocomplete in stream selector overwriting existing label names, or inserting autocomplete result within label value (#76485)

* Better autocomplete functionality in loki, changing the word pattern to include label value separator (=), include valid sting chars (-), and value wrapper ("), adding some more logic in the range calculation to prevent autocomplete results from partially overwriting adjacent label names or portions of the current label value
2023-10-13 10:26:32 -05:00
Galen Kistler
a996f3b4a7 Loki Query Builder: Throw warning in query builder when order of operations is ambiguous (#75198)
* flag vector aggregations containing metric expressions (i.e.`(...)`) containing binary operation expressions with ambiguous error in the UI when switching between code and visual query builders.
2023-09-25 21:28:51 +03:00
Galen Kistler
ac98197132 Loki Query Builder: binary expression and numeric literal bugs (#74950)
* Following similar changes made to prometheus in #47198, reverse the order of binary operator parameter array, and fix bugs introduced by importing prometheus lezer constants into loki parser

* add unit test asserting buildVisualQueryFromString does not properly parse queries with nested binary operations

* fix onOrIgnoring parsing logic which was always stripping out the value of the matcher when a boolean was found
2023-09-22 07:17:01 -05:00
Matias Chomicki
91ed2a6afe Loki Query Editor: Add support for new logfmt features (#74619)
* Loki autocomplete: add IN_LOGFMT situation for log queries

* Loki autocomplete: add IN_LOGFMT situation for metric queries

* Loki autocomplete: improve handling of trailing pipes and spaces

* Loki autocomplete: add logfmt arguments completion

* Loki autocomplete: add flags support to IN_LOGFMT

* Loki autocomplete: extend IN_LOGFMT situation with labels and flag

* Loki autocomplete: return logQuery in IN_LOGFMT situation

* Loki autocomplete: offer label completions when IN_LOGFMT

* Query utils: update parser detection method

* Validation: update test

* Loki autocomplete: improve IN_LOGFMT detection when in metric query

* Loki autocomplete: improve logfmt suggestions

* Loki autocomplete: improve logfmt suggestions in different scenarios

* Loki autocomplete situation: refactor resolvers to support multiple paths

* Situation: add test case

* Loki autocomplete: allow user to use 2 flags

* Situation: change flag to flags

* Remove console log

* Validation: import test parser

* Completions: better handling of trailing comma scenario

* Upgrade lezer-logql

* Revert temporary imports

* Loki Query Builder: Add support for new logfmt features (#74858)

* Query builder: add params to logfmt definition

* Logfmt operation: add default params

* Query builder: update deprecated JsonExpression

* Operation utils: update logfmt renderer

* Query builder: parse LogfmtParser

* Query builder: parse LogfmtExpressionParser

* Remove console log

* Remove unused variable

* Remove extra character from render

* Update unit tests

* Fix unit tests

* Operations: remove restParams from logfmt booleans

* Parsing: group cases

* Formatting

* Formatting

* Update modifyQuery

* LogContextProvider: update with parser changes

* LogContextProvider: remove unnecessary type castings

It takes more energy to write `as unknow as LokiQuery` than to write a refId.

* Formatting

* Situation: use charAt instead of substring with endsWith

* Situation: explain logfmt suggestions

* Logfmt: improve flag suggestions

* Remove console log

* Completions: update test
2023-09-22 12:34:17 +03:00
Sven Grossmann
07eb4b1b90 Loki: Remove distinct operation (#73938)
* remove distinct

* trigger ci

* update yarn.lock

* fix import
2023-08-28 19:26:59 +02:00
Ivana Huckova
fc9b8f6be1 Loki: Implement keep and drop operations (#73636)
* Update lezer

* Add functionalities for code and builder

* Add comment
2023-08-23 14:52:19 +02:00
Matias Chomicki
4c4bd69eb6 Logs: Add toggle behavior support for "filter for" and "filter out" label within Logs Details (#70091)
* Datasource test: fix describe nesting

* Parsing: export handleQuotes function

* Modify query: add functions to detect the presence of a label and remove it

* Loki: add support to toggle filters if already present

* Datasource test: fix describe nesting

* Loki: add support to toggle filter out if present

* Remove label: handle escaped values

* Datasource: add test case for escaped label values

* Loki: remove = filter when applying !=

* Remove selector: add support for Selector node being far from Matcher

* Modify query: add unit tests

* Elasticsearch: create modifyQuery for elastic

* Elastic modify query: implement functions

* Elasticsearch: implement modifyQuery functions in datasource

* Elasticsearch: update datasource test

* Loki modify query: check for streamSelectorPositions length

* Elasticsearch query has filter: escape filter value in regex

* Remove unused type

* Modify query: use query modeller instance from module
2023-06-26 16:45:33 +02:00
Sven Grossmann
a81cee1d05 Loki: Fix parsing of escaped quotes in LogQL (#69584)
* fix parsing issue

* replace escaped quotes
2023-06-06 11:07:21 +02:00
Matias Chomicki
9abf8140c7 Loki: Add support for distinct operation in autocomplete and query builder (#69003)
* Loki Autocomplete: add support for suggesting distinct

* Loki query builder: add distinct as format operation

* Remove unused import

* Loki visual query: add support to parse distinct filters

* Query builder: use label param editor for distinct

* Loki Autocomplete: Improve distinct label suggestions

* Query Builder: improve distinct parsing

* Fix tests

* Update tests
2023-05-25 14:22:16 +02:00
Ivana Huckova
ca44164bea Loki: Implement decolorize logql operation (#68972)
* Loki: Implement decolorize operation

* Fix tests
2023-05-24 15:23:54 +02:00
Ashley Harrison
2a34293689 Chore: more type fixes (#62952)
* fix some more any/type assertions

* more any/type assertion fixes

* implement review comments
2023-02-09 09:03:13 +00:00
Matias Chomicki
89e77d072f Loki Query Builder: Fix bug parsing range params (#61678)
feat(loki-query-builder): fix bug parsing range params
2023-01-18 15:54:18 +01:00
Sven Grossmann
9f9bf4650d Loki: Fix missing parameters on Query Builder operations (#60677)
* add missing mandatory params

* improve naming

* change let to const
2022-12-22 15:31:41 +01:00
Sven Grossmann
932349b5ab Loki: Fix wrongly escaped label values when using LabelFilter (#59812)
* change backticks to quotes

* add unescaping to `addFilterAsLabelFilter`

* fix removal of wrong quotes

* change unescape order
2022-12-06 12:30:03 +01:00
Ivana Huckova
4469572b27 Loki: Add support for range aggregations with by grouping (#56184)
* Loki: Fix unwrapped range operations with grouping

* Update, fix tests

* Fix modeller
2022-10-05 11:32:33 +02:00
GitStart
46f0672215 Loki: Remove hardcoded values for parsed query parts (#54755)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Matheus Benini <matheus_benini@hotmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Matheus Benini <matheus_benini@hotmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-16 15:35:20 +02:00
Alex Ratner
fecf4c41ad Dashboard: Spelling corrections in end-user visible dialogs (#53340) 2022-08-09 10:19:30 +02:00
Matias Chomicki
7cf2b68e0a Loki: Remove hardcoded values for LokiOperationId (#53168) 2022-08-03 12:50:43 +02:00
Ivana Huckova
77421907b7 Loki: Add support for IP label and line filter in query builder (#52658)
* Add support for IP line filter

* Add support for IP label filter

* Updates for Explain mode

* Update test

* Remove invalid options in LabelFilterIpMatches
2022-07-25 15:16:04 +02:00
Ivana Huckova
53b8e528fc Loki: Add unwrap with conversion function to builder (#52639)
* Loki: Add unwrap with conversion operator to builder

* Update explain section

* Update test
2022-07-25 12:51:28 +02:00
Ivana Huckova
772b6396f5 Loki: Add hints for level-like labels (#52414)
* Loki: Add hint for level-like label

* Add test to addToQuery

* Add tests

* Update tests

* Update copy

* Get log position in metrics query and add test

* Update
2022-07-22 16:59:25 +02:00
Ivana Huckova
2090534635 Loki: Support json parser with expressions in query builder (#51965)
* Loki: Support json parser with expressions in query builder

* Add explain docs for json parser
2022-07-12 15:42:01 +02:00
Ashley Harrison
803473f479 Chore: Enable useUnknownInCatchVariables for stricter type checking in catch blocks (#50591)
* wrap a bunch of errors

* wrap more things!

* fix up some unit tests

* wrap more errors

* tiny bit of tidy up
2022-06-15 08:59:29 +01:00
Ivana Huckova
88279dda1c Loki: Fix issues with using query patterns (#50414)
* WIP

* Loki: Fix running of query patterns

* Remove console.log

* Add test

* Update empty line filter test
2022-06-11 21:36:44 +02:00
Ivana Huckova
745b101d41 Loki: Fix unwrap parsing (#49732) 2022-05-27 14:00:51 +02:00
Josh Hunt
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Ivana Huckova
caa82a124d Loki,Prometheus: Fix of showing error message for empty query (#47379)
* Loki,Prometheus: Dont show error on empty query

* Add tests
2022-04-06 11:17:49 +02:00
Ivana Huckova
6938d5b975 Loki: Show error when parsing nodes not supported in visual query builder (#47321)
* Show error when parsing nodes not supported in visual query builder

* Refactor, simplify

* Spell fix

* Spell fix
2022-04-05 17:07:13 +02:00
Ivana Huckova
c5ac19d499 Loki: Add all supported parsers to query builder (#47304)
* Loki: Add all supported parsers to query builderr

* Update test

* Add tests for new parsers
2022-04-05 14:52:06 +02:00
Ivana Huckova
4c6d2ce618 Loki: Parse query with unwrap (#47282)
* Loki: Parse simple unwrap

* Update public/app/plugins/datasource/loki/querybuilder/parsing.ts

* Simplify
2022-04-04 18:44:23 +02:00
Ivana Huckova
24cf70dd29 Loki: Add parsing for vector aggregations with grouping (#47257)
* Parse aggregations with grouping

* Move getByType to shared parsing utils
2022-04-04 18:11:15 +02:00
Andrej Ocenas
1110666b6b Loki: Fix parsing chained and scalar binary queries (#47132)
* Fix bin parsing for more cases

* Add test for some utils

* Removing console.log

* Simplify some code and fix typing

* Rename function
2022-04-01 18:33:09 +02:00
Ivana Huckova
554492ec4e Loki: Add parsing of query to visual query (#46700)
* Create parser

* Add parsing

* Update comment

* Remove operations that we don't support

* Resolve type errors

* Update test

* Handle backticks

* Handle backticks

* Remove copied test, update test

* Parsing for binary operations

* Remove error about setting state after unmount

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-03-31 10:51:49 +02:00