Commit Graph

324 Commits

Author SHA1 Message Date
Piotr Jamróz
f1837b5742 Elastic: Full range logs volume (#40700)
* Add basic implementation for logs volume

* Fix aggregation

* Move getFieldConfig

* Remove duplicated aggregation logic

* Extra querying logic

* Simplify querying logic

* Update logs volume aggregation tests

* Remove bar max width and width factor

* Clean up

* Skip level aggregation if it's not configured

* Post merge fix for aggregation

* Fix tests

* Clean up the code

* Ensure logs without level are aggregated as unknown category

* Use LogLevel.unknown

* Fix strict TS errors
2021-11-02 11:53:47 +01:00
Ryan McKinley
7319efe077 Dashboard: replace datasource name with a reference object (#33817)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Elfo404 <me@giordanoricci.com>
2021-10-29 10:57:24 -07:00
Devin Smith
8869df2ffe Loki/Prometheus: Improve facetting message in label browser (#40998)
* Chore: Improve Loki/Prometheus facetting message in label browser

* Chore: Remove uneeded console log and comment
2021-10-28 16:19:54 +02:00
Piotr Jamróz
877c726246 Loki: Use fixed bucket size for logs volume (#40873)
* Use fixed bucket size for logs volume

* Fix unit tests
2021-10-28 10:53:15 +02:00
Gábor Farkas
1f44023ebe Loki: fix typescript-strict-mode error (#40566)
* loki: fix typescript-strict error

* loki: fix typescript-strict-mode error
2021-10-18 12:35:56 +02:00
Piotr Jamróz
8939636492 Loki: Logs volume improvements (#40327)
* Skip logfmt errors

* Run volume queries as range queries

* Remove auto-skipping parsing errors

* Remove auto-skipping parsing errors

* Cache logs volume results

* Remove auto-loading

* Fix tests

* Clean up

* Disable logs volume in live streaming

* Clean up

* Add logs volume timeout

* Switch tooltip mode

* Increase timeout to 15s

* Fix test

* Change timeout to 10 seconds

* Remove unused code

* Extract styles

* Remove info about zoom level
2021-10-18 12:22:41 +02:00
Piotr Jamróz
6dc21d5899 Refactor: Decouple Label Browser from LocalStorage (#40449)
* Refactor: Decouple Label Browser from LocalStorage

* Clean up
2021-10-15 14:18:11 +02:00
Nathan Rodman
4fc86594c0 Alerting: Link prometheus and loki datasources to an alertmanager (#39887)
* add config option for alertmanager linking

* Add button for silencing a rule

* use uid for alertmanager

* move alertmanager link to separate function
2021-10-14 16:01:01 -07:00
Torkel Ödegaard
c4ce7a40af AngularPanels: Move angular panel infra & components to angular/app folder (#40373)
* AngularPanels: Move to app/angular folder

* Fixing issues
2021-10-13 16:59:47 +02:00
Ivana Huckova
2f0eccb421 Explore/Loki: Fix defaulting to instant query when switching from Prometheus (#40216)
* Loki: Pass only wanted query props when importing from Prometheus

* Update

* Update public/app/plugins/datasource/loki/language_provider.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add test

* Fix strict error

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2021-10-12 13:05:57 +02:00
Piotr Jamróz
a6a3ef74be Refactor: Decouple logs from DataSourceApi (#39536)
* Decouple logs from DataSourceApi

* Remove unused code

* Mark log context methods as deprecated

* Update jsdocs deprecation message

* Update packages/grafana-data/src/types/logs.ts

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* Check for undefined in hasLogsContextSupport

* Add release tags

* Change release tag

* Retrigger the build

* Post-merge: revert index.md changes

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-10-01 13:38:16 +02:00
Piotr Jamróz
124e9daf26 Loki: Full range logs volume (#39327)
* Basic implementation of getLogsVolumeQuery method

* Add todos

* Add a switcher to automatically load logs volume

* De-scope dismissing logs volume panel

* De-scope logs volume query cancellation

* Remove todo

* Aggregate logs volume components in single panel

* Show logs volume only when it's available

* Aggregate logs volume by level

* Simplify aggregation

* Handle no logs volume data

* Add error handling

* Do not show auto-load logs volume switcher when loading logs volume is not available

* Remove old logs volume graph

* Clean up

* Make getting data provider more generic

* Provide complete logs volume data (error, isLoading)

* Display more specific error message

* Add missing props to mocks

* Remove setRequest method

* Mark getQueryRelatedDataProviders as internal

* Add missing dataQueryRequest and add a todo

* Remove redundant loading state

* Do not mutate existing queries

* Apply fix for zooming-in from main

* Post-merge fixes

* Create collection for data provider results

* Use more generic names

* Move aggregation logic to Loki logs volume provider

* Move LogsVolume to common types

* Update tests

* Post-merge fixes

* Fix mapping related data values

* Simplify prop mappings

* Add docs

* Fix property name

* Clean-up

* Mark new types as internal

* Reduce number of providers to logs volume only

* Simplify data structure to DataQueryResponse

* Move Logs Volume panel to a separate component

* Test logsVolumeProvider.ts

* Add observable version of datasource mock

* Test getLogsVolumeDataProvider method

* Test LogsVolumePanel

* Test logs volume reducer

* Clean up

* Clean up

* Fix test

* Use sum by to use level field directly

* Fix strict type errors

* Fix strict type errors

* Use "logs" instead of "unknown" if only one level was detected

* Add docs about logs volume

* Rename histogramRequest to logsVolumeRequest

* Use LogsVolumeContentWrapper all content types

* Move `autoLoadLogsVolume` local storage handling

* Fix strict error

* Move getting autoLoadLogsVolume to initial state

* Cancel current logs volume subscription

* Test cancelling subscriptions

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update packages/grafana-data/src/types/explore.ts

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Inline container styles

* Ensure logs volume is aggregated per each subscription separately

* Simplify logs volume provider

* Type-guard support for logs volume provider

* Simplify event handlers to avoid casting

* Clean up and docs

* Move auto-load switcher to logs volume panel

* Fix test

* Move DataSourceWithLogsVolumeSupport to avoid cross referencing

* Simplify interface

* Bring back old histogram and hide the new one behind a feature flag

* Add missing props to logs histogram panel

* Clean up the provider when it's not supported

* Simplify storing autoLoadLogsVolume

* Remove docs

* Update packages/grafana-data/src/types/logsVolume.ts

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>

* Skip dataframes without fields (instant queries)

* Revert styles changes

* Revert styles changes

* Add release tag

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2021-09-30 15:46:11 +02:00
Torkel Ödegaard
bc01c9cdbc Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
Ivana Huckova
79c797c232 Loki: Fix creating coontext query for logs with parsed labels (#39648) 2021-09-28 10:42:38 +02:00
Giordano Ricci
f79173c99d Explore: Reuse Dashboard's QueryRows component (#38942)
* WIP

* Functional without custom wrapper component, needs highlight

* Remove latency from explore

* Sync eventbus

* Some cleanup & removal of unused code

* Avoid clearing queries when running all empty queries

* Run remaining queries when removing one

* Update snapshots

* fix failing tests

* type cleanup

* Refactor QueryRows

* update snapshot

* Remove highlighter expressions

* minor fixes in queryrows

* remove unwanted change

* fix failing e2e test

* Persist refId in explore url state

* make traces test slightly more robust

* add test for query duplication
2021-09-15 16:26:23 +01:00
Ivana Huckova
19d4213df6 Prometheus: Fix validate selector in metrics browser (#38921)
* Fix match[] param in loki and prometheus

* Update loki series match param
2021-09-07 15:44:45 +02:00
Ivana Huckova
d5956ce4b7 Loki: Fix error handling, remove legacy condition (#38633)
* Fix error handling, remove legacy condition

* Fix strict errors in Loki and lower error count

* Update
2021-09-06 15:28:54 +02:00
Olof Bourghardt
8da634f780 Loki: add tests for addAdHocFilters (#38594)
* Loki: add tests for addAdHocFilters

* Change description of test

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

* Replace ADD_FILTER with "=" operator in test description

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

* Loki: refafctor test for addAdHocFilter

* Loki: refactor tests for better readability

* Remove comments

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-08-27 17:06:22 +02:00
Ivana Huckova
d1b6132302 Loki: Fix ad-hoc filter when used with parser (#38542)
* Fix ad hoc filter when used with parser

* Update
2021-08-25 16:08:41 +02:00
Hugo Häggmark
dba15190af Chore: Upgrades rxjs to 7.3.0 (#37913)
* Chore: upgrades rxjs to 7.3.0

* Chore: replaces toPromise with lastValueFrom

* Chore: removes unused mock that caused test error

* Chore: fixes build error in PieChartPanel

* Chore: fixed build error in requestAllIndices

* Chore: fixes comment

* Chore: trying to reduce docs errors

* Chore: searches for explicit api extractor warnings

* Chore: updates rxjs-spy to 8.0.0

* Chore: reverts to main

* Chore: upgrade rxjs and rxjs-spy
2021-08-19 06:38:31 +02:00
Olof Bourghardt
d26f3cdd03 Loki: add support for resolution (#36710)
* Add input to specify min step

* Add stepInterval to as input to component

* Add onBlur to Input component

* Loki: add functionality for min step

* Loki: change name on props to step to make it more clear

* Loki: add resolution as a query option

* Loki: Add min,max,exact as step options

* Loki: add functionality for different step modes

* Loki: fix bug where step function isn't working

* Loki: fix bug where exact step isn't working

* Loki: change width of step input field

* Loki: add tests for adjustInterval function

* Loki: add check for max step oprio to make sure it's not below the safe interval

* Loki: fix bug with some tests

* Loki: fix bug with tests

* Explore: add tooltip to loki step function

* Loki: remove resolution as a logs option

* Loki: update snapshots

* Fix failing tests

* Loki: add select component for choosing resolution

* Loki: add functionality for calculating correct interval with resolution applied

* Loki: remove functionality for step mode

* Loki: remove tests for step mode

* Loki: add tooltip to line limit and resolution

* Loki: add backend support for resolution

* Loki: fixed backend bug where resolution was undefined

* Loki: add check for resolution
2021-08-16 14:02:13 +02:00
Ivana Huckova
15edaa5837 Add pattern parser to syntax (#37824) 2021-08-15 21:20:37 +02:00
Ivana Huckova
4cf097c4e5 Small UX updates (#37694) 2021-08-11 09:56:23 +02:00
Ivana Huckova
a0f94866b4 Update dashboard loki query editor (#37541) 2021-08-04 16:23:16 +02:00
Ivana Huckova
7fd94e69c3 Loki: Update labels in log browser when time range changes (#37520)
* Refresh label when time range changes

* Refactor solution

* Add tests

* Update tests comments

* Update test

* Update public/app/plugins/datasource/loki/components/LokiQueryField.tsx

* Update public/app/plugins/datasource/loki/components/LokiQueryField.tsx
2021-08-04 14:37:19 +02:00
Connor Lindsey
c4c28a5b63 Explore: Support custom display label for derived fields buttons for Loki datasource (#37273) 2021-07-29 12:42:20 -06:00
Connor Lindsey
b644ea9e6e Loki: Add fuzzy search to label browser (#36864) 2021-07-26 08:04:03 -06:00
Ashley Harrison
75ff031789 Chore: Fix TypeScript strict errors with components using connect (#37109)
* Chore: Fix TypeScript strict errors with components using connect

* Chore: More TypeScript fixes

* Chore: Update strict check values

* Still need to export these types...

* Declare connector at the top of the file

* Careful with find and replace...
2021-07-23 11:33:26 +02:00
Ashley Harrison
3004a650b5 Chore: Fix more TypeScript strict errors (#37066)
* Chore: Fix more TypeScript strict errors

* whoops
2021-07-22 08:09:55 +01:00
Fabrice
aa3a46272f Fix: Handle withCredentials option properly for loki datasource (#36914)
The loki datasource was not passing the credentials info to the fetch()
API when loki was in Browser access mode.

This is similar to:
https://github.com/grafana/grafana/pull/23380
2021-07-20 17:05:12 +02:00
Ashley Harrison
b8a5f38d2a Angular cleanup: Don't inject in link_srv (#36849)
* Angular cleanup: Don't inject in link_srv

* link_srv: Fix unit tests

* kick drone
2021-07-19 09:16:36 +01:00
Ivana Huckova
d9897a457d Loki: Add autocomplete option for $__range variable (#36717)
* Add autocomplete option for Loki & Promtheus rates

* Update test
2021-07-14 13:44:23 +02:00
Domas
32a551b4ca Alerting: add toggle in Loki/Prom datasource config to opt out of alerting ui (#36552)
* wip

* fix useIsRuleEditable

* test for detecting editable-ness of a rules datasource

* tests!

* fix lint errors

* add alerting ui opt-out toggle to loki and prom datasources

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-07-12 15:06:09 -07:00
Zoltán Bedi
c02ead9113 Tracing: add way to configure trace to logs start and end time (#34995)
* Tracing: add way to configure trace to logs start and end time

* Use the span's time by default

* Update docs

* Update time inputs to use strings instead of number

* Support negative values as well

* Add info about using negative value

* Don't round up Loki range

* Update docs/sources/datasources/jaeger.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Wording for doc

* Round adjusted start and end time

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-07-12 11:25:41 +02:00
Ivana Huckova
b77f6d59bd Loki: Add support for ad-hoc filtering in dashboard (#36393)
* Add support for ad-hoc filtering in dashboards

* Add tests

* Add documentation

* Update docs/sources/variables/variable-types/add-ad-hoc-filters.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Remove unused import

* Refactor and simplify

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-07-06 10:30:27 +02:00
Ivana Huckova
666656c925 Loki: Add $__range variable (#36175)
* Add  variable to Loki

* Add tests

* Update, remove redundant options

* Add missing import

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-07-06 08:56:01 +02:00
Ivana Huckova
abb1c10776 Update getTimeRangeParams to return start & end instead of from & to (#36268) 2021-06-29 18:06:42 +02:00
Ivana Huckova
d1df0727e7 Loki: Fix highlight of logs when using filter expressions with backticks (#36024)
* Add highlight for backticks and queries with parser

* Fix escaping for backticks and quotes
2021-06-24 12:55:25 +02:00
Ivana Huckova
44def5a5fe Loki: When parser added, filter label as parsed labels (#35610)
* Loki: When parser added, filter label as parsed labels

* Add tests
2021-06-21 18:50:42 +02:00
Betula-L
7ef8136e16 Loki: Refactor label browser from GrafanaTheme to GrafanaTheme2 (#35569) 2021-06-15 17:08:13 +02:00
kay delaney
0f81703c35 Chore: Fix more strict typescript errors (#35514) 2021-06-14 15:13:48 +01:00
Ivana Huckova
97a59a4855 Loki: Add support for "label_values(log stream selector, label)" in templating (#35488)
* Use series endpoint if we have queries expr

* Update documentation
2021-06-11 10:57:40 +02:00
Fredrik Enestad
261319a4be Loki: Add formatting for annotations (#34774)
* add formatting for loki annotations

based/copied from the same features from the prometheus datasource
2021-05-28 10:12:03 +02:00
Marcus Andersson
8ddf6de6e7 Alerting: app specific query editors for Loki and Prometheus (#34365)
* Adding simplified version of query editor based on app flag.

* cleaned up the absolute time range.

* changing placeholder text.

* updated snapshot.

* added some tests.

* adding loki query editor tests.

* updating snapshots.
2021-05-19 16:24:27 +02:00
David
0683692509 Loki/Prometheus: Improve label browser performance (#34244)
* Loki/Prometheus: Improve label browser performance

- raise limits
- introduce debounce for Metrics browser filter fields (not done for Loki)
- discard facetting responses when selector was already changed again by user

* Clean up comments and imports
2021-05-18 18:57:38 +02:00
David
d30efb4651 Split label browser tests to prevent flaky tests (#34238) 2021-05-18 17:44:12 +02:00
kay delaney
8cfbee1e11 Chore: Remove md5 dependency and use uuid/v5 instead (#34192) 2021-05-18 13:42:57 +01:00
Piotr Jamróz
bf467f8eae Explore: Convert nodes with "*" to regular expressions when a Graphite query is mapped to Loki (#34014) 2021-05-14 14:59:16 +02:00
Piotr Jamróz
6ac43130f2 Explore: Match queries that are longer than defined Graphite/Loki mapping (#34003) 2021-05-12 16:10:38 +02:00
David
4b0b69292e Prometheus: Metrics browser (#33847)
* [WIP] Metrics browser

* Removed unused import

* Metrics selection logic

* Remove redundant tests

All data is fetched now regardless to the current range so test for checking reloading the data on the range change are no longer relevant.

* Remove commented out code blocks

* Add issue number to todos

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-05-12 11:49:20 +02:00