Commit Graph

1028 Commits

Author SHA1 Message Date
Brendan O'Handley
e3a4d7c099 Prometheus: Add label filters to label_values query type variable query (#70644)
* add labelfilters to label_values query type with tests

* fix tests
2023-06-27 08:58:46 -04:00
Selene
b0893c29a7 Chore: Generate plugin version and remove lineage version (#69781)
* 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
2023-06-27 12:47:14 +03:00
Galen Kistler
7cb1f6541e Prometheus: Add capability to filter label names by metric in template variable editor (#70452)
* Adds new text input in prometheus template variable UI that allows label names function to filter values by metric. 
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2023-06-22 14:11:06 -05:00
Andreas Deininger
95b1f3c875 Fixing typos (#70487) 2023-06-22 09:43:38 +01:00
Ashley Harrison
1441c90178 Accessibility: use Collapse in QueryOptionGroup (#70446)
* use collapse in QueryOptionGroup

* fix unit tests

* fix tests after merging main

* adjust padding to match
2023-06-22 09:31:55 +01:00
Brendan O'Handley
3425012ee4 Prometheus: Variable query editor improvements (#69884)
* refactor metric select and label filters, add variables to label names dropdown

* use MetricsLabelsSection in variable editor

* use variable editor UI with MetricsLabelsSection

* filter label names by optional metric and allow metric to be cleared

* fix tests

* testing types for onChangeLabels

* testing types for onChangeLabels

* testing types for onChangeLabels

* Ismails review, remove comment and indent

* wrap label filters

* improved behavior for selects and inputs, add tests and document behavior
2023-06-16 15:03:34 -04:00
Galen Kistler
c1fe8e8927 Prometheus: Expr undefined at runtime (#70010)
* null/undefined expression default to empty string
2023-06-16 07:01:40 -05:00
Galen Kistler
fb290235fd Prometheus: Fix empty query string (expr) breaking dashboard panel (#69938)
* empty string if query.expr is undefined or null
2023-06-12 14:42:59 -05:00
Brendan O'Handley
ba97c492f9 Prometheus: Metrics explorer usability test improvements (#69528)
* remove infer type functionality because usability tests confirmed it was confusing/not helpful

* persist button option to open modal when typing in metric select

* update copy desc for setting that includes type and description in search

* when filtering by type, only return metrics with defined type

* give focused metric row more contrast, consistent with metric select focused option

* allow selection of metrics with unknown types and undefined types

* add highlighting to backend search

* augment counters created from summaries with (summary)

* remove type from search input setting and only search by name and description

* fix test to reflect that type has been removed from the metadata input search as duplicated by the filter

* add button to select metric, change wording, make table hover row consistent with grafana table

* add tooltip icon with docs link for metric types that are augmented, histogram and summary

* remove files slated for future refactoring

* style changes based on catherine's review

* remove border from settings btn, select btn increase to md, change col size in table, fix responsive inputs ui for sm screens
2023-06-08 12:53:17 -04:00
Galen Kistler
a02bf1104c Prometheus: fix icons that are only visible on hover (#69731)
always make icons visible instead of only showing on hover to allow users to see outline when interacting with icons via keyboard navigation
2023-06-08 09:30:10 -05:00
Laura Benz
24502c4c4a Add tooltip to instances of IconButton (#68880)
* refactor: tooltip is required

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: adjust tests

* refactor: apply changes from code review

* refactor: adjust component for e2e test

* refactor: adjust fallback

* refactor: apply changes from code review

* refactor: apply changes from code review

* refactor: set IconButton default as type=button and remove from use cases

* refactor:  remove aria-labels when duplicated and type=button from use cases

* refactor: clean up

* refactor: fix tests

* refactor: fix type errors

* refactor: remove changes in order in order to add them to a separate PR

* refactor: set IconButton default as type=button

* refactor: remove tooltip

* refactor: apply changes requested in review
2023-06-08 10:23:28 +02:00
Brendan O'Handley
2656c06e0b Prometheus: variable query editor interpolate variables in label values (#69735)
update regex for label values query type to support variable interpolation
2023-06-07 13:36:05 -04:00
Galen Kistler
fa2e27e175 Prometheus: Query Cache refactor (#66891)
* Pull out datasource specific implementation into calling context to make query cache generic
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-06-05 11:42:15 -05:00
Brendan O'Handley
4fdccef7b3 Prometheus: Fix bug when adding a query in mixed datasource (#69424)
default query needs to not be a function separate from ds
2023-06-02 12:24:42 -04:00
Brendan O'Handley
0c85327bed Prometheus: Make config header tags consistent (#69275)
change config header tags to h3
2023-05-31 13:57:57 -04:00
Brendan O'Handley
27c18b8c0c Prometheus: Bug fix to check default expr is empty string to set legend format as auto (#69255)
* check default query.expr is empty string to set default legend format

* fix tests with default base query

* fix tests
2023-05-30 12:25:53 -04:00
Brendan O'Handley
2e6c71fd39 Prometheus: Metric encyclopedia ux collab design (#68421)
* add class for full story click event on open modal

* move feedback link to modal top under header

* move results amount to bottom left

* move settings into modal, change language from exclude to include

* add metadata to backend search, use toggletip for settings, clean code

* style input row, remove labels and update settings button design

* remove alphabet search as requested by design

* display selected metric

* update style warning message for labels filtered metrics

* organize results footer

* update table design w fixed width and sticky header

* allow focus row on tab and use key Enter to select metric on keydown

* add rudderstack event for disable text wrap

* add messages for no metrics found, labels, search and none in data source.

* filter by type placeholder

* add min width to custom select option

* add text wrap for long metric names

* Have 4px margin b/w the search row and the 'currently selected' text. 16px between 'currently selected text' and the table

* Add some padding inside the first table header row (8 pixels on all sides)

* font-size of 12px for additional settings text

* 4px padding between additional settings text

* 24px margin between the last table cell and the pagination row

* # of Results per page font size 0.85rem

* 8px margin b/w the '# of results per page' and the dropdown

* fix test

* add infer type setting for testing

* use title on icon instead of wrapping in tooltip to fix test

* fix icon issue

* italicize inferred types, update setting text and add icon

* add space for label filters alert message

* make open button style consistent with advanced datasource picker

* keep copy for open modal button

* refactor rudderstack interactions and add inferType

* add event tracking for opening the modal

* galen's feedback, fix select horizontal scroll and results perpg bug

* ismail's feedback for metric types

* revert button in option for accessibility(galen) and style button with ghost mode

* change name to Metrics explorer

* fix hover/focus styles

* ismail's feedbcak, refactor hints, return empty string, remove @return

* Fix icon hovering: put tooltips back in over titles on icon

* make results not expand to fill table space and fix width for modal open option button
2023-05-26 12:39:34 -04:00
Ashley Harrison
c55c091145 Query Editor: Ensure dropdown menus position correctly (#69062)
prevent showing menu until options have loaded
2023-05-26 09:30:46 +01:00
Drew Slobodnjak
0fa991a4b9 Prometheus: Heatmap Format with No Data (#68938)
* Prometheus: Heatmap Format with No Data

* Simplify conditional logic
2023-05-25 09:08:56 -07:00
sam boyer
323cbe1997 kindsys: Adapt to new flattened lineage syntax in Thema (#68034)
* Update all core kinds to flattened lineages

* Regen Go types, without any

* Regen Go types, s/interface{}/any/

* Update generated core typescript

* Update generate docs

* Fix defaults gen in veneer index jenny

* Flatten plugindef lineage

* Convert all plugin kinds to flattened form

* Switch back to interface{} for now

* Switch to fs.Sub in plugin DeclParser

* Mostly undesirable codegen changes, to be fixed

* Update mod and sum

* Update pfs tests to flattened lineages

* Update thema to latest, regen docs
2023-05-24 10:47:25 +02:00
ismail simsek
670c987409 Prometheus: Update schema with legendFormat and intervalFactor (#68687)
add legendFormat and intervalFactor to the schema
2023-05-22 16:20:15 +02:00
Brendan O'Handley
b7c50b3be2 Prometheus: Class added for encyclopedia on open for fullstory (#68325)
add class to metric encyclopedia option in metric select on open for fullstory
2023-05-11 12:52:59 -04:00
Galen Kistler
a1bc1bd368 Prometheus: bug in creating autocomplete queries with labels (#68003)
Fix bug formatting multiple prometheus labels when doing metric query
2023-05-08 11:33:30 -05:00
ismail simsek
69a38def63 Prometheus: Fix Query Inspector expression range value (#67919)
* Use metadata from respective query

* Unit test to cover having proper metadata for each query we run
2023-05-06 22:48:25 +02:00
Ryan McKinley
86302bc1ec DataFrame: Deprecate MutableDataFrame (#67569) 2023-05-01 19:41:40 -07:00
Brendan O'Handley
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
Torkel Ödegaard
ea536411f1 DataSourceSettings: Fix recent changes to HttpDataSourceSettings (#67436) 2023-04-28 07:17:18 +02:00
Gilles De Mey
b94fceddad Alerting: Make Loki & Prometheus instant vector by default (#66797)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-04-27 17:38:22 +03:00
Brendan O'Handley
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
Galen Kistler
69f1116f59 Prometheus: Fix flakey query cache test (#67388)
hardcode date to prevent test flake
2023-04-27 07:51:33 -05:00
Ryan McKinley
5c4ecf7a86 Chore: Stop using ArrayVector and MutableField (#67333) 2023-04-27 01:28:54 +03:00
Galen Kistler
57d3027cb0 Prometheus: Default cache value in UI doesn't match functional default (#67159)
* add disabled state style, set correct default value to match default functionality
2023-04-24 15:24:12 -05:00
Galen Kistler
a6577cc6fd Revert "Prometheus: Add Victoria metrics to Prometheus type dropdown in datasource config" (#67150)
Revert "Prometheus: Add Victoria metrics to Prometheus type dropdown in datasource config (#66984)"

This reverts commit 7cb4d65584.
2023-04-24 12:59:27 -05:00
Galen Kistler
7cb4d65584 Prometheus: Add Victoria metrics to Prometheus type dropdown in datasource config (#66984)
* add VictoriaMetrics to prometheus type dropdown
2023-04-21 09:12:28 -05:00
Ryan McKinley
607b94aaa2 FieldValues: Use standard array functions (#67012) 2023-04-20 22:03:38 -07:00
Leon Sorokin
b24ba7b7ae FieldValues: Use plain arrays instead of Vector (part 3 of 2) (#66612)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-04-20 17:59:18 +03:00
Galen Kistler
a90289a193 Prometheus: mark queries with instant results as invalid for incremental querying (#66846)
mark queries with instant results as invalid for incremental querying
2023-04-19 08:24:09 -05:00
Stephanie Hingtgen
255d8f3326 Plugins: Remove secure socks proxy feature toggle (#66611) 2023-04-18 11:11:23 -06:00
Gareth Dawson
13c5aadd5d Loki: Don't request stats with invalid query (#65287)
* fix: dont call endpoint if invalid query

* fix: use latest lezer-logql

* refactor: use null instead of undefined

* test: returns null when query is invalid

* update
2023-04-18 15:52:37 +01:00
Leon Sorokin
75fc678d8a Prometheus: Track incremental query request sizes with Faro (#65244)
Track incremental query usage in Faro

Co-authored-by: leeoniya <leon.sorokin@grafana.com>
Co-authored-by: Galen <galen.kistler@grafana.com>
2023-04-18 08:22:46 -05:00
Ludovic Viaud
f3fcc31277 Set a help text when a readonly prometheus has no examplars configuration (#66713) 2023-04-18 20:19:13 +09:00
Ryan McKinley
39c04a8e36 Chore: Remove deprecated dashboardId from panel query runner (#64786) 2023-04-14 16:50:10 -07:00
Galen Kistler
4a7f27489e Prometheus: Fix ad-hoc filters (#66521)
* refactor label names back to getTagKeys to fulfill contract with parent class required for ad-hoc functionality
2023-04-13 15:05:20 -05:00
Leon Sorokin
2b2a4e13e5 Prometheus: Incremental querying option for to: now dashboards (#62932)
Provide new feature in Prometheus dashboards to cache queried time series data, modify requests to not include previously cached data in order to improve dashboard refresh performance. 

Co-authored-by: Galen <galen.kistler@grafana.com>
Co-authored-by: Leon <leon.sorokin@grafana.com>
2023-04-12 13:10:10 -05:00
ismail simsek
08727b7d6c Prometheus: Show initial hint on builder mode when metric lookup disabled (#65827)
* Show initial hint on builder mode when metric lookup disabled

* Disable MetricEncyclopedia and label request when metric lookup is disabled
2023-04-12 17:22:35 +02:00
Galen Kistler
cca109eb77 Prometheus: Query cache flakey tests (#66366)
Fix flaky tests
2023-04-12 07:28:51 -05:00
Ashley Harrison
1261345b81 Chore: Upgrade to react 18 (#64428)
* update react 18 related deps

* fix some types

* make sure we're on react-router-dom >= 5.3.3

* Use new root API

* Remove StrictMode for now - react 18 double rendering causes issues

* fix + ignore some @grafana/ui types

* fix some more types

* use renderHook from @testing-library/react in almost all cases

* fix storybook types

* rewrite useDashboardSave to not use useEffect

* make props optional

* only render if props are provided

* add correct type for useCallback

* make resourcepicker tests more robust

* fix ModalManager rendering

* fix some more unit tests

* store the click coordinates in a ref as setState is NOT synchronous

* fix remaining e2e tests

* rewrite dashboardpage tests to avoid act warnings

* undo lint ignores

* fix ExpanderCell types

* set SymbolCell type correctly

* fix QueryAndExpressionsStep

* looks like the types were actually wrong instead :D

* undo this for now...

* remove spinner waits

* more robust tests

* rewrite errorboundary test to not explicitly count the number of renders

* make urlParam expect async

* increase timeout in waitFor

* revert ExplorePage test changes

* Update public/app/features/dashboard/containers/DashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/PublicDashboardPage.test.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* skip fakeTimer test, ignore table types for now + other review comments

* update package peerDeps

* small tweak to resourcepicker test

* update lockfile...

* increase timeout in sharepublicdashboard tests

* ensure ExplorePaneContainer passes correct queries to initializeExplore

* fix LokiContextUI test

* fix unit tests

* make importDashboard flow more consistent

* wait for dashboard name before continuing

* more test fixes

* readd dashboard name to variable e2e tests

* wait for switches to be enabled before clicking

* fix modal rendering

* don't use @testing-library/dom directly

* quick fix for rendering of panels in firefox

* make PromQueryField test more robust

* don't wait for chartData - in react 18 this can happen before the wait code even gets executed

---------

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2023-04-11 10:51:54 +01:00
Ryan McKinley
af31c77331 Dataplane: Support prometheus dataplane contract for transformations and name matchers (#65237)
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2023-04-08 00:13:19 +03:00
Galen Kistler
6ab7ed0f66 Prometheus: Fix flaky unit test (#66188)
Fix flaky unit test
2023-04-08 00:06:02 +03:00
Galen Kistler
9fd50717c7 Prometheus: browser cache unit test bug (#65843)
fix unit tests failing on main, but not on feature branch
2023-04-03 09:46:58 -05:00