Commit Graph

119 Commits

Author SHA1 Message Date
Michael Huynh
c255b5da11 Add sum aggregation query suggestion
Implements rudimentary support for placeholder values inside a string
with the `PlaceholdersBuffer` class. The latter helps the newly added
sum aggregation query suggestion to automatically focus on the label
so users can easily choose from the available typeahead options.

Related: #13615
2018-10-28 21:03:39 +08:00
David Kaltschmidt
6f2315d5c5 Moved prom language features to datasource language provider 2018-10-25 12:24:24 +02:00
David Kaltschmidt
f19ffee5b4 Fix rebase, fix empty field still issuing query problem 2018-10-23 17:21:33 +02:00
David Kaltschmidt
fbed57ab43 Get query hints per query transaction 2018-10-23 16:10:52 +02:00
David
b0172427b1 Extract query hints 2018-10-04 16:27:18 +02:00
David Kaltschmidt
54c9beb146 Explore: jump to explore from panels with mixed datasources
- extends handlers for panel menu and keypress 'x'
- in a mixed-datasource panel finds first datasource that supports
  explore and collects its targets
- passes those targets to the found datasource to be serialized for
  explore state
- removed `supportMetrics` and `supportsExplore`
- use datasource metadata instead (set in plugin.json)
- Use angular timeout to wrap url change for explore jump
- Extract getExploreUrl into core/utils/explore
2018-10-01 12:03:57 +02:00
David Kaltschmidt
377bc44062 Explore: dont rate-hint on rate queries 2018-09-20 16:59:06 +02:00
Mitsuhiro Tanda
dc08093f6c minor fix 2018-09-13 20:15:33 +09:00
Mitsuhiro Tanda
2926725bab add annotation option to treat series value as timestamp 2018-09-13 20:05:30 +09:00
David
e4496080ff Merge pull request #12251 from mtanda/prometheus_use_matchers_for_completion
(prometheus) get label name/value from series API
2018-09-13 11:48:13 +02:00
David
a5bcd4b8e4 Adhoc-filtering for prometheus dashboards (#13212)
* Basic adhoc-filtering support for prometheus
2018-09-12 18:10:57 +02:00
David
d8a702cba3 Fix prometheus label filtering for comparison queries (#13213)
- Now supports click filtering for queries like `metric > 0.1`
2018-09-11 16:57:43 +02:00
Torkel Ödegaard
c9ae585d2a Merge branch '12918-no-conditional-assignment' 2018-09-05 12:09:32 +02:00
Patrick O'Carroll
777010b20b added no-conditional-assignment rule and changed files to follow new rule 2018-09-05 10:53:58 +02:00
Patrick O'Carroll
19b7ad61dd Changed functions to arrow functions for only-arrow-functions rule. 2018-09-04 14:27:03 +02:00
Patrick O'Carroll
552a61b6ae changed var to let in 50 files (#13075) 2018-08-30 09:03:11 +02:00
Torkel Ödegaard
272c09513f tslint: added a new tslint rule 2018-08-30 07:34:17 +02:00
Patrick O'Carroll
a702603e7b changed var to const 2 (#13068)
* changed var to const

* fixed typo created in last commit

* added or empty object to options in prometheus/datasource
2018-08-29 14:27:29 +02:00
Mitsuhiro Tanda
bf8840255c Review feedback. 2018-08-28 01:12:50 +09:00
Mitsuhiro Tanda
e62c083cf0 use series matchers to get label name/value 2018-08-28 01:12:50 +09:00
Torkel Ödegaard
9b978b7203 tslint: autofix of let -> const (#13033) 2018-08-26 17:14:40 +02:00
Marcus Efraimsson
6ace01fbed Merge pull request #12893 from grafana/davkal/12889-explore-fix-rate-filter
Explore: Fix label filtering for rate queries
2018-08-21 10:37:38 +02:00
Marcus Efraimsson
75db4d8eee Merge remote-tracking branch 'origin/master' into davkal/explore-rate-hinting 2018-08-21 09:48:07 +02:00
David Kaltschmidt
978e89657e Explore: Fix label filtering for rate queries
- exclude `]` from match expression for selector injection to ignore
  range vectors like `[10m]`
2018-08-13 12:53:12 +02:00
Julien Pivotto
48364f0111 Add support for $__range_s (#12883)
Fixes #12882

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2018-08-13 07:53:41 +02:00
David Kaltschmidt
0f5945c557 Explore: still show rate hint if query is complex
- action hint currently only works for very simple queries
- show a hint w/o action otherwise
2018-08-10 15:29:21 +02:00
David Kaltschmidt
128a5d98e1 Explore: expand recording rules for queries
- load recording rules from prometheus
- map rule name to rule query
- query hint to detect recording rules in query
- click on hint fix expands rule name to query
2018-08-08 16:56:21 +02:00
David
c1b9bbc2cf Explore: Query hints for prometheus (#12833)
* Explore: Query hints for prometheus

- time series are analyzed on response
- hints are shown per query
- some hints have fixes
- fix rendered as link after hint
- click on fix executes the fix action

* Added tests for determineQueryHints()

* Fix index for rate hints in explore
2018-08-08 17:50:30 +03:00
David
bda49fcaa2 Add click on explore table cell to add filter to query (#12729)
* Add click on explore table cell to add filter to query

- move query state from query row to explore container to be able to set
  modified queries
- added TS interface for columns in table model
- plumbing from table cell click to datasource
- add modifyQuery to prometheus datasource
- implement addFilter as addLabelToQuery with tests

* Review feedback

- using airbnb style for Cell declaration
- fixed addLabelToQuery for complex label values
2018-08-03 11:20:13 +03:00
Tobias Skarhed
d6158bc293 All tests passing 2018-08-01 09:30:26 +02:00
Tobias Skarhed
e4c2476f3c Weird execution order for the tests... 2018-07-31 09:35:08 +02:00
Tobias Skarhed
6b6a23ff6a Add support for interval in query variable
Add range to scopedVars

Add basic tests and extract function for range vars

Add support for range query variable in createQuery

Template vars squash
2018-07-23 14:33:21 +02:00
David Kaltschmidt
1f74b298c4 Remove string casting for template variables in prometheus 2018-07-16 13:02:36 +02:00
David Kaltschmidt
1efe34e6cf Make prometheus value formatting more robust
- prometheus datasources passes its own interpolator function to the
  template server
- that function relies on incoming values being strings
- some template variables may be non-strings, e.g., `__interval_ms`,
  which throws an error

This PR makes this more robust.
2018-07-16 12:40:55 +02:00
David Kaltschmidt
390090da05 Set datasource in deep links to Explore 2018-07-13 09:45:56 +02:00
Mitsuhiro Tanda
18a8290c65 (prometheus) prevent error to use $__interval_ms in query (#12533)
* prevent error to use $__interval_ms in query

* add test

* prevent error to use $__interval_ms in query
2018-07-11 11:13:47 -07:00
David
0d1f7c8782 Fix bar width issue in aligned prometheus queries (#12483)
* Fix bar width issue in aligned prometheus queries

This was broken because null values were filled in with unaligned times.

* use aligned times for result transformation
* add tests

An earlier version of this fix aligned the times again in the transformer, but
I think it's safe to only deal with aligned times in the response.

* Fixed prometheus heatmap tranformer test

The interval needs to be 1 to prevent step alignment.
2018-07-02 11:04:36 -07:00
David
7a3c1e162c Merge pull request #11942 from grafana/davkal/design-integration
Explore: Time selector, split view, design integration
2018-05-30 12:27:24 +02:00
David Kaltschmidt
750ea9bbdd Changed Prometheus interval-alignment to cover whole panel range
* the existing query date alignment shifts the range forward to match
a multiple epoch of the interval, but keeps the range length the same,
the result is that the start date is shifted forward as well, leaving a
gap in the graph (or a zero-line when null-as-zero was set, issue #12024)
* this pr extends the aligned range to cover the original start date as
well
2018-05-25 16:46:38 +02:00
David Kaltschmidt
eadaff6191 Explore: Design integration
* style header like other grafana components
* use panel container for graph and same styles for query field
* fix typeahead CSS selector (was created outside of .explore)
* use navbar buttons for +/- of rows
* moved elapsed time under run query button
* fix JS error on multiple timeseries being returned
* fix color for graph lines
* show prometheus query errors
2018-05-24 10:55:00 +02:00
Mitsuhiro Tanda
8ddcd67080 add query timeout option for Prometheus 2018-05-21 21:45:51 +09:00
David Kaltschmidt
e731c248d7 Prometheus step alignment: shift interval only on jitter
* only increase interval by step if jitter happened
* shift both start and end
* simplified tests by using low epoch numbers
2018-05-14 12:08:30 +02:00
David
06aca5e8b5 Merge branch 'master' into prometheus_align_queries 2018-05-08 12:22:55 +02:00
David
1236b7b918 Merge pull request #11770 from grafana/davkal/explore-panel-link
Explore: Add entry to panel menu to jump to Explore
2018-05-07 16:31:19 +02:00
David Kaltschmidt
8a53ec610b Fix url encoding, expand template vars, fix TS hacks
* moved datasource related functions to panel sub-class
* expand panel template vars for url
* added keybindings for x -> Explore
* url encoding for explore state
2018-04-30 17:44:30 +02:00
David Kaltschmidt
05b0bfafe4 Explore: Add entry to panel menu to jump to Explore
* panel container menu gets new Explore entry (between Edit and Share)
* entry only shows if datasource has `supportsExplore` set to true (set
 for Prometheus only for now)
* click on Explore entry changes url to `/explore/state` via location provider
* `state` is a JSON representation of the panel queries
* datasources implement `getExploreState()` how to turn a panel config into explore initial
 state
* Explore can parse the state and initialize its query expressions
* ReactContainer now forwards route parameters as props to component
* `pluginlist` and `singlestat` panel subclasses needed to be adapted because
 `panel_ctrl` now has the location provider as a property already
2018-04-30 17:44:28 +02:00
Mitsuhiro Tanda
c2b720835b fix to match table column name and order 2018-04-27 19:34:10 +09:00
Marcus Efraimsson
6687409efb prometheus: fix variable query to fallback correctly to series query
Using a query of for example up or up{job=job1}
2018-04-25 15:37:58 +02:00
David Kaltschmidt
707700ac7d force GET for metadataRequests, w/ test 2018-04-24 16:26:46 +02:00
David Kaltschmidt
006286ac05 Renamed helperRequest and removed positional args
From review feedback:

* s/helper/metadata
* combined positional args to _request into options dict
* metadataRequest reuses _request()
* moved consumption of this.httpMethod into _request, can be overwritten
 in options due to spread-after
2018-04-24 12:27:37 +02:00