* feat(loki-variable-query-support): refactor datasource to support legacy and new variable query format
* Chore: fix comment
* Chore: use internal method to interpolate strings
* Chore: revert removed changes
* Chore: update test
* feat(loki-query-editor): create base editor component
* feat(loki-query-editor): update editor to use loki query type
* feat(loki-query-editor): add custom variable support to datasource
* feat(loki-query-editor): prevent errors when no label is present
* Add unit test for LokiMetricFindQuery
* Update datasource test
* Add component test
* Add variable query migration support
* feat(loki-query-editor): add migration support for older-format variables
* Fix enum capitalization for consistency
* Move attribute to the top of the class
* Remove unnecessary from()
* Update capitalization of new enum
* Fix enum capitalization in component
* feat(loki-query-editor): replace unnecessary class with class method
* refactor(loki-test): move mock creation to mock module
* refactor(loki-test): allow to pass custom settings to the mock constructor
* refactor(loki-test): refactor mock factory in datasource test
* refactor(loki-test): revert change in undefined test case for dsMaxLines
* refactor(loki-test): move type assertion to mock definition
* refactor(loki-test): fix more type issues
* refactor(loki-explore-query-editor): refactor test to use createLokiDatasource() and fix type issues
* refactor(loki-test): replace makeMockLokiDatasource with metadataRequest factory
* fix: remove any
* fix(loki-test): fix remaining usages of any
* Fix: add missing exported type
* loki: add helper function to sort dataframe by time
* loki: add direction-attribute to queries
* loki: make log-row-context code backward-compatible
* better comment
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* fixed test
* simplified code
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Add basic implementation
* Split import/export query interface
* Rename abstract query type
* Rename abstract query type
* Split loki/prom parsing
* Update docs
* Test importing abstract queries to Elastic
* Test exporting abstract queries from Graphite
* Test Prom and Loki query import/export
* Give better control to import/export all queries to data sources
* Fix unit test
* Fix unit test
* Filter out non-existing labels when importing queries to Loki
* Fix relative imports, names and docs
* Fix import type
* Move toPromLike query to Prometheus code
* Dedup label operator mappings
* importAbstractQueries -> importFromAbstractQueries
* Fix unit tests
* Rename "Logs volume" labels to "Log volume"
Code references are kept intact as there's a lot of them, it could be renamed in a separate PR just with renaming
* Add log level docs
* Remove feature flag to enable log volume by default
* Update error message
* Update docs
* Fix unit test
* Fix unit test
Queries are now run automatically
* Add extra param for Loki API
* Remove "Load volume" button
* Update documentation about log volume
* Move comment
* Make reload button more accessible
* Update docs/sources/explore/logs-integration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Hide full range log volume for Loki behind the feature toggle
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* 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>
* 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>
* 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
* Initial commit, list and edit page working
* Progress
* angular and standard editors work
* Unifying more between annotations list and links list
* Remove submenu visibilty stuff
* Update packages/grafana-data/src/types/annotations.ts
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Review feedback
* fixed checkbox
* Fixes
* test(annotationsettings): initial commit of tests
* delete files brought back by master merge
* update datasourcepicker import path
* update emotion import
* test(linksettings): clean up tests
* Fixed test
* test(annotationssettings): add remaining tests
* docs(grafana-data): export namespace for docs build
* docs(grafana-ui): export ColorValueEditorProps for docs build
* docs(grafana-ui): add docs annotation for ColorValueEditorProps
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Loki: Label browser
- replaces stream cascader widget which made it hard to find relevant streams
- multi-step selection allows for selecting a couple of labels first, then find the relevant values
- supports facetting which makes impossible label combinations hard to choose
* Remove unused label hook
* Remove unused label styles
* Use global time range for metadata requests
* Preselect labels if not many exist
* Status and error messages
* Status fixes
* Remove unused import
* Added logs rate button
* Close popup when clicked outside (not working for timepicker :( )
* Change button label
* Get rid of popup and render browser inline
* Review feedback
* Wrap label values and prevent empty lists
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Tests: Adds expects for observables
* Refactor: renames matcher
* Chore: changed jest version and removed as dev dependency
* Refactor: Changes after PR review
* wip
* Chore: revert
* Chore: Adds jest-matcher-utils
* Chore: fixed merge error
* Tests: Removed inline snapshots as they are env dependent
* Tests: missed a snapshot
* Refactor: Removed type file after PR comments