* check languageProvider to work with non-indexed metadata
* change loki devenv to work with non-indexed metadata
* trigger ci
* add forced labels after parsers
* add comment
* Update public/app/plugins/datasource/loki/modifyQuery.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* fix some event.target as stuff
* segment async story
* segmentinput story
* SegmentSelect
* fixing some tests
* more test fixes
* undo change to SilencesFilter
* 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: add functions to detect the presence of a label and remove it
* Remove label: handle escaped values
* Logs: create props to check for label filters in the query
* Log Details Row: use label state props to show visual feedback
* Make isCallbacks async
* Explore: add placeholder for checking for filter in query
* Datasource: define new API method
* Inspect query: add base implementation
* Remove isFilterOutLabelActive as it will not be needed
* Check for "isActive" on every render
Otherwise the active state will be out of sync
* Elasticsearch: implement inspectQuery in the datasource
* Logs: update test
* Log details: update test
* Datasources: update tests
* Inspect query: rename to analize query to prevent confusion
* Datasource types: mark method as alpha
* Explore: add comment to log-specific functions
* Remove duplicated code from bad rebase
* Remove label filter: check node type
* getMatchersWithFilter: rename argument
* Fix bad rebase
* Create DataSourceWithQueryManipulationSupport interface
* Implement type guard for DataSourceWithQueryManipulationSupport
* DataSourceWithQueryManipulationSupport: move to logs module
* hasQueryManipulationSupport: change implementation
`modifyQuery` comes from the prototype.
* DataSourceWithQueryManipulationSupport: expand code comments
* AnalyzeQueryOptions: move to logs module
* DataSourceWithQueryManipulationSupport: add support for more return types
* Fix merge error
* Update packages/grafana-data/src/types/logs.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* DatasourceAPI: deprecate modifyQuery
* Explore: refactor isFilterLabelActive
* DataSourceWithQueryModificationSupport: rename interface
* Split interfaces into Analyze and Modify
* Query analysis: better name for interface
* Fix guard
* Create feature flag for active state
* Use new feature flag in Explore
* DataSourceToggleableQueryFiltersSupport: create a specific interface for this feature
* Rename feature flag
* De-deprecate modifyQuery
* DataSourceToggleableQueryFiltersSupport: Rethink types and methods
* Explore: adjust modifyQuery and isFilterLabelActive to new methods
* Loki: implement new interface and revert modifyQuery
* DataSourceToggleableQueryFiltersSupport: better name for arguments
* Elasticsearch: implement new interface and revert modifyQuery
* Loki: better name for arguments
* Explore: document current limitation on isFilterLabelActive
* Explore: place toggleable filters under feature flag
* Loki: add tests for the new methods
* Loki: add legacy modifyQuery tests
* Elasticsearch: add tests for the new methods
* Elasticsearch: add legacy modifyQuery tests
* Toggle filter action: improve type values
* Logs types: update interface description
* DataSourceWithToggleableQueryFiltersSupport: update interface name
* Update feature flag description
* Explore: add todo comment for isFilterLabelActive
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* pushed to get help of a genius
* fix: error response is not json
* feat: make request on click
* refactor: remove print statement
* refactor: remove unnecessary code
* feat: convert grafana variables to value for API request
* use the parser to interpolate and recover the original query (#64591)
* Prettify query: use the parser to interpolate and recover the original query
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* fix: reverse transformation not working
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Gareth Dawson <gwdawson.work@gmail.com>
* fix: bugs created from merge
* refactor: move prettify code out of monaco editor
* fix: variables with the same value get converted back to the incorect variable
* refactor
* use consistent styling with bigquery
* fix: only allow text/plain and application/json
* fix: only make the request if the query is valid
* endpoint now returns application/json
* prettify from js
* WIP: not all cases are handles, code still needs cleaning up
* WIP
* large refactor, finished support for all pipeline expressions
* add tests for all format functions
* idk why these files changed
* add support for range aggregation expr & refactor
* add support for vector aggregation expressions
* add support for bin op expression
* add support for literal and vector expressions
* add tests and fix some bugs
* add support for distinct and decolorize
* feat: update variable replace and return
* fix: lezer throws an errow when using a range variable
* remove api implementation
* remove api implementation
* remove type assertions
* add feature flag
* update naming
* fix: bug incorrectly formatting unwrap with labelfilter
* support label replace expr
* remove duplicate code (after migration)
* add more tests
* validate query before formatting
* move tests to lezer repo
* add feature tracking
* populate feature tracking with some data
* upgrade lezer version to 0.1.7
* bump lezer to 0.1.8
* add tests
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update dependency lru-cache to v10
* use named import
* remove outdated type definitions and actually use named import
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* fix: use correct validate funtion
* rename isValidQuery to isQueryWithError
* lets pretend i didnt break things again
* Loki validation: add missing comments and refactor validation function
* isValidQuery: add unit test
* Loki datasource: add tests for getQueryStats
* Remove isValidQuery function
* UnwrapParamEditor: interpolate query before testing validity
* Stats: trim queries when evaluating change
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Generate plugin version and remove lineage version
* Generate version for each major
* Remove pluginVersion from core plugins
* Remove code version generation
* Generate cue files
* Move grafana version into jenny
* fix go import
* 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
* Query utils: refactor isQueryPipelineErrorFiltering and getLogQueryFromMetricsQuery
* Query utils: refactor isQueryWithRangeVariable and getHighlighterExpressionsFromQuery
* Get parser: return log expression even if no pipelineExpr is present
* Update tests