Commit Graph
44 Commits
Author SHA1 Message Date
Brendan O'HandleyandLeon Sorokin d31d1576fb Prometheus: Metric encyclopedia improvements (#67084)
* move to me directory and sort by relevance

* refactor letter search, uFuzzy and styles out of ency

* begin state refactor

* refactor getMetaData useEffect call with useReducer

* refactor pagination with useReducer

* refactor fuzzy state for useReducer

* refactor all filters for useReducer

* remove haystacks arrays in favor of haystack dictionaries w object keys

* refactor out functions into state helpers

* switch label filter text color to work with light theme

* make each row clickable to select metric

* add pagination component

* fix max results

* make a better table with keystrokes, navigate to metric with up&down, select on enter, hide settings, make a nice button

* save space, give more real esate to the table

* add highlighting for fuzzy search matches

* add custom button in metric select option to open metric encyclopedia

* open the modal with enter keystroke

* remove unnecessary actions and variables from m.e.

* fix tests, clean code

* remove setting of selected idx on results row when hovering

* tests

* rename to metrics modal and have select option same as header

* reduce width for wider screens

* pass in initial metrics list and remove call to labels and series in metrics modal

* use createSlice from reduc toolkit to deduce actions

* save the metrics modal additional settings

* galen alphabet refactor suggestion

* remove extra row in results table

* fix storing settings, wrap in feature toggle

* remove metadata check & load because metric select already handles this

* Update public/app/plugins/datasource/prometheus/querybuilder/components/metrics-modal/LetterSearch.tsx

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

* fix styles, show cursor as pointer for select option and clickable row

* taller modal for larger screens

* turn off metadata settings if usebackend is selected

* additional settings button space

* add pipe to ufuzzy metadata search

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-01 17:29:35 -04:00
Brendan O'Handley d4a22cff0a Prometheus: Fix regression for $__rate_interval comparison (#67460)
* fix ,  comparison regression

* intervalMs was not pressent before the regression and this value changes the adjusted interval calculating giving a false positive in favor of the regression
2023-04-28 08:40:17 -04:00
Brendan O'Handley 7a3f7e26ce Influxdb: Handle legacy Influxdb influxql annotations with target in migration (#63225)
* handle legacy influxdb annotations with target in migration

* add types

* don't check tags that are empty strings and give annotation a type
2023-04-28 08:39:11 -04:00
Brendan O'Handley f70efed2cb Prometheus: Update healthcheck text message (#67401)
* the healthcheck is used outside the config save&test so change text message

* fix e2e test
2023-04-27 15:54:12 -04:00
0a9240aeba Prometheus: Configuration page overhaul (#66198)
* organize layout, make design uniform, add doc link

* fix e2e test

* move overhauled config parts into prometheus code

* update tooltips with doc links

* clean component styles for section padding, top and bottom 32px

* make additional settings subsection headers h6

* use secondary gray for section descriptions

* fix merge issues

* change inlineswitch to switch only in prom settings because the other components are shared

* remove legacy formfield and input, replace with inlinefield and input from grafana-ui

* find more formfield and UI design fixes like changing inlineformlabel to inlinefield

* remove unused inline form label

* replace legacy duration validations with <FieldValidationMessage>

* fix styles secondary gray from theme

* change language, headings and datasource -> data source

* update alert setting styles with new component

* update prom url heading and tooltip

* update default editor tooltip and set builder as default editor

* update interval tooltip

* update prom type tooltip

* update custom query params tooltip

* update exemplar internal link tooltip

* fix inline form styling inconsistency

* allow for using the DataSourceHTTPSettings component without the connection string

* remove overhaul component, re-use dshtttps comp, and use connection input in config editor

* make tooltips interactive to click links

* consistent label width across the elements we can control for now, fix exemplar switch

* make connection url a component

* refactor onBlur validation

* remove unused component

* add tests for config validations

* add more meaningful health check

* fix e2e test

* fix e2e test

* fix e2e test

* add error handling for more url errors

* remove unnecessary conversion

* health check tests

* Clean up the health check

* health check unit tests

* health check unit tests improved

* make pretty for drone

* lint check go

* lint check go

* add required attr to connection component

* Update public/app/plugins/datasource/prometheus/configuration/Connection.tsx

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

* fix read only issue for provisioned datasources

* validate multiple durations for incremental query setting

* use sentence case for headers

* use className consistently for styles

* add tests for url regex

* remove console logs

* only use query as healthcheck as the healthy api is not supported by Mimir

* fix exemplar e2e test

* remove overhaul prop from custom headers setting component

* remove connection section and use DatasourceHttpSettings connection with custom label and interactive tooltip

* add spaces back

* spaces

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-27 09:43:54 -04:00
Brendan O'Handley 39a3d85514 Graphite: Variable editor add definition to onChange (#66895)
add definition to onChange
2023-04-25 10:23:23 -04:00
Brendan O'Handley c5ea3cd7e0 Prometheus: remove part of flaky e2e test (#67116)
remove elements of flaky e2e test

This test only checks 'undo' in the code editor and then checks if the query builder is present. The test is timing out when looking for the query builder. There should be a second test to check if undo works in the query builder so I'm removing the query builder check. I will add an issue to create a test for 'undo' in the query builder.
2023-04-24 10:28:57 -04:00
Brendan O'HandleyandGareth Dawson eba2c7b522 Prometheus: Metric encyclopedia, return results in table format (#64851)
* add table results to metric encyclopedia

* remove extra tests

* add class to top align text in td elements

* add secondary style to use metric button and remove unused styles

* Prometheus: Make metrics encyclopedia more responsive for smaller screens (#64909)

* improvements

* remove comments

* feat: exclude all mertics with no metadata

* remove comment

* convert from InlineSwitch to Switch components

* fix bug, enter a fuzzy search sentence, switch to fullMetaSearch, perform fuzzysearch function

---------

Co-authored-by: Gareth Dawson <gareth.dawson@grafana.com>
2023-03-20 09:21:19 -04:00
Brendan O'Handley 2e4b134743 Prometheus: Feedback link for metric encyclopedia plus performance improvements (#64576)
* add filtered results

* add feedback link

* correctly debounce fuzzy search thank you leon

* reduce calls to filterMetrics()in letter search

* clean up the alphabet type

* bug fix, filter type should be subtractive

* each filter is don;t explicitly, subtracting from the results of each

* Revert "each filter is don;t explicitly, subtracting from the results of each"

This reverts commit 5648788451.

* each filter is filtered explicitly, one after the other, subtracting from the results of each
2023-03-14 16:36:24 -04:00
Brendan O'Handley 50ef183208 InfluxDB: Fix type assertion panics for interface conversion: interface {} is nil (#64556)
* fix type assertions

* fix chk

* add nil and fix tests

* add test for null bool and strings in the JSON response to be parsed as nil in Go

* reduce complexity

* reduce complexity

* reduce complexity again

* switch case for valTypes
2023-03-10 11:11:00 -05:00
Brendan O'Handley 74ed7ead16 FeatureFlags: Add "O11y-metrics" as Owner for metrics feature flags (#64438)
add o11y-metrics as Owner for metrics feature flags
2023-03-08 11:51:42 -05:00
Brendan O'HandleyandChristopher Moyer 9b6e531549 Prometheus: Metric encyclopedia (#63423)
* add metric encyclopedia feature toggle and component

* remove unused button

* move file, add test file

* add tests

* add pagination and tests

* test with 10,000,000 metrics

* remove unused import

* add filter by type

* search alphabetically and add switch to exclude metrics with no metadata

* add suggested functions and filter for functions

* allow user to select variables in encyclopedia

* fix style and tests

* add fuzzy search by either metric name or all metadata

* if missing metadata, remove metadata fuzzy search option, exclude metadata, and filter by type

* add encyclopedia feature tracking

* indicate that metrics are filtered by labels

* handle metric singular or plural

* add tooltips and fix language

* add filtering tests

* change 'search' to 'browse'

* remove functions filter and tests as not part of work flow

* add m.e. button and selected metric is a tag

* fix hanging search and update styles, padding, labels, and groupings

* small performance improvements

* fix tests

* add backend metrics query option

* add loading spinner for start load and backend search

* autofocus search input

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* run prettier

* run prettier

* fix text for feature toggle

* for license check since https://cla-assistant.io/check/grafana/grafana?pullRequest=<PR#> is not working

* fixing tests

* fix feature toggle docs

* fix feature toggle

* fix feature toggle

* add owner to feature toggle

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-07 13:41:05 -05:00
Brendan O'Handleyandismail simsek aed020d9b5 Influxdb: Fix missing columns with raw query (#64058)
* add selected columns to table when select object is not in query model because of rawQuery

* handle * and SHOW raw queries

* handle metricFindQuery

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-03-03 13:28:58 -05:00
Brendan O'Handley 16503a719b Prometheus: Handle jsonnet strings in variables.ts and fix types (#63875)
handle jsonnet strings in variables.ts and fix types
2023-02-28 10:28:37 -05:00
Brendan O'HandleyandGalen Kistler 2372b7c626 Prometheus: Improve prometheus query variable editor (#63529)
* add prom query var editor with tests and migrations

* fix migration, now query not expr

* fix label_values migration

* remove comments

* fix label_values() variables order

* update UI and use more clear language

* fix tests

* use null coalescing operators

* allow users to query label values with label and metric if they have not set there flavor and version

* use enums instead of numbers for readability

* fix label&metrics switch

* update type in qv editor

* reuse datasource function to get all label names, getLabelNames(), prev named getTagKeys()

* use getLabelNames in the query var editor

* make label_values() variables label and metric more readable in the migration

* fix tooltip for label_values to remove API reference

* clean up tooltips and allow newlines in query_result function

* change function wording and exprType to query type/qryType for readability

* update prometheus query variable docs

* Update public/app/plugins/datasource/prometheus/components/VariableQueryEditor.tsx

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>

* handle jsonnet grafana as code variables

---------

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-02-27 08:38:05 -05:00
Brendan O'Handley 79c9ab1952 Dataplane: Support timeSeriesLong without transform (#62732)
* support timeSeriesLong without transform

* move timeserieslong transform to the right spot

* add review suggestions for using types and moving options inline

* handle frames with different field names

* remove extra options
2023-02-27 08:37:19 -05:00
Brendan O'Handley 879f980084 Revert "Prometheus Datasource: Improve Prom query variable editor" (#63278)
Revert "Prometheus Datasource: Improve Prom query variable editor (#58292)"

This reverts commit eedcd7d5b1.
2023-02-10 12:31:16 -05:00
Brendan O'HandleyandGalen Kistler eedcd7d5b1 Prometheus Datasource: Improve Prom query variable editor (#58292)
* add prom query var editor with tests and migrations

* fix migration, now query not expr

* fix label_values migration

* remove comments

* fix label_values() variables order

* update UI and use more clear language

* fix tests

* use null coalescing operators

* allow users to query label values with label and metric if they have not set there flavor and version

* use enums instead of numbers for readability

* fix label&metrics switch

* update type in qv editor

* reuse datasource function to get all label names, getLabelNames(), prev named getTagKeys()

* use getLabelNames in the query var editor

* make label_values() variables label and metric more readable in the migration

* fix tooltip for label_values to remove API reference

* clean up tooltips and allow newlines in query_result function

* change function wording and exprType to query type/qryType for readability

* update prometheus query variable docs

* Update public/app/plugins/datasource/prometheus/components/VariableQueryEditor.tsx

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>

---------

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-02-09 15:35:36 -05:00
Brendan O'Handley 061e6d556f Dataplane: Add typeVersion to data frame metadata (#61824) 2023-02-03 09:54:26 -08:00
Brendan O'Handley 70c1850888 OpenTSDB: Allow metric autocomplete to use suggest api on every input (#62045)
* allow metric autocomplete by suggest api

* debounce sugggest metrics

* debounce sugggest metrics with debounce-promise

* commit for tests
2023-02-02 17:46:22 -05:00
Brendan O'Handley 1181d06b1b Graphite: Have metric name type query variable use metric render endpoint (#61730)
* have metric name query var use metric render endpoint

* add documentation for new query types
2023-01-23 18:13:22 -05:00
Brendan O'Handley 872df59de5 Prometheus: Kickstart your query, formerly query patterns (#60718)
* add query pattern prom types

* rebase main

* update docs

replace query patterns with kick start your query

* update docs, remove raw query from prom docs

Raw query toggle was removed from the code

* add binary query pattern to query patterns

* add aria labels for accessibility

* fix tests

* apply/create a query pattern behavior if anything exists in the query editor

* fix tests

* rebase main
2023-01-17 20:04:50 -05:00
Brendan O'Handley 6be341d505 Prometheus: Add query tracking (#61004)
* merge fix

* remove comments from debugging
2023-01-13 12:13:52 -05:00
Brendan O'HandleyandChristopher Moyer 370272e57e Documentation: Update prometheus getting started doc (#60803)
* update prom getting started doc

* fix md

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/getting-started/get-started-grafana-prometheus.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* update doc with image

* use multiple tasks template structure from writers toolkit

* fix image title

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-13 10:38:20 -05:00
Brendan O'Handley 245a589336 Angular: Remove ngInject from influxdb and graphite (#61251)
remove ngInject from datasources
2023-01-12 17:14:18 -05:00
Brendan O'Handley 286af5a53b Transformations: Fix bug in convert fields boolean to number (#60277)
* fix bug in convert fields boolean to number

* check for string outside of loop
2022-12-14 13:00:10 -05:00
Brendan O'Handley d5d07894b1 Graphite: bug fix, strip white space from queries before comparing them (#60133)
strip white space from queries before comparing them
2022-12-14 11:39:29 -05:00
Brendan O'Handley f9ef0eb414 Dataplane: Deprecate timeseries-many in favor of timeseries-multi (#59070)
* deprecate timeseries-many in favor of timeseries-multi

* deprecate timeseries-many, do not just remove it

* undo changes to jsonc files

* update deprecation message

* return TimeSeriesMulti for prepareTimeSeries transformer
2022-12-01 15:27:31 -05:00
Brendan O'Handley 84ec35a4ad Transformations: Convert fields transform fix, convert strings with commas to numbers (#59074)
convert strings with commas to numbers
2022-11-28 13:16:02 -05:00
59ffd9571e Transformations : Add partition by values to transformation docs (#57697)
* add partition by values to tranformation docs

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* include leon's suggestions

* include leon's suggestions

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-10-26 19:01:45 -04:00
Brendan O'Handley 60b14a2ec2 Opentsdb: Allow template variables for filter keys (#57226)
* allow template variables for filter keys

* add types to interpolate var function
2022-10-20 15:53:29 -05:00
Brendan O'Handley c34c1d0cb4 Graphite: Never escape asPercent function params as string (#56593)
* handle asPercent func by never esc params as string

* add test and clean up
2022-10-20 15:49:40 -05:00
Brendan O'Handley 82d8015469 OpenTSDB: Convert the OpenTSDB Query Editor from Angular to React (#54677)
* add query editor to module

* add metric section, add tests, update query type

* remove use of any for betterer

* fix test

* add tooltip for alias

* run runQuery on select change, fix metric select loading

* add downsample row, differentiate for tsdb version

* add tests for mteric section and downsample section

* add filter section react component and tests

* add tag section and tests

* add rate section and tests

* remove angular code

* fix styling

* remove comments

* remove unused code
2022-10-03 17:00:46 -04:00
Brendan O'Handley 331f3e2a58 small fix for new variable editor types (#55195) 2022-09-15 11:39:40 -05:00
Brendan O'Handley cd6b7ba688 InfluxDB: add scopedVars to tags to fix repeated panels querying all selected variables (#54934)
* add scoped vars for tags in influx to fix repeated panels

* test for adding scopedVars to tags
2022-09-15 09:29:19 -05:00
Brendan O'Handley 20d0aa9904 OpenTsdb: migrate annotations from angular to react (#53856)
* remove annotation angular dependency and migrate annotations

* add nullish coalescing operator

* remove annotations angular partial

* make annotation queries code and errors more readable

* handle the betterer issue with '^ Unexpected any. Specify a different type' at top of file

* run precommits

* run prettier
2022-08-26 13:44:10 -04:00
Brendan O'Handley c9a3b2d420 use metadata endpoint (#53980) 2022-08-25 10:59:49 -04:00
Brendan O'Handley 085258c035 Influxdb Datasource: Remove angular dependencies for Influxdb influxql annotations (#52546)
* migrate influxQL annotations to react and build new annotation editor

* use es-lint ignore for any type in migration

* changes for PR comments

* handle annotation editor on load error without query

* correct label for ann editor query

* add null coalesce operator and remove comment

* fix tooltip
2022-08-17 13:20:46 -04:00
Brendan O'Handley 7aeb8b4cdf Prometheus: Remove metadata endpoint (#53428)
* remove prom metadata endpoint until we have a fix for detecting versions and implementations

* fix linting issue
2022-08-08 18:37:12 -04:00
Brendan O'Handley 85db523dd5 Graphite Plugin: fix annotation migration regression with ref-ids (#53361)
* fix regression with ref-ids

* remove duplicate check for annotations in fix
2022-08-08 12:32:35 -04:00
Brendan O'Handley 6c3efb0c88 Graphite Plugin: Remove angular dependencies for graphite annotations (#52261)
* fix merge conflict

* fix betterer

* handle new creating annotations

* add h5 'or' tag to annotation editor

* fix annotation regression looking for tags before target

* remove angular annotation partial

* change ann tags type to string[] and use TagsInput to create ann

* remove GraphiteEventsType, return annotations targets setting 'textEditor': true

* fix yarn typecheck errors

* add dateTime for yarn fix to tests

* fix incorrect merge conflict resolution

* fix betterer

* making changes for PR approval resolutions

* fix prettier issue

* fix prettier
2022-07-27 16:27:42 -04:00
Brendan O'Handley e51187a474 Prometheus datasource: query builder freezes when metrics metadata is undefined (#51929)
* add error handling for prom query builder returning undefined metrics metadata

* remove reference to escalation
2022-07-08 11:59:48 -04:00
Brendan O'Handley 5b52a1c391 List Azure Devops as an enterprise plugin (#49189)
* list azure devops as an enterprise plugin

* change base url to grafana.com/grafana/plugins and remove trailing slashes for consistency
2022-05-18 15:02:45 -04:00
Brendan O'Handley 4867a6b15f Graphite Datasource: add responseType: 'text' to http options to return full list of functions (#47663)
* add response type text to graphite datasource http options to return full list of functions

* add comment for adding response type text to call to  graphite /functions endpoint

* Add tests for invalid and valid JSON mocking backendSrv fromFetch

* remove unnecessary code from tests

* remove extra logic for graphite /functions endpoint returning {} #46681

* add graphite functions list logic back in to see why alert test broke

* fix conflict message

* fix conflicts

* fix issues with rebase, add responseType text back in, remove extra graphite functions list logic checks

* add email for license/cla check
2022-05-02 13:05:31 -04:00