* set default query expression
* always show raw query
* remove raw query title
* remove test for raw query toggle
* remove raw query toggle
* remove default expression
* hide raw query preview if empty
* remove e2e test for raw query toggle
* update test name
* Component that can cache and extract variable dependencies
* Component that can cache and extract variable dependencies
* Updates
* Refactoring
* Lots of refactoring and iterations of supporting both re-rendering and query re-execution
* Updated SceneCanvasText
* Updated name of file
* Updated
* Refactoring a bit
* Added back getName
* Added comment
* minor fix
* Minor fix
* Merge fixes
* Scene variable interpolation progress
* Merge fixes
* Added all format registeries
* Progress on multi value support
* Progress on multi value support
* Updates
* Progress on scoped vars
* Fixed circular dependency
* Updates
* Some review fixes
* Updated comment
* Added forceRender function
* Add back fail on console log
* Update public/app/features/scenes/variables/interpolation/sceneInterpolator.test.ts
* Moving functions from SceneObjectBase
* fixing tests
* Fixed e2e
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Component that can cache and extract variable dependencies
* Component that can cache and extract variable dependencies
* Updates
* Refactoring
* Lots of refactoring and iterations of supporting both re-rendering and query re-execution
* Updated SceneCanvasText
* Updated name of file
* Updated
* Refactoring a bit
* Added back getName
* Added comment
* minor fix
* Minor fix
* Merge fixes
* Merge fixes
* Some review fixes
* Updated comment
* Added forceRender function
* Add back fail on console log
* Remove URL-based alertmanagers from endpoint config
* WIP
* Add migration and alertmanagers from admin_configuration
* Empty comment removed
* set BasicAuth true when user is present in url
* Remove Alertmanagers from GET /admin_config payload
* Remove URL-based alertmanager configuration from UI
* Fix new uid generation in external alertmanagers migration
* Fix tests for URL-based external alertmanagers
* Fix API tests
* Add more tests, move migration code to separate file, and remove possible am duplicate urls
* Fix edge cases in migration
* Fix imports
* Remove useless fields and fix created_at/updated_at retrieval
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* WIP: try to support removing series endpoint for supported clients
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data
* clean up console logs
* refactor and comment
* expanding current unit test coverage to cover calls to new API
* fix unit test
* whitespace
* prettier
* WIP: need to merge in other PR
* WIP giving up and trying again
* WIP: most functionality is working, split out shared loki/prom code
* fix bug in which search results wouldn't take other label context into the query
* Fix bug in which the previously selected value would conflict with the async search
* interpolate the label name string instead of the match promql expression
* remove type assertions
* remove type assertion
* clean up generic confusing types, and add back in a type assertion
* remove generic type
* make sure to interpolate label names
* fix bugs with variables not interpolating before query
* remove debug
* assert partial properties on QueryBuilderLabelFilter
* Force update betterer results :(
* update regex so dropdown UX more closely matches current behavior
* add eslint ignore
* add eslint ignore and update betterer
* feat(loki-monaco-editor): update tests
* chore(loki): use unified datasource mock function in tests
* chore: enable monaco feature flag in tests
* feat(loki-monaco-editor): add test case for disabled feature
* feat(loki-monaco-editor): enable by default
* Revert "feat(loki-monaco-editor): enable by default"
This reverts commit 08904f94a707a4fa32aa1e7f3f0de377575a7636.
* feat(loki-monaco-editor): enable from registry
* feat(loki-monaco-editor): make feature flag frontend only
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data
* expanding current unit test coverage to cover calls to new API
* interpolate the label name string instead of the match promql expression
* add line-contains-case-insensitive operation definition
* add loki operation id for line-contains-case-insensitive
* make query case-insensitive when using line filter
* remove console log from operationUtils.ts
* add line-does-not-contain-case-insensitive operation definition
* add loki operation id for line-does-not-contain-case-insensitive
* make query case insensitive when using line-does-not-contain-case-insensitive
* update title and min-width for line-contains-case-insensitive
* add caseInsensitive optional parameter
* toggle case insensitive on operations
* remove console log
* update operation names
* add test coverage
* update to implement suggestions
* add suggestion
* Update credentials form with data-testids and aria-labels
* Update gitignore
* Add example dashboard
* Stub out E2E test for creating ds and importing dashboard
* Add component selectors
* Remove subscription check temporarily
* Appropriately set disabled prop
* Fix lint issues
* Update to use selectors and wait on subscriptions request
* Add test for metrics panel
- Add required selectors for resource picker and metrics query editor
* Add logs and ARG basic query scenarios
- More selector updates
* Add E2E test for template variables
- Tests advanced resource picker
- Adds required selectors
* Remove log and add annotation e2e test
* Update test
* Prettier/betterer updates
- Remove gitignore change
* Lint issues
* Update betterer results
* Lint issue and remove unneeded import
* Don't print certain commands
* Avoiding flakiness
- Ensure code editor has sufficient time to load in ARG test
- Avoid flakiness around correct template variable being selected by typing in resource name
* Remove be.visible requirement
* Update test
* Update selector name
* Reuse datasource
* Fix datasource reuse and combine query tests
* Remove import dashboard step as unneeded
* Review
- Randomise datasource name
- Skip annotations test
- Remove unused example dashboard
* Update to ensure e2e test works in CI
* Update e2e test
- Update environment variables (process is not available in cypress)
- Add wait on resource picker searches to avoid flakiness
- Update subscription and resource group names
* Update CODEOWNERS
* Parse credentials in CI from outputs file
* Update outputs file path
* Fix selector
* Undo selector change
* Update e2e tests
- Set default subscription
- Fix datasource selection in variable editor
- Fix resource picker search flakiness
- Set subscription in ARG query test
- Fix resource group selection
- Update resource group
* Review
* Review 2
* Started search state refactor
* Things are working
* Move more to statemanger
* minor tweaks
* Fixed name of hook
* revert yarn.lock changes
* Harderning StateManagerBase
* More tests and refinements
* Fixed unit test
* More polish
* fixing tests
* fixed test
* Fixed test
* first stab at context away plugin tracking.
* adding a plugin context and a hook to get hold of a tracker that always appends the plugin context information.
* wip
* improved the code a bit.
* wip
* Fixed type errors.
* added datasource_uid to data sources.
* fixed error message when trying to use hook outside of context.
* small refactoring according to feedback.
* using the correct provider for data source context.
* check not needed.
* enforcing the interaction name to start with grafana_plugin_
* exposing guards for the other context type.
* added structure for writing reporter hook tests.
* added some more tests.
* added tests.
* reverted back to inheritance between context types.
* adding mock for getDataSourceSrv
- Migrate Postgres query editor to react
- Add support for field aliasing in SELECT clauses to SQL based datasources
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* Add phlare datasource
* Rename
* Add parca
* Add self field to parca
* Make sure phlare works with add to dashboard flow
* Add profiling category and hide behind feature flag
* Update description and logos
* Update phlare icon
* Cleanup logging
* Clean up logging
* Fix for shift+enter
* onRunQuery to set label
* Update type naming
* Fix lint
* Fix test and quality issues
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
* Replace current select with AsyncSelect component to facilitate autocomplete via prometheus server instead of client application
Co-authored-by: Kyle Brandt <kyle@grafana.com>
* refactor metrics request
* Update pkg/tsdb/cloudwatch/routes/dimension_keys_test.go
Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
* return metric struct value intead of pointer
* make it possible to test hard coded metrics service
* test all paths in route
* fix broken test
* fix one more broken test
* add integration test
Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
* Revert "Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)"
This reverts commit 2432ce619a.
* Adds new fields and documentation for Prometheus datasource configuration: prometheus type, and version
* Revert: QueryEditor components from grafana-ui
* Use local version of experimental
* Use experimental for query editor components
* Fix type issues in MSSQL
* point to actual version of experimental package
* point to latest version of experimental
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Adding two new fields to the data JSON in the prometheus datasource configuration: prometheusType, and prometheusVersion.
* Version field will attempt to auto-detect via buildinfo API when prometheus Type is selected
* Add start time and end time parameters while querying tempo traces
* Added configurable time shift to query by trace id
* Test that the URL is formatted correctly
* Added test to check for time shift
* Improved label and tooltip of new time shift settings
Co-authored-by: André Pereira <adrapereira@gmail.com>
* use new layered architecture in get dimension keys request
* go lint fixes
* pr feedback
* more pr feedback
* remove not used code
* refactor route middleware
* change signature
* add integration tests for the dimension keys route
* use request suffix instead of query
* use typed args also in frontend
* remove unused import
* harmonize naming
* fix merge conflict
* disable double stringify
* Refactor test for addLabelToQuery
* Add tests (TDD for expected behaviour)
* Fix adding ad hoc filters to correct place when no stream selector
* Update
* Update comment
* Fix getAllPositionsInNodeByType
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
* WIP: Testing the NestedQuery component
* Add tests for NestedQuery.jsx
* Add aria-labels to select elements
* Update aria-labels
* Create datasource using createLokiDatasource()
* Flamegraph
* Updated flame graph width/height values
* Fix top table rendering issue
* Add feature toggle for flamegraph in explore
* Update tests
* Hide flamegraph from dash panel viz list if feature toggle not enabled
* Show table if no flameGraphFrames
* Add flame graph to testdata ds
* Minor improvement
* loki: switch to a monaco-based query field, step 1 (#46291)
* loki: use monaco-logql (#46318)
* loki: use monaco-logql
* updated monaco-logql
* fix all the tests (#46327)
* loki: recommend parser (#46362)
* loki: recommend parser
* additional improvements
* more improvements
* type and lint fixes
* more improvements
* trigger autocomplete on focus
* rename
* loki: more smart features (#46414)
* loki: more smart features
* loki: updated syntax-highlight version
* better explanation (#46443)
* better explanation
* improved help-text
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Fix label
* feat(loki-monaco-editor): add monaco-logql as a dependency
* feat(loki-monaco-editor): add back range function removed during merge
* feat(loki-monaco-editor): sync imports with recent changes
* feat(loki-monaco-editor): add missing lang provider functions
* feat(loki-monaco-editor): fix imports
* feat(loki-monaco-editor): display monaco editor by default
Temporarily
* Chore: remove commented code
* Chore: minor refactor to NeverCaseError
* Chore: minor code cleanups
* feat(loki-monaco-editor): add history implementation
Will see how it behaves and base the history slicing on tangible feedback
* feat(loki-monaco-editor): turn completion data provider into a class
* Chore: fix missing imports
* feat(loki-monaco-editor): refactor data provider methods
Move complexity scattered everywhere to the provider
* Chore: clean up redundant code
* Chore: minor comments cleanup
* Chore: simplify override services
* Chore: rename callback
* feat(loki-monaco-editor): use query hints implementation to parse expression
* feat(loki-monaco-editor): improve function name
* Chore: remove superfluous variable in favor of destructuring
* Chore: remove unused imports
* Chore: make method async
* feat(loki-monaco-editor): fix deprecations and errors in situation
* feat(loki-monaco-editor): comment failing test case
* Chore: remove comment from test
* Chore: remove duplicated completion item
* Chore: fix linting issues
* Chore: update language provider test
* Chore: update datasource test
* feat(loki-monaco-editor): create feature flag
* feat(loki-monaco-editor): place the editor under a feature flag
* Chore: add completion unit test
* Chore: add completion data provider test
* Chore: remove unwanted export
* Chore: remove unused export
* Chore(loki-query-field): destructure all props
* chore(loki-completions): remove odd string
* fix(loki-completions): remove rate_interval
Not supported
* fix(loki-completions): remove line filters for after pipe case
We shouldn't offer line filters if we are after first pipe.
* refactor(loki-datasource): update default parameter
* fix(loki-syntax): remove outdated documentation
* Update capitalization in pkg/services/featuremgmt/registry.go
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* refactor(situation): use node types instead of names
* Chore: comment line filters pending implementation
It's breaking the build due to a linting error.
* Chore: update feature flag test after capitalization change
* Revert "fix(loki-completions): remove line filters for after pipe case"
This reverts commit 3d003ca4bc.
* Revert "Chore: comment line filters pending implementation"
This reverts commit 84bfe76a6a.
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
* prevent annotation query from filtering values less then 1
* unit tests were asserting that gaps in data (0 value) are removed from annotation, update filter to exclude 0
* fix log row being falsely added to context
* do not add to many lines
* fix scroll position in context
* more flexible id comparison
* add original refid to context query
* added missing row comparison
* updated comment
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Ensure resourceURI template vars are migrated
- Do not filter queries containing a resource URI template
- Update migration
- Add test
* Update condition
* Review
* add query editor to module
* add metric section, add tests, update query type
* remove use of any for betterer
* fix test
* add tooltip for alias
* run runQuery on select change, fix metric select loading
* add downsample row, differentiate for tsdb version
* add tests for mteric section and downsample section
* add filter section react component and tests
* add tag section and tests
* add rate section and tests
* remove angular code
* fix styling
* remove comments
* remove unused code
The original check has been added ~3 years ago and since then a new
variable has been added that says whether the mode is browser or
proxied.
Start using the new variable in this function so that proxy mode could
be properly detected. It's important to us to get these headers and this
check is currently broken for HTTP/HTTPS URLs.
Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com>
Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com>
* add new monaco callback to update onBlurRef with current value on monaco editor change.
* don't overload onBlur, create new onChange tracker that doesn't initiate queries, just updates values
* Update public/app/plugins/datasource/prometheus/components/monaco-query-field/MonacoQueryField.tsx
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* Add type='button' in button used in Heading component to prevent having the default value ='submit'
* Add type='button' for buttons used in form when grafana-managed alert type is selected
* Add type='button' for buttons used in form when mimir-or-loki alert type is selected
* Loki: Fix running queries without an `expr`
* rever previous change
* only dispatch `initQuery` if the DS is uninitialized
* moved `isUninitialized` to static var
* logs: added a copy of the grafana-ui logs-files
* fix: added the ansicolor package to the main grafana package
* logs-components: import things from grafana-ui
* import from local files
* logs-components: other fixes
* add betterer-exceptions
* apply updates from grafana-ui package
* updated imported dashboards
* Adds check for MetricDefinitionsQuery in migration
* Removed delete from migratio
* switched back to const for migratedQ
* Added depreacted to MetricDefinitionQuery
* 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
* Moved the SearchResponse type to types.ts.
Created a mockSearchResponse function to generate search responses.
* Generate spans in mocked response. Extend results table to accomodate spans
* Show the first spanset attributes in the table
* Added a shortcut to run the query in TraceQL editor. Added a label and link to docs above the editor
* Improved autocomplete list sorting. Improved value regex.
* Rename column to "Span"
* Tests are great!
* feat(loki-variable-editor): replace input with select with datasource labels
* feat(loki-variable-editor): update test
* feat(loki-variable-editor): allow the editor to receive an existing query instance and edit it
* feat(loki-variable-editor): allow custom values in the label select
* feat(loki-variable-editor): mark stream field as optional
* feat(loki-variable-editor): add placeholder to stream selector and extend tooltip info
* refactor(elastic-test): add datasource mock factory
* refactor(elastic-test): use new factory and attempt to fix some type issues
* refactor(elastic-test): type fixes
* refactor(elastic-test): update test with mock changes
* refactor(elastic-test): remove commented code
Git history should be more than enough to go back to previous revisions instead of keeping commented code.
* refactor(elastic-test): use mock factory and fix type issues in language provider test
* Chore: rename mock parameter
* Chore: remove unnecessary conditional
* Chore: remove ts-expect-error
* Fix panel option bugs and make tooltip options work
* Support multiple series in explicit mode. Rename XY/Explicit to Auto/Manual
* Fixes
* Fix
* Legend improvements
* Rewrite Pure Component to Function Component
* Add datalinks support
* Legend fixes and CR modifications
* Fix bugs that crash panel