* added regex check of labelKeys
- labelKeys should not contain any special characters
- added encoding of labelKeys in the URL
- don't offer autocomplete if label with special characters is detected
* removed additional regex check for labels
* Update dependency lru-cache to v7
* Make latest lru cache work
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.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
* [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>
* Create basic prototype for Loki integration
* Simplify importing queries
* Code clean-up
* Add test coverage and info box
* Remove test data script
* Update help
* Use less space for mappings info
* Make help screen dismissable
* Make mappings help more generic
* Convert learn more to a link
* Remove unused param
* Use a link Button for help section
* Add an extra line for better formatting
* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Re-arrange lines
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.
* Remove unnecessary _ import from Graph component
* Enforce lodash import style
* Fix remaining lodash imports
* Fuzzy search prototype
* Aggregate filter and sorting functions for auto-complete suggestions
* Add a test for fuzzy search
* Simplify setting fuzzy search information
* Rename SimpleHighlighter
* Test PartialHighlighter
* Add PartialHighlighter snapshot
* Simplify PartialHighlighter
* Revert env change
* Clean up the code
* Add fuzzy search for labels
* Bring back backwards compatiblity
* Expose search function type only
* Update docs
* Covert snapshot test to assertions
* Fix docs
* Fix language provider test
* Add a test for autocomplete logic
* Clean up
* Mock Editor functions
* Add fuzzy search to Prometheus labels
* Add docs about backwards compatibility
* Simplify main fuzzy search loop
* 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>
* Send current time range when fetching labels and values in Explore
* Pass range to Editors, in the same way as it was in Angular editors
* Remove unused imports
* Remove unused imports, props
* Update
* Update
* Update refresh condition
* Add comment
* 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
Closes#19598
Fixes bug introduced recently where the new PromQueryEditor did not preserve
the PromContext.Explore set on the query model by PromQueryField which caused
the table to be empty for Prometheus in explore.
* Grafana/Loki: Adds support for new Loki endpoints and metrics
* Adds `/loki/` prefix to new loki endpoints and updates response interfaces
* Improved legacy support
* Removed changes related to plugin.json and added Loki-specific hacks
* Fixes live streaming for legacy loki datasources
* Loki: Updated cheat sheet with new filter syntax
- updated cheat sheet with new filter syntax
- added user-specific examples from the user's label set
- added link to LogQL docs
- separated styles for examples (clickable) and expressions
* Review feedback
* Explore: Adds support for new loki 'start' and 'end' params for labels endpoint
Also initializes absoluteRange when explore is initialized
Closes#16788
* Explore: Dispatches updateTimeRangeAction instead of passing absoluteRange when initializing
Also removes dependency on sinon from loki language provider test
* Loki: Refactors transformation of absolute time range to URL params into small utility function
* Makes use of rangeToParams() util function in loki language provider test
Also updates LanguageProvider.request() interface so that url should be type string, and adds optional params argument