Commit Graph

35 Commits

Author SHA1 Message Date
David
d63ad9ac93 Prometheus: Disable suggestions at beginning of value (#21302)
* Prometheus: Disable suggestions at beginning of value

- fixed comparison operator regex
- no longer suggest anything at beginning of label value

* Detect cursor in front of label values
2020-01-03 12:16:27 +01:00
David
3667781e6f Loki: fix filter expression suggestions (#21290)
* Loki: fix filter expression suggestions

- dont suggest term completion items in filter expression
- allow at least one character before suggesting term items
- keep logql expression when switching between Metrics/Logs mode
- show only history by default in completion items

* Clear results when changing mode
2019-12-31 09:53:30 +01:00
David
334b89f3ee Prometheus: Fix label value suggestion (#21294)
* Prometheus: Fix label value suggestion

- remove quotes from typeahead input to suggest correct label values
- fix acceptance of partial label values

* Disable mid-word suggestions

* Fix test
2019-12-31 08:56:57 +01:00
David
649fa6789e Prometheus: Fix term completion that contain keywords (#21295)
- `unless`, `or` and `and` are binary operators
- if they appear in a query the query was broken up so the suggestor
only works on the current term
- this change fixes the splitter logic to make sure those keywords are
not inside a word
2019-12-30 18:03:35 +01:00
David
34c1433ba4 Prometheus: Fix typehead after binary operators (#21152)
- no longer do right-trim to prevent suggestions after space
- rely on splitting on syntax elements to identify relevant prefix
- added tests
2019-12-18 13:35:31 +01:00
David
13073fa6ba Prometheus: Display HELP and TYPE of metrics if available (#21124)
* Prometheus: Display HELP and TYPE of metrics if available

- Prometheus recently added a metadata API around HELP and TYPE of
metrics
- request metadata when datasource instance is created
- use metadata to show help and type in typeahead suggestions and in
metrics selector as tooltip

* Fix types
2019-12-17 11:06:43 +01:00
David
75923c43d1 Promtheus: Improve tab completion (#20938)
Change in behavior:

- no longer suggest everything in empty field, only history
- term suggestions need at least one character
2019-12-10 16:11:31 +01:00
David
1a2dad9d0c Prometheus: disable dynamic label lookup on big datasources (#20936)
* Prometheus: disable dynamic label lookup on big datasources

- when a prometheus datasource has more than 10000 metrics, label lookup
for the query field is disabled
- installations of that size have slow typehead lookup times and make
the editor sluggish

* Raise dynamic lookup threshold to 10000 metrics

* Run start tasks again
2019-12-09 17:02:17 +01:00
Andrej Ocenas
a7f4e4c56a Prometheus: Refactor labels caching (#20898) 2019-12-09 09:46:52 +01:00
Andrej Ocenas
f2574f4944 Prometheus: Fix caching for default labels request (#20718) 2019-11-28 16:55:38 +01:00
Dominik Prokop
9b7748ec13 Chore: Reorg packages (#20111)
Primarily- moving majority of the types and utils from @grafana/ui to @grafana/data

* Move types from grafana-ui to grafana-data

* Move valueFormats to grafana-data

* Move utils from grafana-ui to grafana-data

* Update imports in grafana-ui

* revert data's tsconfig change

* Update imports in grafana-runtime

* Fix import paths in grafana-ui

* Move rxjs to devDeps

* Core import updates batch 1

* Import updates batch 2

* Imports fix batch 3

* Imports fixes batch i don't know

* Fix imorts in grafana-toolkit

* Fix imports after master merge
2019-10-31 10:48:05 +01:00
kay delaney
3e8c00dad1 Chore: Moves QueryField to @grafana/ui (#19678)
Closes #19626
2019-10-31 08:27:01 +00:00
kay delaney
68d6da77da Chore: Update Slate to 0.47.8 (#19197)
* Chore: Update Slate to 0.47.8
Closes #17430
2019-09-23 12:26:05 +01:00
Dominik Prokop
503dccb771 Revert "Chore: Update Slate to 0.47.8 (#18412)" (#19167)
This reverts commit 601853fc84.
2019-09-17 13:21:50 +02:00
kay delaney
601853fc84 Chore: Update Slate to 0.47.8 (#18412)
* Chore: Update Slate to 0.47.8
Closes #17430

* Add slate and immutable to grafana-ui deps

* Fixes some small regressions introduced

* Fix suggestions for multiple query fields

* Pin upgraded dependencies

* Prettier fix

* Remove original slate-react dependency

* Fix tiny-invariant dep

* (Temporarily) comments out source maps for grafana-ui
2019-09-17 13:16:24 +02:00
Martin Chodur
c284a11a95 Prometheus: added time range filter to series labels query (#16851)
* fix datasource/prometheus: added time range filter to prom series labels

* fix datasource/prometheus: added missing method to test mock
2019-07-08 17:48:09 +02:00
Ryan McKinley
3f15170914 Refactor: move some files to @grafana/data (#17952)
* moving to data WIP

* more refactoring

* add missing test

* mock full path

* remove sinon from grafana-ui
2019-07-06 08:05:53 +02:00
Hugo Häggmark
ceb9f0855b Chore: Replaces moment with Grafanas DateTime (#16919)
* Wip: Initial commit

* Refactor: Replaces moment.utc(

* Refactor: replaces the last isMoment statements

* Refactor: Removes almost all moment imports

* Refactor: Moves moment_wrapper to grafana/ui

* Refactor: Renames momentWrapper

* Refactor: Removes one more moment import

* Refactor: Removes unitOfTime import

* Fix: Fixes Prettier error

* Refactor: Renames DateTimeType to DateTime

* Refactor: Renames isDateTimeType to isDateTime

* Refactor: Renames dateTime to dateTime

* Feature: Bans moment imports and types
2019-05-08 13:51:44 +02:00
Hugo Häggmark
ddefcb2694 Fix: Fetch histogram series from other api route (#16768)
Closes: #15992
2019-04-29 15:42:58 +02:00
Hugo Häggmark
7eabc282e9 Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Hugo Häggmark
988b7c4dc3 Feat: Adds reconnect for failing datasource in Explore (#16226)
* Style: made outlined buttons and used it in Alert component

* Refactor: clean up state on load data source failure

* Refactor: test data source thunk created

* Refactor: move logic to changeDatasource and call that from intialize

* Refactor: move load explore datasources to own thunk

* Refactor: move logic to updateDatasourceInstanceAction

* Tests: reducer tests

* Test(Explore): Added tests and made thunkTester async

* Fix(Explore): Fixed so that we do not render StartPage if there is no StartPage

* Fix(Explore): Missed type in merge

* Refactor: Thunktester did not fail tests on async failures and prevented queires from running on datasource failures

* Feat: Fadein error alert to prevent flickering

* Feat: Refresh labels after reconnect

* Refactor: Move useLokiForceLabels into useLokiLabels from PR comments

* Feat: adds refresh metrics to Prometheus languageprovider

* Style: removes padding for connected datasources

* Chore: remove implicit anys
2019-04-01 07:38:00 +02:00
Torkel Ödegaard
efcbb92b3f Merge pull request #14170 from grafana/davkal/explore-prometheus-range-sort
Sort Prometheus range suggestions by length
2018-11-23 19:22:24 +01:00
David Kaltschmidt
f831836fa7 Explore: make query field suggestions more robust
- drop invalid history items
- make highlighter more robust by defaulting to empty string on text to highlight
2018-11-23 12:25:43 +01:00
David Kaltschmidt
ecaee88efe Sort Prometheus range suggestions by length
- add sortText property to range completion items
2018-11-23 11:43:21 +01:00
David Kaltschmidt
bbaa5b63c8 Fix history rendering for DataQuery 2018-11-22 11:02:53 +01:00
David Kaltschmidt
ce59acd141 Extracted language provider variables for readibility 2018-11-15 11:20:27 +00:00
David Kaltschmidt
ff0ed06441 Explore: Don't suggest term items when text follows
Tab completion gets in the way when constructing a query from the inside
out:

```
up| => |up => sum(|up)
```

At that point the language provider will not suggest anything.
2018-11-12 17:40:05 +00:00
Michael Huynh
22b8b04dbe Preserve suffix text when applying function suggestion
Updates all PromQL function-like suggestions to omit parentheses
when inserted. Such insertions also preserve any suffix text.

Related: #13885
2018-11-09 20:43:20 +08:00
David
0df14f3fa8 Merge pull request #13927 from grafana/davkal/explore-start-task
Explore: fix metric selector for additional rows
2018-11-05 12:30:02 +01:00
Michael Huynh
5e748243af Handle suggestions for alternate syntax aggregation contexts
In aggregation contexts using the alternate syntax form, labels will
precede metrics. A cursor at the label position cannot provide
meaningful suggestions unless a metric is specified. In the latter case,
no suggestions are presented at all.

Related: #13690
2018-11-03 07:56:13 +08:00
David Kaltschmidt
edd575b552 Explore: fix metric selector for additional rows
- race condition in language provider leads to only one row getting
  selector options
- fixed by always returning the start task promise
2018-11-01 09:46:05 +01:00
David Kaltschmidt
4f959648a7 Explore: async starts of language provider
- changed `start()` to return promise on main language feature task
- promise resolves to list of secondary tasks
- speeds up time to interaction of metric selector
- lazy loading of certain metric selector and log label selector items
- loading indication of metric and log label selectors
2018-10-31 17:53:28 +01:00
David Kaltschmidt
c92f5462fe Explore: repair logging after code restructuring
this is a fix-up PR that cleans up Explore Logging after the recent
restructuring.

- log results need to be merged since query transactions have been
  introduced
- logging DS has its own language provider, query field, and start page
  (some of them based on prometheus components)
- added loader animation to log viewer
- removed logging logic from prometheus components
2018-10-30 16:35:49 +01:00
Michael Huynh
2a4a19388f Fix label suggestions for multi-line aggregation queries
No label suggestions were being returned for multi-line aggregation
contexts because the parsed selector string does not see the full
context before a `by` or `without` clause.

This solution stitches together all text nodes that comprise the query
editor to ensure the selector has sufficient context to generate
suggestions.

Also, an additional workaround has been included to ensure range vector
syntax does not disrupt label suggestions in aggregation contexts.

Related: #12890
2018-10-27 16:54:12 +08:00
David Kaltschmidt
6f2315d5c5 Moved prom language features to datasource language provider 2018-10-25 12:24:24 +02:00