* remove prometheusUsesCombobox feature toggle
* betterer
* fix the unit test
* create MetricsLabelsSection unit tests
* fix unit tests
* fix unit tests in PromQueryBuilder.test.tsx
* prettier
* remove timeouts
* Revert "remove timeouts"
This reverts commit 84af1fd46bad807e9b42a8c1b1ce308700ab36c9.
* convert it to functional component
* useReducer
* usePromQueryFieldEffects
* clean up the code
* remove localStorage provider
* introduce usePromQueryFieldEffects.test.ts
* simpler state management
* remove mocks
* linting + betterer
* Split PrometheusMetricsBrowser into small functional components
* remove /series endpoint usages for Metrics Browser
* add time ranges
* remove unused file
* fix unit test
* use limit
* re-fetch labels when a label value is selected
* reset the label keys when selector is empty
* select multiple labelValue
* fix unit tests
* add comments
* don't show unpresented labelKeys
* don't clear out selected label keys that are in local storage
* show values properly
* fix clearing
* don't discard already selected label values when a new label value selected
* remove unnecessary unit test
* clear all selections
* if metrics list is empty remove all label keys too
* re-populate values when all label selections are removed
* safety
* more comments
* updating the whole fetching mechanism
* buildSafeSelector
* loadSelectedLabelsFromStorage
* fetchMetrics
* fetchLabelKeys
* fetchLabelValues
* more unit test and comment
* timeRange changes will trigger re-fetch
* some more comments
* fix the unit test
* lint
* fix unit tests
* fix timerange causing problem
* remove fethcing message
* proper initialization
* fix value fetching during metric selection
* fix value fetching
* fix unit tests
* fix a bug
* comments
* some precaution
* fix the test
* fetch metrics when metric selection is changed
* trigger initialize when seriesLimit is change
* Revert "trigger initialize when seriesLimit is change"
This reverts commit c6cbbc138634c722ee1adbb9c8dabb3fa8819e52.
* remove redundant comments
* first attempt to have info function
* unit test for query modeller
* enable info function in devenv
* fix unit test
* add unit test for info function
* throw error when trying to visualize the info function
* remove visual query support
* Update packages/grafana-prometheus/src/promql.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update packages/grafana-prometheus/src/querybuilder/parsing.test.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* update info function detail
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* remove range from class
* remove range from language provider
* use range parameters in MetricsLabelsSection
* use range parameters in metric_find_query
* pass range parameter in monaco-query-field
* typo
* use range in prometheus metrics browser languageProvider calls
* fix unit tests
* fix unit tests
* update unit tests
* lint
* Prometheus package: Replace deprecated @grafana/experimental with @grafana/plugin-ui and @grafana/llm
* Fix @grafana/llm mock in test
* Keep version exact
* Keep version exact
* Update lock
* utf8 metrics for prometheus devenv
* introduce utf8 support
* completions and suggestions
* don't wrap the utf8 label in quotes
* linting
* support utf8 labels and metrics on visual query builder
* lint
* update raw view for utf8 metric syntax
* betterer
* support utf8 metric names in explore metrics
* utf8 support in grouop by
* utf8 support in label break down
* utf8 metric and label support in metric_find_query for label values
* use the same regex to check label values
* no need to escape
* support series endpoint
* support series endpoint
* support series endpoint
* support series endpoint
* fix tests
* fix extracting labels from labelValuesQuery
* show explanation with right syntax
* support utf8 metrics and labels
* utf8 metrics for prometheus devenv
* introduce utf8 support
* completions and suggestions
* don't wrap the utf8 label in quotes
* linting
* support series endpoint
* fix: handling of special chars
* docs: add clarity
* fix: escaping
* refactor: put changes behind new feature toggle
* docs: use consistent comment style
* refactor: rename feature toggle for brevity
* use single quotes
* fix unit tests
* remove redundant json entry
* fix: keep all changes behind feature toggle
* fix: support builder mode
* fix: don't escape when using regex operators
* fix: code mode label values completions with special chars
* refactor: remove unneeded changes
* move feature toggle up so new changes from main won't conflict with ours
* fix: escape label values in metric select scene
* refactor: ensure changes are behind feature toggle
---------
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
* add more doc info for truncate function and how we use it
* truncate label names and allow users to search all labels on typing
* remove unused import
* handle labels select in variable query in addition with truncated list
* add a limit for the series resource api in metrics browser
* decouple serieslimit from options and only use in metrics browser
* add series limit input to metrics browser
* add warning
* add and fix tests
* add new param to jsdoc
* do not use the limit in other calls outside metrics browser
* update test
* trim limit
* fix tests, remove limit from non labels calls
* remove redundant test matchers
* use amendTable, trimTable functions from @grafana/data package
* move getMockDataSource function into the mocks.ts
* use LocalStorageValueProvider from @grafana/o11y-ds-frontend
* move all mocks under __mocks__ directory
* use store from @grafana/o11y-ds-frontend
* move test related files under test directory
* use getNextRefId from @grafana/data instead of deprecated getNextRefIdChar
See: https://github.com/grafana/grafana/pull/87460
* betterer
* remove unnecessary mockings
* import from @grafana/data
* import from @grafana/data
* update eslint, tsconfig + esbuild to handle new jsx transform
* remove thing that breaks the new jsx transform
* remove react imports
* adjust grafana-icons build
* is this the correct syntax?
* try this
* well this was much easier than expected...
* change grafana-plugin-configs webpack config
* fixes
* fix lockfile
* fix 2 more violations
* use path.resolve instead of require.resolve
* remove react import
* fix react imports
* more fixes
* remove React import
* remove import React from docs
* remove another react import
* Removed depricated HorizontalLayout from PrometheusMetricsBrowser
* Removed commented import
* typo fix
* Removed depricated HorizontalLayout from RawInfluxQLEditor
* Replaced InlineFormLabel to InlineField in RawInlfuxEditor.tsx
* Removed depricated HorizontalLayout from GraphiteFunctionEditor
* Changed div to instead use stack
* Changed htmlFor attribute from selectElementId to aliasElementId
* Updated the betterer results
* Updated prettier write to the updated files
* Changed htmlFor label to fix the text
* Update @lezer/lr to v1.4.0
* Update @prometheus-io/lezer-promql to v0.37.0
* Update @prometheus-io/lezer-promql to v0.38.0
* Update @prometheus-io/lezer-promql to v0.39.0
* Update @prometheus-io/lezer-promql to v0.40.0
* add jest config
* update code
* fix code to pass "handles things" test
* fix retrieving labels
* fix code to pass "handles label values" test
* fix code to pass "simple binary comparison" test
* use BoolModifier
* add changed lines as comments
* fix for ambiguous query parsing tests
* resolve rebase conflict
* fix retrieving labels, aggregation with/out labels
* add error
* fix comment
* fix "reports error on parenthesis" unit test
* fix for "handles binary operation with vector matchers" test
* fix for "handles multiple binary scalar operations" test
* fix for "parses query without metric" test
* fix indentation and import style
* remove commented lines
* add todo items and comments
* remove dependency update from tempo datasource
* apply same changes in core prometheus frontend
* prettier
* add new test case
* use old version of lezer in the root package.json
* Revert "apply same changes in core prometheus frontend"
This reverts commit 83fd6ac7
* fix indentation
* use latest version of lezer-promql v0.51.2
* Update packages/grafana-prometheus/src/querybuilder/parsing.ts
Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
* enable native histogram test
---------
Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
* Prom: disable cmd f within the editor
* Loki: disable cmd f within the editor
* Update public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Monaco: upgrade to 0.34.1
* Loki/Prometheus: allow native search to be displayed
* Formatting
* Monaco: upgrade to 0.34.1
https://github.com/microsoft/monaco-editor/issues/102#issuecomment-1282897640
---------
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* add history links for monaco completion provider folder
* add history links for monaco query field folder
* add history links for components folder
* add history links for configuration folder
* add history links for dashboard json folder
* add history links for gcopypaste folder
* add history link for variableMigration
* add history link for querybuilder/components/metrics-modal folder
* add history link for querybuilder/components/promqail folder
* add history links for querybuilder/components folder
* add history links for querybuilder/hooks folder
* add history links for querybuilder/shared folder
* add history links for querybuilder folder
* add history links for querycache folder
* add history links for src folder
* use frontend package and custom auth in module.ts
* remove files and fix import issues
* remove usePrometheusFrontendPackage
* remove extra files
* update betterer
* remove extra files after rebase
* fix betterer for rebase
* fix e2e flakiness
* add native histogram functions to code editor
* add native histogram function types for query builder
* add functions to query builder
* add test to show parsing breaks from code to builder
* add histogram_avg to code editor
* add histogram_avg to builder and make parity between package and core
* add functions to hard coded promql file for highlighting
* remove native histogram test so that it can be added in #85942
* remove functions from core prometheus js to prevent merge conflict in #86080
* use xit for test instead of removing it
* fix stateSlice type errors for build, do not export stateSlice in the future
* fix exports for consistency
* fix package.json for rollup, update licence, keep private
* rollup as devdependencies
* try a different version of @testing-library/dom to try to fix the aria-query issue in drone
* remove testUtils export
* change @testing-library/dom version back
* remove icon bundling, grafana-ui handles this
* remove unused dependencies
* components folder: avoid nested barrel files and use named exports
* configuration folder: avoid nested barrel files and use named exports
* querybuilder folder: avoid nested barrel files and use named exports
* general files: use named exports
* fix loader issue with promql for external ds
* default to support labels match api
* export things necessary for custom config auth
* remove changes to core datasource.test.ts
* Update packages/grafana-prometheus/package.json
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* remove icons script, not needed
* update readme, remove references to grafana/ui
* remove private property
* check tests
* remove private property in package.json
* update changelog
* update npm drone script for file checks
* debug why updating test in script broke another library that had never been tested before
* fix npm test for checking licenses
* fix npm test for checking licenses
* fix npm test for checking licenses
* fix npm test for checking licenses
* update license file for npm drone test
* fix bash script
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* fix components folders for exports
* export files in the components folder
* export metrics modal and fix exports
* export promquail and fix exports
* export querybuilder/components and fix exports
* export querybuilder
* main index file exports
* run prettier
* Move to the library
* copy from library
* move them in src
* have additional files
* add unmigrated/dulicated code and files
* migrate from brendan's pr
module.ts, query_hints.ts, tracking.ts, and remove plugin.json
* migrate from brendan's pr
metric_find_query.test.ts
* migrate from brendan's pr
language_utils.test.ts
* migrate from brendan's pr
index.ts in root and in configuration
* migrate from brendan's pr
datasource.test.ts
* migrate from brendan's pr
typings folder
* migrate from brendan's pr
querycache folder
* migrate from brendan's pr
monaco-query-field folder
* migrate from brendan's pr
components folder without monaco-query-field folder
* migrate from brendan's pr
configuration/overhaul folder
* migrate from brendan's pr
AlertingSettingsOverhaul.tsx
* Remove azure related code
* migrate from brendan's pr
ConfigEditor.tsx, DataSourceHttpSettingsOverhaul.tsx, ExemplarSetting.tsx, configuration/mocks.ts, PromSettings.test.tsx, PromSettings.tsx
* migrate from brendan's pr
useFlag.ts
* migrate from brendan's pr
metrics-modal folder
* migrate from brendan's pr
files inside components folder
* migrate from brendan's pr
LabelFilters* files because they are now under components folder
* migrate from brendan's pr
files under querybuilder/shared folder
* migrate from brendan's pr
aggregations.ts, QueryPattern.tsx, QueryPatternsModal.tsx, state.ts, testUtils.ts under querybuilder folder
* Apply Ivana's PR https://github.com/grafana/grafana/pull/81656
* Apply jack's suggestions in this PR https://github.com/grafana/grafana/pull/77762
* Apply Ivana's PR https://github.com/grafana/grafana/pull/81656
* Fix type import
* add monaco-promql to transformIgnorePatterns to run prometheus frontend library tests
* remove Loki specific tests because we removed Loki code to decouple Loki
* add prometheus specific references
* We are moving these betterer issues from core Prometheus to the Library and we promise to remove all issues in the future, thank you
* include prometheus library in package.json
* add yarn lock with prometheus frontend library
* decouple final core import from metric_find_query.test.ts
* run prettier
* fix core imports in promqail
* fix lint errors
* run prettier
* add grafana-ui to devdeps to fix lint errors
* update yarn.lock
* grafana-ui fix
* trying to fix grafana-ui type errors with lerna drone check
* trying to fix grafana-ui type errors with lerna drone check
* trying to fix grafana-ui type errors with lerna drone check
* trying to fix grafana-ui type errors with lerna drone check
* try to pass typecheck
---------
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>