Commit Graph

271 Commits

Author SHA1 Message Date
Ashley Harrison
b3cff22db3
Chore: Improve types (#85659)
* fixing some types

* more type fixes

* few more

* last couple

* tiny tweak
2024-04-08 09:56:21 +01:00
Nick Richmond
559fab9dc6
Prometheus: Fuzzy search for metric names in Code Mode (#85396)
* perf: limit metric names in Code Mode suggestions

* feat: configurable metric names limit

* feat: code mode autocomplete info/disclaimer

* chore: put new functionality behind new feature toggle

* refactor: avoid type assertions

* refactor: avoid explicit `any`

refactor: type guards

* refactor: type guards

* chore: add testdata results

* fix: add missing feature toggle guard

* perf: prefer array access to `Array.prototype.at`

* test: add missing config override

* test: refactor for brevity & clarity

* perf: avoid unnecessary mapping

* chore: undo testdata changes

* fix: use correct limit; perf optimizations

* refactor: avoid unnecessary `async`s

* types: simplify

* test: add missing tests

* fix: avoid hardcoding

* test: update mock path

* docs: fix typo

style: remove formatting artifact

style: remove formatting artifact

style: remove formatting artifact

* fix: event scope regression

* style: refactor for clarity

* refactor: prefer `useCallback` to in-effect handler

* refactor: simplify & broaden `filter`

* refactor: rename file to keep with conventions

* chore: mirror Prometheus package changes in app

* refactor: prefer no `@ts-ignore`

* chore: update betterer results

* docs: use type in TSDoc `@link` without `@ts-ignore`

* test: add missing provider

* test: fix jest mock path

* fix: display disclaimer in empty input case
2024-04-04 23:38:23 +03:00
Bogdan Matei
582b252488
Add optional queries parameter to DataSourceGetTagValuesOptions (#85436)
Add optional `queries` parameter to `getTagKeysOptions`
2024-04-02 13:22:37 +03:00
Brendan O'Handley
c4645c81da
Prometheus: Default support labels value endpoint with match param when prom type and version not set (#84778)
* default to support labels match endpoint

* add test and fix tests
2024-03-21 12:50:17 -05:00
Bogdan Matei
30a1178624
Integrate Scopes with Prometheus datasource (#84888) 2024-03-21 14:02:57 +02:00
Darren Janeczek
02c0f5929c
prometheus: fix: use shallow clone of scopedVars (#82280)
fix: use shallow clone of scopedVars
2024-02-10 09:57:11 -05:00
Ashley Harrison
1a6105be8d
Datasource: Add optional queries parameter to getTagKeysOptions (#81071)
add optional queries parameter to getTagKeysOptions
2024-01-26 13:59:28 +00:00
Yuri Kotov
a7b58a7cdb
Prometheus plugin: Use new labels endpoint, for LabelEditor (#80774)
Prometheus plugin: use new labels endpoint, if supported, for LabelEditor

Before this change LabelEditor always use old '/series' endpoint to get labels.
Now new '/labels' endpoint would be used in case datasource supports it.
2024-01-23 15:00:43 -06:00
Javier Ruiz
ea37cee435
Use specified time range, default to class value (#80557) 2024-01-19 13:44:56 +01:00
Dominik Prokop
ecb5d94b2d
Prometheus: Replace pre-calculated $__interval values for backend interpolation (#79645) 2023-12-18 07:52:33 -08:00
ismail simsek
73f25f7ccc
Prometheus: Remove unsupported browser access mode related code (#77316)
* Remove unused code

* More cleaning

* Delete more

* betterer

* Small import fixes

* Fix unit test

* Fix unit test

* uncomment

* Remove PromLink component since it was removed from Prometheus data source

* Clean the direct/browser access code

* Remove directUrl

* Big cleaning

* unit test fixing

* cleaning

* fix metric_find_query tests

* clean result_transformer tests

* betterer

* Remove unused type

* betterer
2023-11-06 18:03:05 +01:00
Ashley Harrison
d1e52d4788
Chore: type fixes (#77618)
* type fixes

* couple more

* just a couple more

* small fixes to prometheus typings

* improve some more datasource types
2023-11-06 11:28:44 +00:00
Matias Chomicki
91398a173f
Query Validation: accept any parser to validate query and integrate with Prom query editor (#77081)
* Validation: make it generic for any parser

* Prometheus: integrate query validator with editor

* Prom validation: add unit test

* Run prettier
2023-10-31 16:30:02 +01:00
ismail simsek
f3fe63e87e
Chore: Remove unused code from prometheus datasource (#76776)
* Remove unused code

* More cleaning

* Delete more

* betterer

* Small import fixes

* Fix unit test

* Fix unit test

* uncomment

* Have template_srv from @grafana/runtime
2023-10-30 17:00:34 +01:00
ismail simsek
df3184a94a
Prometheus: Remove timeSrv imports (#76118)
* Remove timeSrv imports from prometheus datasource

* Fix language_provider unit test

* Fix datasource unit tests

* Remove timeSrv imports from metric_find_query

* Remove timeSrv imports

* MetricsBrowser with timeRange
2023-10-30 15:44:28 +01:00
ismail simsek
efec1d976a
Chore: Remove redundant code and update types (#76489)
Remove redundant code and update types
2023-10-12 15:04:16 -04:00
Konrad Lalik
6992d17924
Alerting: Add support to distinguish Prometheus datasource subtypes (Mimir, Cortex and Vanilla Prometheus) (#46771)
* Add basic UI for custom ruler URL

* Add build info fetching for alerting data sources

* Add keeping data sources build info in the store

* Use data source build info to construct data source urls

* Remove unused code

* Add custom ruler support in prometheus api calls

* Migrate actions

* Use thunk condition to prevent multiple data source buildinfo fetches

* Unify prom and ruler rules loading

* Upgrade RuleEditor tests

* Upgrade RuleList tests

* Upgrade PanelAlertTab tests

* Upgrade actions tests

* Build info refactoring

* Get rid of lotex ruler support action

* Add prom ruler availability checking when the buildinfo is not available

* Add rulerUrlBuilder tests

* Improve prometheus data source validation, small build info refactoring

* Change prefix based on Prometheus subtype

* Use the correct path

* Revert config routing

* Add deprecation notice for /api/prom prefix

* Add tests to the datasource subtype

* Remove custom ruler support

* Remove deprecation notice

* Prevent fetching ruler rules when ruler api is not available

* Add build info tests

* Unify naming of ruler methods

* Fix test

* Change buildinfo data source validation

* Use strings for subtype params and unveil mimir

* organise imports

* frontend changes and wordsmithing

* fix test suite

* add a nicer verbose message for prometheus datasources

* detect Mimir datasource

* fix test

* fix buildinfo test for Mimir

* shrink vectors

* add some code documentation

* DRY prepareRulesFilterQueryParams

* clarify that Prometheus does not support managing rules

* Improve buildinfo error handling

Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-04-04 18:30:17 +01:00
Andrej Ocenas
ecdbcd4941
Prometheus: Fix support of AdHoc filters for specific queries (#46547)
* Use parser to deal with ad hoc filters

* Add comment

* Fix variable naming

* Fix tests
2022-03-15 17:37:20 +01:00
renovate[bot]
f6780d8861
Update dependency lru-cache to v7 (#45074)
* Update dependency lru-cache to v7

* Make latest lru cache work

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-18 10:23:06 +01:00
Marcus Andersson
9a12b3ea00
TemplateSrv: exposing a function to detect if a target contains a template (#45214)
* exposing a function to check if a target contains variables.

* fixed tests.

* renamed function

* updated betterer result.
2022-02-15 08:53:42 +01:00
Ivana Huckova
9e2caa9ddc
Prometheus: Add hints to query builder (#45288)
* Add hints to query builder

* Move Query hints to own component

* Use replace 5m with  in rate queries

* Remove unused prop
2022-02-11 16:50:35 +01:00
Ivana Huckova
c23bc1e7b7
Prometheus: Show variable options in query builder (#44784)
* Prometheus: Show variable options

* Remove lint error

* Fix test for CodeQL

* Update public/app/plugins/datasource/prometheus/datasource.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

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

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2022-02-03 11:40:19 +01:00
renovate[bot]
d87cd6f26c
Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Torkel Ödegaard
64e1e91403
PromQueryBuilder: Query builder and components that can be shared with a loki query builder and others (#42854) 2022-01-31 06:57:14 +00:00
machinly
36626554be
Prometheus: annotation: fix only first frame was process error & typo. (#43486) 2022-01-07 15:04:30 +01:00
Connor Lindsey
1a7567d8c7
Tempo: Filter available service graph filter values to most relevant options (#43728)
* Restrict service graph filter tag values to labels from service graph metrics
2022-01-06 07:09:31 -07:00
Ivana Huckova
f63c2e4bc4
Prometheus: Fix interpolation of variables in Annotation queries (#43459) 2021-12-22 16:50:58 +01:00
Ryan McKinley
00e06874e5
Legend: extract common renderLegendFormat function (loki+prom) (#43054) 2021-12-15 04:19:16 +01:00
Piotr Jamróz
19374fce39
Explore: Generic query import/export (#40987)
* Add basic implementation

* Split import/export query interface

* Rename abstract query type

* Rename abstract query type

* Split loki/prom parsing

* Update docs

* Test importing abstract queries to Elastic

* Test exporting abstract queries from Graphite

* Test Prom and Loki query import/export

* Give better control to import/export all queries to data sources

* Fix unit test

* Fix unit test

* Filter out non-existing labels when importing queries to Loki

* Fix relative imports, names and docs

* Fix import type

* Move toPromLike query to Prometheus code

* Dedup label operator mappings

* importAbstractQueries -> importFromAbstractQueries

* Fix unit tests
2021-12-14 14:36:47 +01:00
Ivana Huckova
e555221523
Prometheus: Fix running of exemplar queries for non-histogram metrics (#42749)
* Prometheus: Fix running of exemplar queries for non-histogram mestrics

* Fix test

* Refactor based on review suggestions
2021-12-09 11:30:23 +01:00
Ivana Huckova
5cbb4a0a2d
Prometheus: Interpolate template variables in interval (#42637)
* Interpolate interval

* Add test
2021-12-02 13:32:02 +01:00
Ivana Huckova
1b4f6b19cb
Prometheus: Fix running of health check query based on access mode (#42189)
* Prometheus: Use this.query for health check

* Update alertMessage in e2e tests
2021-11-24 12:43:39 +01:00
Ivana Huckova
32e02ba857
Prometheus: Fix applying of ad-hoc variables after backend migration (#41596)
* Prometheus: Fix adding of ad-hoc variables

* Fix spelling
2021-11-15 17:11:21 +01:00
Andrej Ocenas
5cc9ff8b28
Tempo: Add filtering for service graph query (#41162)
* Add filter based on AdHocFilter element

* Add tests

* Cancel layout in case we have have new data or we unmount node graph

* Fix typing

* Fix test
2021-11-11 14:27:59 +01:00
Ryan McKinley
6c1a0cc707
DataSourceRef: use reference rather than id where possible (#41372) 2021-11-09 07:24:41 -08:00
Ivana Huckova
de83e5702c
Prometheus: Run annotation queries trough backend (#41059)
* Prometheus: Run annotation queries trough backend

* Be more explicit on what type of query we are running

* Fix typing, remove unused variables
2021-11-02 16:46:20 +01:00
Ryan McKinley
7319efe077
Dashboard: replace datasource name with a reference object (#33817)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Elfo404 <me@giordanoricci.com>
2021-10-29 10:57:24 -07:00
Ivana Huckova
92cd44940a
Prometheus: Refactor backend for scalability for other query types (#40921)
* Prometheus: Refactor backend for scalability for other query types

* Fix linting
2021-10-26 14:47:40 +02:00
Ivana Huckova
0a97d0fff3
Prometheus: Change condition for exemplars availability (#40780) 2021-10-22 16:41:16 +02:00
Ivana Huckova
998ba06f39
Prometheus: Fix interpolation of legendFormat (#40635)
* Prometheus: Fix interpolation of legendFormat

* Fix test
2021-10-22 09:58:59 +02:00
Gábor Farkas
bd8e07d6ed
prometheus: more correct jsonData typescript type (#40559)
* prometheus: fix strict-mode typescript error

* it does not make the limit lower

but the change is still correct
2021-10-18 11:21:30 +02:00
Ivana Huckova
7140867868
Prometheus: Run dashboard queries trough backend (#40333)
* Fix processing for table in dashboard - expolre compatible

* Add processing of histograms

* Interpolsate rate_interval in step field

* Add tests

* Fix function name

* Extract internal range and interval variables to constants

* Fix typings, refactor, simplify

* Fix constant that was missing _ms
2021-10-15 13:37:27 +02:00
Ivana Huckova
19ad08e6b8
Prometheus: Run exemplars explore queries through backend (#39531)
* Prometheus: Run Explore both queries trough backend

* Refactor, simplify

* Set default values for query type selector

* Run multiple queries as one query trough backend

* Remove trailing newlines

* Pass utcOffset

* Remove trailing comma

* WIP: Implementatioon of exemplars

* add sampling for exemplars

* Refactor to use response as custom metadata

* Simplify processing of exemplars

* Update, clean up

* Refactor the way how we get available exemplars

* Simplify exemplars disabling and running on frontend

* Add tests

* Update toggle

* Remove console log

* Fix go linting

* Fix e2e test

* Trigger Build

* Compare lengts, small fix

* Remove duplicated time check

* Address feedback

* Remove redundant ! as not needed

* Update
2021-10-12 13:16:09 +02:00
Gábor Farkas
d363c36853
Prometheus: metrics browser: handle label values with special characters (#39713)
* prometheus: handle label-values with special characters

* added comment
2021-09-30 15:50:02 +02:00
Ivana Huckova
df81676d9e
Prometheus: Run Explore both queries trough backend (#39462)
* Prometheus: Run Explore both queries trough backend

* Refactor, simplify

* Set default values for query type selector

* Run multiple queries as one query trough backend

* Remove trailing newlines

* Pass utcOffset

* Remove trailing comma

* Add meta to frames only at 1 place

* Set exemplars to falsee if they are disabled

* Revert "Set exemplars to falsee if they are disabled"

This reverts commit e7b697c9f3.
2021-09-29 16:42:31 +02:00
Ivana Huckova
ffdeb4a57a
Prometheus: Run Explore instant queries trough backend (#39351)
* Prometheus: Add running of instant queries trough backend

* Rename response, keep zero length frames

* Remove debug log

* Simplify and fix value text

* Update duplicated and redundant go test

* Update public/app/plugins/datasource/prometheus/datasource.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Refactor using model to create Promquery

* Fix the response length

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2021-09-20 16:05:21 +02:00
Ivana Huckova
81756cd702
Prometheus: Run Explore range queries trough backend (#39133)
* Run Explore range queries trough backend

* Remove trailing comma

* Add timeRange step alignment to backend

* Remove creation of instant query on backend as it is not supported ATM

* Remove non-related frontend changes

* Pass offset to calculate aligned range trough prom query

* Update order in query error message

* tableRefIds shouldn't contain undefined refIds

* Remove cloning of dataframes when processing

* Don't mutate response

* Remove ordering of processed frames

* Remove df because not needed
2021-09-17 13:39:26 +02:00
Giordano Ricci
dc36f15fbb
Prometheus: Revert stepMode functionality (#38982)
* Revert "Prometheus: add functionality to specify desired step interval in dashboards panels (#36422)"

This reverts commit ddf5b65c51.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>

* Revert "Explore: add functionality for supporting different step modes in prometheus (#37829)"

This reverts commit f433cfd8d9.
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>

* Revert stepMode BE implementation from #36796
Co-authored-by: "Ivana Huckova" <ivana.huckova@gmail.com>
2021-09-09 14:05:08 +02:00
Hugo Häggmark
dba15190af
Chore: Upgrades rxjs to 7.3.0 (#37913)
* Chore: upgrades rxjs to 7.3.0

* Chore: replaces toPromise with lastValueFrom

* Chore: removes unused mock that caused test error

* Chore: fixes build error in PieChartPanel

* Chore: fixed build error in requestAllIndices

* Chore: fixes comment

* Chore: trying to reduce docs errors

* Chore: searches for explicit api extractor warnings

* Chore: updates rxjs-spy to 8.0.0

* Chore: reverts to main

* Chore: upgrade rxjs and rxjs-spy
2021-08-19 06:38:31 +02:00
Zoltán Bedi
9a62db6943
Exemplars: Disable exemplars only on query it failed (#37296) 2021-07-28 16:34:46 +02:00