Commit Graph
89 Commits
Author SHA1 Message Date
Galen Kistler d6eca75bf7 Loki: strip out invalid options for logs/metrics queries (#79409)
* fix bug in split query where metric queries with maxLines of 0 would not execute
2023-12-13 07:08:30 -06:00
Galen Kistler 243c7583c9 Logs Panel: Table UI - Logs.tsx clean up mutation in react lifecycle (#78925)
* remove prop mutation in componentWillUnmount
2023-11-30 20:04:42 +00:00
Galen KistlerandSven Grossmann 25c152c4d8 Logs panel: Logs table UI - add datasource type to events (#78850)
* add datasource type to logs table ui events

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-11-29 21:50:32 +02:00
Galen KistlerandIvana Huckova f7ace22285 Logs Panel: Table UI - feedback link (#78354)
* Adds google form link to let users submit feedback on logs table UI

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-11-29 19:28:55 +02:00
Galen Kistler fd863cfc93 Logs Panel: Table UI - Misc UI tweaks (#78150)
* Miscellaneous UI tweaks for logs table UI in explore
2023-11-29 10:57:04 -06:00
Galen Kistler faa29db241 Logs Panel: Table UI - Pull logs table into dashboard panel (#77757)
* Allows users to add a logs table in explore to a dashboard panel via the includeByName transformation
2023-11-29 10:01:28 -06:00
Galen Kistler 392a4342a8 Logs Panel: Table UI - Time range changes not reflecting in table (#78500)
* add hook to update selected dataframe when time range changes
2023-11-22 07:15:29 -06:00
Galen Kistler 1dec96ebe7 Logs Panel: Table UI - Multiple dataframes (queries) (#77589)
* Add dropdown to logs table UI to allow users to select which dataFrame to visualize in the table
2023-11-16 10:42:28 -06:00
Galen Kistler a18eee4093 Logs Panel: Table UI - Refactor to use includeByName transformation (#78070)
* remove excludeByName logic from LogsTable.tsx, migrate to includeByName. Update tests
2023-11-14 15:18:47 +02:00
Galen Kistler 7617a7a3fc Transformations: Add includeByName to organize fields transformation (#77797)
* add includeByName inclusion list to transform, update ui to work with either filtering method
2023-11-13 08:59:37 -06:00
Galen Kistler 13484928a1 Logs Panel: Table UI - Label names that are too long push out usage percentage in table column multi-select (#77824)
make checkbox sticky and scroll within label
2023-11-08 13:44:28 -06:00
Galen Kistler 0ae3cd6fa5 Logs Panel: Table UI - Query with few rows renders short table (#77653)
* remove height calculation based on row count
2023-11-07 17:22:11 +02:00
Galen Kistler 9e54012407 Logs Panel: Table UI - Add time and body fields to column selection in logs table visualization (#77468)
* add the ability to set visibility of time and body fields, set default of time and body fields when no other fields are selected
2023-11-07 16:00:06 +02:00
Galen Kistler 05376a950c Logs Panel: Column selection for experimental table visualization in explore (#76983)
* New experimental table customization for logs in explore
* Logs Panel: Explore url sync for table visualization (#76980)
* Sync explore URL state with logs panel state in explore
2023-10-26 12:06:41 -05:00
88957c7f44 Table: Optimization - render icons on hover (#76906)
* only render icons on hover
* Table: Optimization - remove plaintext cell wrapper (#76916)

* remove inner wrapper div from plain text cells
* reuse result of typeof value === 'string'
---------

Co-authored-by: Galen <galen.kistler@grafana.com>

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-10-23 11:12:40 -05: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 5b63cdb5b0 Loki: Cache extracted labels (#75842)
* add simple cache to extracted label values in completion provider
2023-10-03 10:37:32 -05:00
Galen Kistler 8336b8d4c1 Prometheus: Query builder - show warning when converting ambiguous order of operations (#75256)
* throw error when converting into visual query when parser detects that an aggregation expression node contains a function that contains a binary expression to detect queries that are ambiguously parsed
2023-09-28 10:46:56 -05:00
Galen Kistler af3ea54d0e Logs Panel: Add milliseconds to download file (#75045)
* add milliseconds to log panel txt file download
2023-09-26 07:14:40 -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
Galen Kistler 4f5728233c Logs Panel: Performance issue while scrolling within panel in safari (#74694)
* adding contain:strict to let browsers know the layout of logs panel can be rendered independently

* add new prop to allow LogRow component to contain content
2023-09-12 09:57:14 -05:00
5ed3ddf344 Prometheus: Fix dropdowns truncating from start of array (#73643)
* move truncating to helper function, to start of array

* Prometheus: Add 1000 result warning as sticky footer in metric select (#73649)

add 1000 result warning as sticky footer in metric select

* Prometheus: Only show truncated results warning if results have been truncated (#73650)

only show truncated warning if results have been truncated

* add test to metric select

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
2023-08-25 12:58:35 -04:00
Galen Kistler f33f3a55a0 Loki: Label browser sticky footer (#73243)
* Create sticky footer section in loki metrics browser for query preview and action buttons
2023-08-17 11:01:30 -05:00
Galen Kistler 1e07c7c874 InfluxDB: Tests for #73247 (#73250)
* add test assertions to cover default config UI state in influxDB plugin
2023-08-15 11:50:50 -05:00
Galen Kistler 873ebc58b4 InfluxDB: make influxql options the default if nothing defined (#73247)
make influxql options the default if nothing defined
2023-08-14 22:31:11 +03:00
Galen Kistler fbd2412f37 Prometheus: Update heatmap unit tests (#72404)
introduce tests for new potential heatmap response type, revert prior changes to tests
2023-07-26 14:47:13 -05:00
Galen Kistler 831e8acf15 Prometheus: Add support for day_of_year (#72403)
add querybuilder/code editor support for day_of_year
2023-07-26 14:03:17 -05:00
Galen Kistler 51847cc797 Prometheus: Turn browser resource cache on by default (#72105)
* turn prometheus browser cache flag on by default
2023-07-25 07:39:56 -05:00
Galen Kistlerandismail simsek 1c358de190 Prometheus: Fix heatmap query format (#71971)
Check first numeric field instead of name: Value 

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-07-20 15:09:40 +03:00
Galen Kistler 7dc071f46b Prometheus: Version detect bug (#71198)
* remove redundant request copy in backend, add more versions to semver lists
2023-07-07 09:39:20 -05:00
Galen Kistler 76f7152904 Prometheus: [devenv] provision gdev-prometheus development environment with basic auth (#71153)
* provision gdev-prometheus development environment with basic auth
2023-07-06 13:11:55 -05:00
Galen Kistler daf9f9cd19 Prometheus: Incremental querying profile data updates (#70701)
* add prometheusIncrementalQueryInstrumentation feature flag, update instrumentation data
2023-07-05 14:39:49 -05:00
Galen Kistler 927393633c Prometheus: Code editor autocomplete returns bad results when text is highlighted (#70856)
* adjust cursor when text is selected to give better autocomplete results in prometheus code editor
2023-07-05 07:22:23 -05:00
Galen Kistler 4217c8057b Graphite: Fix infinite loop in text editor when using graphite in a Mixed datasource (#70970)
Fix infinite react state loop exhibited in mixed datasource by stringifying objects in useEffect dependencies
2023-06-30 14:00:26 -05:00
Galen Kistler 0817ee00f9 Prometheus: Remove duplicate definition in docs (#70916)
remove duplicate lines
2023-06-30 13:50:37 -05:00
Galen KistlerandBrendan O'Handley 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
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
Galen Kistler 093d0a4c35 Prometheus: Fix numeric values in raw prometheus view which are being formatted as text (#69737)
* output numeric if exists

* fix bug where copying to clipboard was excluding quantile label (le)
2023-06-08 09:32:09 -05: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
Galen KistlerandLeon Sorokin 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
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
Galen Kistler 69f1116f59 Prometheus: Fix flakey query cache test (#67388)
hardcode date to prevent test flake
2023-04-27 07:51:33 -05: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
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
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
Galen Kistler 1dad340ab3 Prometheus: Add exemplar modal "locking" for time series (#63896)
* add ability to lock exemplar open state until user clicks off
2023-04-13 10:28:04 -05:00
Galen Kistler cca109eb77 Prometheus: Query cache flakey tests (#66366)
Fix flaky tests
2023-04-12 07:28:51 -05:00
Galen Kistler 6ab7ed0f66 Prometheus: Fix flaky unit test (#66188)
Fix flaky unit test
2023-04-08 00:06:02 +03:00
Galen Kistler 38482c90bf Build URL params and include requestId (#65742)
* add requestId and ds_type to datasource request url
2023-04-06 14:43:10 -05: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
Galen Kistler 96e9e80739 Prometheus: Browser resource caching (#60711)
Add cache control headers and range snapping to Prometheus resource API calls.
2023-04-03 09:07:17 -05:00
Galen Kistler b9ebd5757a TimeSeries: Fix overflowing exemplar modals causing content shifts (#64037)
*  fix overflowing exemplar modals causing content shifts
2023-03-06 11:34:37 -06:00
Galen Kistler e58bef15ac API: Cache-Control (browser caching) for datasource resources: part 2 (#63060)
* Check if header string contains "public" or "private" target values
2023-02-27 15:55:22 -05:00
Galen Kistler 79b750a4b2 Prometheus: Table format throwing error on empty result (#63053)
* fix bug in prometheus table view which is throwing error when a query returns no results
2023-02-07 14:58:08 -06:00
Galen Kistler 5ad7cca9d4 Prometheus: Fix "-Instant" string showing up in prometheus instant query UI (#62265)
Add string constant and make sure to remove from name before outputting to frontend
2023-01-27 10:40:12 -06:00
Galen Kistler db369fc5b2 Prometheus: instant results ux improvements rudderstack events (#60990)
* add rudderstack events for new interactive elements
2023-01-05 12:52:59 -06:00
0e265245eb Prometheus: New instant query results view in Explore (#60479)
Add new default instant query UI option for prometheus users in Explore.

Co-authored-by: Beto Muniz <contato@betomuniz.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-01-04 10:46:03 -06:00
Galen Kistler 6ab6d661e2 Dashboard: .txt file extension is not supported in /dashboard/import file upload (#59760)
remove typo, allow txt file upload
2023-01-04 07:16:23 -06:00
Galen KistlerandRyan McKinley 4ed0cc7d18 Prometheus: Code editor - upgrade /series API endpoints to use label/values and /labels for supported prometheus clients (#59576)
* Allow prometheus code editor API to use new prometheus API calls for supported data source clients.
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-01-03 12:38:11 -06:00
Galen Kistler f7bd85d7f4 Prometheus: Updating editor value on Monaco's onDidChangeContent performance issues (#60191)
debounce slow function that is running on each keystroke
2022-12-15 14:15:57 -06:00
Galen Kistler b0f8e803a1 Prometheus: Fix exception being thrown when toggling visibility in explore (#60159)
fix error being thrown when frameIndex is out of bounds of dataframe
2022-12-12 07:44:15 -06:00
Galen Kistler e85763065c Prometheus: Exemplar optimization (#60055)
replace inefficient forEach
2022-12-08 15:20:27 -06:00
Galen Kistler dfc15163da Prometheus: Fix exemplar fill color to match series color in time series. (#59908)
* Implementing new optional color property to ExemplarMarker component 
* Refactor some changes from #59743
2022-12-08 14:15:05 -06:00
Galen Kistlerandismail simsek f37997aec0 Prometheus: Add traceID link to heatmap exemplar popover (#60039)
* Add traceID link to heatmap exemplar popover
* Render links for each field individually

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-12-08 12:02:17 -06:00
Galen Kistler 22f828300d Prometheus: Fix exemplars not respecting corresponding series display status. (#59743)
* Exemplar filtering when series are toggled in legend UI
2022-12-08 11:46:00 -06:00
Galen Kistler 5b7ef92399 Prometheus: Remove raw query toggle (#59069)
* remove the raw query option toggle from the prometheus query builder
2022-11-29 08:12:46 -06:00
Galen Kistler ee7348afee Prometheus: Query builder label filters dropdown UI overload fix (#58266)
* WIP: try to support removing series endpoint for supported clients

* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data

* clean up console logs

* refactor and comment

* expanding current unit test coverage to cover calls to new API

* fix unit test

* whitespace

* prettier

* WIP: need to merge in other PR

* WIP giving up and trying again

* WIP: most functionality is working, split out shared loki/prom code

* fix bug in which search results wouldn't take other label context into the query

* Fix bug in which the previously selected value would conflict with the async search

* interpolate the label name string instead of the match promql expression

* remove type assertions

* remove type assertion

* clean up generic confusing types, and add back in a type assertion

* remove generic type

* make sure to interpolate label names

* fix bugs with variables not interpolating before query

* remove debug

* assert partial properties on QueryBuilderLabelFilter

* Force update betterer results :(

* update regex so dropdown UX more closely matches current behavior

* add eslint ignore

* add eslint ignore and update betterer
2022-11-09 14:54:51 -05:00
Galen Kistler 9281746914 Prometheus: remove /series endpoint calls in query builder label names and values for supported clients (#58087)
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data

* expanding current unit test coverage to cover calls to new API

* interpolate the label name string instead of the match promql expression
2022-11-08 08:37:11 -06:00
Galen Kistler 6bc8ec0f9b fix thanos semver string (#58335) 2022-11-07 09:03:42 -06:00
Galen Kistler c27aac0d38 Prometheus query builder: Replace select with AsyncSelect to support high cardinality prometheus instances (#57300)
* Replace current select with AsyncSelect component to facilitate autocomplete via prometheus server instead of client application
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-10-25 13:05:21 -05:00
Galen Kistler e59ddd6bc5 Revert "Revert "Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)" (#57551)" (#57553)
This reverts commit e7671bf909.
2022-10-24 15:02:15 -05:00
Galen Kistler f93c3acc51 Prometheus: Flavor/version configuration (#57554)
* Revert "Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)"
This reverts commit 2432ce619a.
* Adds new fields and documentation for Prometheus datasource configuration: prometheus type, and version
2022-10-24 14:53:11 -05:00
Galen Kistler 2432ce619a Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)
This reverts commit 7ecbc98b3e.
2022-10-24 12:33:11 -05:00
Galen Kistler e7671bf909 Revert "Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)" (#57551)
This reverts commit 3cbbf706cf.
2022-10-24 11:56:49 -05:00
Galen Kistler 3cbbf706cf Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)
Provide label values API with match parameter when prometheus datasource has configured supported prometheus type and version
2022-10-24 09:47:35 -05:00
Galen Kistler 7ecbc98b3e Prometheus: Type and flavor configuration (#56496)
* Adding two new fields to the data JSON in the prometheus datasource configuration: prometheusType, and prometheusVersion.
* Version field will attempt to auto-detect via buildinfo API when prometheus Type is selected
2022-10-24 09:26:32 -05:00
Galen Kistler 0b66abba18 add case for empty influxdb 1 versions, so the health check doesn't fail (#56426) 2022-10-19 08:15:32 -05:00
Galen Kistler 8fd4fcb987 Prometheus: Annotation query filtering values less then 1 (#53969)
* prevent annotation query from filtering values less then 1
* unit tests were asserting that gaps in data (0 value) are removed from annotation, update filter to exclude 0
2022-10-06 09:26:08 -05:00
Galen Kistlerandismail simsek 89a20526e5 Prometheus: Update onblur ref with value of last changed monaco editor (#55513)
* add new monaco callback to update onBlurRef with current value on monaco editor change.

* don't overload onBlur, create new onChange tracker that doesn't initiate queries, just updates values

* Update public/app/plugins/datasource/prometheus/components/monaco-query-field/MonacoQueryField.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-09-21 12:51:14 -05:00
Galen Kistler 23afb0c04e delete graphite angular partial (#55570) 2022-09-21 10:30:24 -05:00
Galen Kistlerandismail simsek d19a125ada Prometheus: report metrics browser toggle click interaction (#54546)
* report metrics browser toggle click interaction

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-08-31 14:43:00 -05:00
Galen Kistler 6ed0787376 InfluxQL: Quoting tag values in the query editor (#54187)
* Quote numeric values in query editor
2022-08-26 08:26:44 -05:00
Galen KistlerandLeon Sorokin 8b18530cb8 Prometheus: properly de-accumulate multi-heatmap responses (#53688)
* Implement workaround to #3373, grouping heatmaps by query before sorting prevents bug when calculating a heatmap with multiple values for the same label on the x-axis

* Group heatmap frames prior to sort by the concatenation of their values, excluding quantile (le)

* add unit tests for multiple query and multi-dimensional query

* replace final le value with more apt quartile label

* unify quantile labels

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-08-18 09:54:09 -05:00
gtk-grafanaandIvana Huckova f8d6730134 Metrics: Refactor use of lezer nodes to reference ID instead of name (parsing.ts) (#53177)
* Update public/app/plugins/datasource/prometheus/querybuilder/shared/parsingUtils.ts

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Since loki is still passing in node type strings, update the getAllByType shared function to allow string or number types

* add todo to remove string type when last datasource has migrated

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-08-03 09:57:29 -05:00
gtk-grafana 7f165729b0 remove string constant and use ids provided in lezer-promql library (#53180) 2022-08-03 09:56:32 -05:00