Commit Graph

2738 Commits

Author SHA1 Message Date
Ryan McKinley
fcdc29746f
@grafana/data: export dateMath and rangeUtil (#17971) 2019-07-05 23:43:12 -07: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
Tobias Skarhed
baed5d7bd9 noImplicitAny: Azure Monitor (#17966) 2019-07-06 07:01:22 +02:00
Tobias Skarhed
88a2c6fce7 Graphite: Refactor lexer and parser (#17958) 2019-07-05 16:47:21 +02:00
Tobias Skarhed
9b468caea4 noImplicitAny: Datasource files, under 2500 (#17959)
* noImplicitAny on Graphite

* More noImplicitAny
2019-07-05 16:46:46 +02:00
Tobias Skarhed
17b5f48cf6 Datasource: Refactor Graphite to class (#17942)
* Rewrite Graphite Datasources to class

* Graphite: removed unused prop
2019-07-05 13:26:14 +02:00
Tobias Skarhed
418dba4b21 noImplicitAnys: Fix InfluxDB type issues #17937) 2019-07-05 07:52:23 +02:00
Daniel Lee
7e95ded164
AzureMonitor: remove duplicate query logic on the frontend (#17198)
* feat: AzureMonitor implements legend key on backend

To be able to remove the duplicated query logic on the
frontend, the backend code needs to implement alias
patterns for legend keys as well as allowing the default
list of allowed time grains to be overridden. Some metrics
do not support all the time grains and the auto timegrain
calculation can be incorrect if the list is not overridden.

* feat: AzureMonitor - removes duplicate query logic on frontend

* AzureMonitor small refactoring

Extracted method and tidied up the auto time grain
code.

* azuremonitor: support for auto time grains for alerting

Converts allowed timegrains into ms and saves in dashboard json.
This makes queries for alerting with an auto time grain work in
the same way as the frontend.

* chore: typings -> implicitAny count down to 3413

* azuremonitor: add more typings
2019-07-04 22:47:24 +02:00
kay delaney
1c291e26f8
Loki: Adds comment explaining usage of RFC3339Nano string (#17872)
* Loki: Adds comment explaining usage of RFC3339Nano string
2019-07-03 13:54:06 +01:00
kay delaney
0a1bb97a2f
Loki: getHighlighterExpressionsFromQuery Returns null if filter term is not quoted (#17852)
Closes #17687
2019-07-02 09:06:04 +01:00
Ryan McKinley
e7c3d0ed97
Refactor: rename SeriesData to DataFrame (#17854) 2019-07-01 12:00:29 -07:00
Tobias Skarhed
4e27ba9646 noImplicitAny: Sub 3000 errors (#17821)
* noImplicitAny Stackdriver

* Sub 3000 noImplicitAny

* Update error count limit

* Add DataQueryRequest type
2019-07-01 11:11:57 +02:00
Marcus Efraimsson
0833f26b43
Elasticsearch: Fix default max concurrent shard requests (#17770)
Elasticsearch v7.0 changed the behavior of max concurrent shard
requests and the default to 5. v5.6 and before 7.0 the default
is 256. This adds some additional behavior given certain
version is selected when configure the datasource to set
default max concurrent shard requests.
Changing from a version pre-v7.0+ to v7.0+ sets max
concurrent shard requests to 5.
Changing from a version v7.0+ to a pre-v7.0 sets max
concurrent shard requests to 256.

Fixes #17454
2019-06-28 18:38:16 +02:00
Sofia Papagiannaki
d9fea07e6e
Graphite: use POST for /metrics/find requests (#17814)
* Add test that expects a POST request

* Change graphite /metric/find request to POST

Query parameter can become large enough
to exceed GET URI limits.

* Fix requests with time range

Initialise httpOptions.params

* Fix for supporting queries referencing template variable
2019-06-28 16:21:32 +03:00
Hugo Häggmark
2379de53c4
Explore: Uses RFC3339Nano string to retrieve LogRow contexts from Loki API (#17813)
* Refactor: Uses nanosecond string to retreive LogRow contexts

* Reafactor: Small changes to comments after PR comments
2019-06-28 10:47:19 +02:00
Tobias Skarhed
0b9de3f761 noImplicitAny: Lower count to about 3450 (#17799) 2019-06-27 15:56:02 +02:00
Torkel Ödegaard
8fcc370fe9
Graphite: Fixes issue with seriesByTag & function with variable param (#17795)
Fixes #17696
2019-06-27 14:10:43 +02:00
Torkel Ödegaard
013a1abb6f
Graphite: remove feature that moves alias function last (#17791) 2019-06-27 11:16:11 +02:00
kay delaney
5f3a71bc7a Explore: Adds URL support for select mode (#17755)
Adds URL support for mode state (Metrics/Logs). It's important 
to be able to share a link to logs when a data source supports 
both metrics and logs.

Closes #17101
2019-06-27 11:11:49 +02:00
Ryan McKinley
021f5351fa TestData: add option to increase the number of test streams (#17789)
* variable number of points

* add variable number of bands
2019-06-27 10:28:35 +02:00
Torkel Ödegaard
40e5c4f8ba
Prometheus: Minor style fix (#17773)
* Prometheus: Minor style fix

* Updated snapshot
2019-06-26 09:56:11 +02:00
fxmiii
19185bd0af 17278 prometheus step align utc (#17477)
* Update datasource.ts

* Update datasource.test.ts

* utcOffset reverse

from moment docs, utcOffset "function returns the real offset from UTC, not the reverse offset"

* add utcOffset() to DateTime interface

method returns the UTC offset as a number of minutes

* Fixed test
2019-06-26 07:55:36 +02:00
Marcus Efraimsson
eecd8d1064 Elasticsearch: Visualize logs in Explore (#17605)
* explore: try to use existing mode when switching datasource

* elasticsearch: initial explore logs support

* Elasticsearch: Adds ElasticsearchOptions type
Updates tests accordingly

* Elasticsearch: Adds typing to query method

* Elasticsearch: Makes maxConcurrentShardRequests optional

* Explore: Allows empty query for elasticsearch datasource

* Elasticsearch: Unifies ElasticsearchQuery interface definition
Removes check for context === 'explore'

* Elasticsearch: Removes context property from ElasticsearchQuery interface
Adds field property
Removes metricAggs property
Adds typing to metrics property

* Elasticsearch: Runs default 'empty' query when 'clear all' button is pressed

* Elasticsearch: Removes index property from ElasticsearchOptions interface

* Elasticsearch: Removes commented code from ElasticsearchQueryField.tsx

* Elasticsearch: Adds comment warning usage of for...in to elastic_response.ts

* Elasticsearch: adds tests related to log queries
2019-06-24 21:15:03 +01:00
Johannes Schill
0412a28d2e TimePicker: New time picker dropdown & custom range UI (#16811)
* feat: Add new picker to DashNavTimeControls

* chore: noImplicitAny limit reached

* chore: noImplicityAny fix

* chore: Add momentUtc helper to avoid the isUtc conditionals

* chore: Move getRaw from Explore's time picker to grafana/ui utils and rename to getRawRange

* feat: Use helper functions to convert utc to browser time

* fix: Dont Select current value when pressing tab when using Time Picker

* fix: Add tabIndex to time range inputs so tab works smoothly and prevent mouseDown event to propagate to react-select

* fix: Add spacing to custom range labels

* fix: Updated snapshot

* fix: Re-adding getRaw() temporary to fix the build

* fix: Disable scroll event in Popper when we're using the TimePicker so the popup wont "follow" the menu

* fix: Move all "Last xxxx" quick ranges to the menu and show a "UTC" text when applicable

* fix: Add zoom functionality

* feat: Add logic to mark selected option as active

* fix: Add tooltip to zoom button

* fix: lint fix after rebase

* chore: Remove old time picker from DashNav

* TimePicker: minor design update

* chore: Move all time picker quick ranges to the menu

* fix: Remove the popover border-right, since the quick ranges are gone

* chore: Remove function not in use

* Fix: Close time picker on resize event

* Fix: Remove border bottom

* Fix: Use fa icons on prev/next arrows

* Fix: Pass ref from TimePicker to TimePickerOptionGroup so the popover will align as it should

* Fix: time picker ui adjustments to get better touch area on buttons

* Fix: Dont increase line height on large screens

* TimePicker: style updates

* Fix: Add more prominent colors for selected dates and fade out dates in previous/next month

* TimePicker: style updates2

* TimePicker: Big refactorings and style changes

* Removed use of Popper not sure we need that here?
* Made active selected item in the list have the "selected" checkmark
* Changed design of popover
* Changed design of and implementation of the Custom selection in the dropdown it did not feel like a item you
could select like the rest now the list is just a normal list

* TimePicker: Refactoring & style changes

* TimePicker: use same date format everywhere

* TimePicker: Calendar style updates

* TimePicker: fixed unit test

* fixed unit test

* TimeZone: refactoring time zone type

* TimePicker: refactoring

* TimePicker: finally to UTC to work

* TimePicker: better way to handle calendar utc dates

* TimePicker: Fixed tooltip issues

* Updated snapshot

* TimePicker: moved tooltip from DashNavControls into TimePicker
2019-06-24 14:39:59 +02:00
David
4ddeb94f52 Dashboard: Use Explore's Prometheus editor in dashboard panel edit (#15364)
* WIP prometheus editor same in panel

* Dont use panel in plugin editors

* prettiered modified files

* Fix step in external link

* Prevent exiting edit mode when slate suggestions are shown

* Blur behavior and $__interval variable

* Remove unused query controller

* Basic render test

* Chore: Fixes blacklisted import

* Refactor: Adds correct start and end time
2019-06-24 08:42:08 +02:00
Tobias Skarhed
219d711597 noImplicitAny: slate (#17681)
* Update slate types

* Fix noImplicitAny
2019-06-20 20:41:01 +02:00
kay delaney
477d5643b6
Explore: Prometheus query errors now show (#17470)
* Explore: Prometheus query errors now show
Fixes: #17435

* Explore: Adds test to ensure prometheus query errors are reported

* Explore: removes implicit anys introduced previously
2019-06-18 11:07:09 +01:00
Hugo Häggmark
3424b64299
Typescript: Removes implicit anys (#17625)
* Chore: Remove implicit anys from ResultProcessor and tests

* Chore: Removes implicit anys for /loki/**/*.ts

* Chore: Removes implicit anys for prometheus/**/*
2019-06-18 11:01:12 +02:00
Hugo Häggmark
51c6b50582
Explore: Tag and Values for Influx are filtered by the selected measurement (#17539)
* Fix: Filters Tags and Values depending on options passed
Fixes: #17507

* Fix: Makes sure options is not undefined

* Fix: Fixes tests and small button refactor

* Chore: PR comments
2019-06-14 10:13:06 +02:00
Tobias Skarhed
375dc333f2 Typescript: Reduce implicit any errors (#17550)
* Fix types on linkSrv

* Lower err count, shoot down some errs, add type pkg

* Fix changes and add test

* Update public/app/features/panel/panel_ctrl.ts

Co-Authored-By: Hugo Häggmark <hugo.haggmark@gmail.com>

* Update public/app/features/panel/panel_ctrl.ts

Co-Authored-By: Hugo Häggmark <hugo.haggmark@gmail.com>

* Update public/app/features/panel/panellinks/link_srv.ts

Co-Authored-By: Hugo Häggmark <hugo.haggmark@gmail.com>

* Update public/app/features/panel/panel_ctrl.ts

Co-Authored-By: Hugo Häggmark <hugo.haggmark@gmail.com>

* Fix last types to compile

* Fix formatting issue

* Update public/app/features/panel/panel_ctrl.ts

Co-Authored-By: Hugo Häggmark <hugo.haggmark@gmail.com>
2019-06-13 20:04:15 +02:00
Dave
c78b6e2a67 Elasticsearch: Fix empty query request to send properly (#17488)
* ensure that empty Elasticsearch queries are properly set to *.  Fixes issue that appears when passing raw data from variables.

* combine null check and empty check into one
2019-06-13 15:45:31 +02:00
kay delaney
e11edf3fc2
Explore: Includes context parameter when invoking getExploreState() from Prometheus datasource (#17569)
Closes #17457
2019-06-13 14:14:09 +01:00
Marcus Efraimsson
d168057fc6
Influx: Reset logs query field on clear all and clear row in explore (#17549)
Resets influx logs query field when hitting clear all and clear row 
in explore logs mode.

Fixes #17506
2019-06-12 17:27:13 +02:00
kay delaney
0a3af385e1
Explore: Runs query when measurement/field and pairs are selected in logs mode for influx (#17523)
* Explore: Runs query when measurement/field and pairs are select in logs mode for influx
Closes #17500

* Explore: Modifies logic determining when to auto-run query during influx logs mode
Also adds test to validate this logic
2019-06-12 14:14:39 +01:00
kay delaney
2a47c315df
Influx: Adds start page for logs in Explore (#17521)
* Influx: Adds start page for logs in Explore
Closes #17499

* Influx: Rebased with master and removed conditional display of cheat sheet in explore
Cheat sheet now displays during both Metrics and Logs mode, though this is only
temporary.
2019-06-12 14:01:48 +01:00
Hugo Häggmark
591ea0bfe3
Explore: Adds LogQueryField for InfluxDb (#17450)
* Wip: Intial commit

* Wip: Adds intial InfluxLogsQueryField

* Refactor: Adds measurements to InfluxLogQueryField

* Style: Tweaks styles and adds chosen measurement to measurements

* Refactor: Adds remove filter row

* refactor: make influx datasource typed

Uses the new api for exporting the plugin.

* adds metricFindQuery to DataSourceApi

metricFindQuery, getTagKeys and getTagValues now returns a promise

* influx: minor improvements

Limits logs result to 1000.
Don't show adhoc filter until measurement have been selected.

* Refactor: Adds fields to Cascader and uses chosen field as log column

Co-authored-by: Marcus <marcus.efraimsson@gmail.com>
2019-06-10 14:39:53 +02:00
Patrick Hahn
606825703f Prometheus: Use overridden panel range as $_range instead of dashboard range (#17352)
The range variables get filled with the range from the query options,
not with the range in the timeSrv object. This means that panels that
use a relative time override get the correct values from the __range
variables.

Fixes #17102
2019-06-06 10:03:14 +02:00
Hugo Häggmark
10a4a89902
Fix: Adds context to list of keys that are not part of query (#17423)
Fixes: #17408
2019-06-04 14:07:25 +02:00
Charlie Briggs
8ef961bba5 Prometheus: Correctly escape '|' literals in interpolated PromQL variables (#16932)
This escape is currently not happening which breaks multi-value queries with
'|' characters in the variable value.

Added tests for 'interpolateQueryExpr' which should possibly be private, but is difficult to
test due to TemplateSrv calling it.

Closes #16840
2019-06-04 13:07:39 +02:00
Ryan McKinley
1e76f1a728
DataSourceApi: remove ExploreDataSourceApi (#17424) 2019-06-04 10:30:07 +02:00
Ryan McKinley
96ba32d0c8
Add a @grafana/runtime package with backendSrv interface (#16533)
grafana-runtime/tsconfig.json imports query to avoid a build error  ¯\_(ツ)_/¯
2019-06-03 17:55:59 +02:00
Hugo Häggmark
fb39831df2
Explore: Queries the datasource once per run query and uses DataStreamObserver (#17263)
* Refactor: Removes replaceUrl from actions

* Refactor: Moves saveState thunk to epic

* Refactor: Moves thunks to epics

* Wip: removes resulttype and queries once

* Refactor: LiveTailing uses observer in query

* Refactor: Creates epics folder for epics and move back actioncreators

* Tests: Adds tests for epics and reducer

* Fix: Checks for undefined as well

* Refactor: Cleans up previous live tailing implementation

* Chore: merge with master

* Fix: Fixes url issuses and prom graph in Panels

* Refactor: Removes supportsStreaming and adds sockets to DataSourcePluginMeta instead

* Refactor: Changes the way we create TimeSeries

* Refactor: Renames sockets to streaming

* Refactor: Changes the way Explore does incremental updates

* Refactor: Removes unused method

* Refactor: Adds back Loading indication
2019-06-03 14:54:32 +02:00
Dieter Plaetinck
95012271ac Annotations: Improve annotation option tooltips (#17384)
* should be 'Tags' not 'All'
* fix poor wording in 'Match any' tooltip
* add tooltip for 'Tags' input (untested! and can probably be worded
  better, i just don't know enough about the implementation)
2019-06-03 11:32:35 +02:00
Matthias Steffen
936308366e InfluxDB: Fixes single quotes are not escaped (#17398)
Fixes #17397
2019-06-03 11:25:46 +02:00
Marcus Efraimsson
1497f3d79a
Chore: Remove unused properties in explore (#17359)
This removes unused properties in explore and datasource 
meta data (tables and explore properties in plugin.json).
2019-05-31 09:45:53 +02:00
Joshua Piccari
5fa5d4bdd5 CloudWatch: Avoid exception while accessing results (#17283)
When accessing the `series` property of query results, if a query is
hidden, an exception is thrown. This is caused by lack of checks to
verify that the query result exists before accessing the `series`
property.

Closes #17112
2019-05-29 09:10:09 +02:00
Shavonn Brown
27874a1881 16365 change clashing variable names (#17140)
* Fix: change  and  to  and  so not clashing with grafana vars (#16365)

* Fix: change  and  to  and  so not clashing with grafana vars (#16365)

* Fix: update now to datetime (#16365)

* Fix: test should look for datetime instead of now (#16365)

* Fix: _az suffix to datasource convention (#16365)

* Fix: convert vars to macro, update doc (#16365)

* Fix: convert vars to macro, update doc (#16365)

* Fix: remove support for time vars (#16365)

* Fix: confilct from master

* add migration on editor open

* fix migration var name
2019-05-28 15:04:42 +02:00
Utkarsh Bhatnagar
8e434ad163 CloudWatch: Made region visible for AWS Cloudwatch Expressions (#17243)
Fixes #14933
2019-05-23 12:02:19 +02:00
Dominik Prokop
a9c94ec93b
Explore: Update the way Loki retrieve log context (#17204)
* Move log's typings into grafana/ui
* Update the way context is retrieved for Loki

Major changes:

1. getLogRowContext expects row to be of LogRowModel type
2. getLogRowContext accepts generic options object, specific to a datasource of interest. limit option has been removed, and now it's a part of Loki's context query options (see below)
3. LogRowContextProvider performs two queries now. Before, it was Loki ds that performed queries in both directions when getLogRowContext.
4. Loki's getLogRowContext accepts options object of a type:

interface LokiContextQueryOptions {
    direction?: 'BACKWARD' | 'FORWARD';
    limit?: number;
}

This will enable querying in either direction independently and also slightly simplifies the way query errors are handled.

LogRowContextProvider maps the results to a Loki specific context types, basically string[][], as raw log lines are displayed in first version.
2019-05-22 23:10:05 +02:00
Daniel Lee
577beebcca
azuremonitor: revert to clearing chained dropdowns (#17212)
* azuremonitor: revert to clearing chained dropdowns

After feedback from users, changing back to clearing
dropdowns to the right in the chain. E.g. if the user
changes the subscription dropdown which is first in
the chain then all the dependent dropdowns to the right
should be cleared (reset to default values).

Also, now triggers getting subscriptions every time the
dropdown menu is shown rather than just the first time.
It is apparently common to add subscriptions while
building queries.
2019-05-22 11:34:54 +02:00