Commit Graph
14 Commits
Author SHA1 Message Date
ismail simsek 6b266ebc50 Chore: Remove unused files in @grafana/prometheus (#108135)
* remove unused files

* lint

* resolve circular dependencies

* a bit more circular dependency cleaning

* move unit tests
2025-07-16 16:39:39 -04:00
ismail simsek d602e79e9a Chore: Remove unnecessary exports (#108124)
* no unnecessary exports

* needs exports

* put query builder types back

* put types back

* betterer
2025-07-15 16:20:09 +02:00
ismail simsek 5b5cce3243 Chore: Remove unused parseSelector function (#108119)
remove unused parseSelector
2025-07-15 14:10:47 +01:00
ismail simsek 6d9475127c Prometheus: Use PrometheusLanguageProviderInterface instead of legacy PromQlLanguageProvider (#105988)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* import fixes
2025-06-18 16:24:07 +02:00
Nick Richmond c65ef07635 Prometheus: Facilitate tree shaking with exports and bundler mode (#105575)
* feat: bundler mode

* refactor: simplify singleton modeller

* refactor: isolate state

* refactor: decouple query rendering from modeller

* fix: remove unused var

* build: configure declaration files

* refactor!: configure exports

* fix: remove unused file

* fix: use shared utils only

* refactor: avoid confusing singleton

* fix: avoid ReDoS

see https://github.com/grafana/grafana/security/code-scanning/2883 for details

* fix: avoid catastrophic backtracking

see https://github.com/grafana/grafana/security/code-scanning/2884 for details

* fix: circular dep

* fix: make rollup happy by restoring declarationDir

* fix: import

* fix: circular dep

* chore: remove superfluous file

* fix: remove duplicate modeller code

* chore: remove superfluous comment

* fix: handle subpaths in exports

* fix: add missing ignore

* fix: correctly ignore assertion

* refactor: improve clarity

* refactor: promote clarity, be explicit

* refactor: more sensible filter

* fix: add missing devDep

* fix: circular import

* refactor: avoid type assertions where possible

* fix: linting

* chore: remove subpath exports for now

* chore: prefer forthcoming solution for arbitrary exports

* chore: undo erroneous change after merge

* refactor: prefer snake_case

* fix: linting

* refactor: simplify
2025-06-17 07:40:43 -04:00
ismail simsek 8ef8471b23 Chore: Remove prometheusUsesCombobox feature toggle (#103940)
* 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 84af1fd46b.
2025-04-22 18:54:10 +02:00
Sam Jewell 97db8b19c7 [Prometheus]: Mark ALERTS synthetic metric as a gauge (#99328)
Mark ALERTS synthetic metric as a gauge

It's not a counter. It can go down in value, but counters cannot
2025-01-22 10:50:33 +00:00
ismail simsek 4c0fa629da Prometheus: Support utf8 metric/label/label value suggestions in code mode (#98253)
* utf8 metrics for prometheus devenv

* introduce utf8 support

* completions and suggestions

* don't wrap the utf8 label in quotes

* linting

* support series endpoint
2025-01-16 15:01:51 +01:00
Brendan O'Handley 68f545210d Prometheus: Fix label names select component when there are too many options (#92026)
* 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
2024-08-16 13:55:03 -05:00
ismail simsek f8645f73ea Prometheus: Improve expanding ruleIs with identifier label checking (#90336)
* define rule mapping type

* introduce a new mapping type

* add type comments

* add identifier check

* remove tests from wrong file

* add tests to the right file

* define function body

* unit tests and logic for getQueryLabelsForRuleName

* update logic of getRecordingRuleIdentifierIdx

* update logic and tests getRecordingRuleIdentifierIdx

* fix unit tests

* fix tests

* update how we return the options

* update message

* update type

* update expandRecordingRules unit tests

* remove identifier from end result

* fix unit tests once more

* remove fix action from expand rules warning

* remove generic type

* update warning text

* betterer
2024-07-18 13:17:33 +02:00
Brendan O'Handley f85470d652 Prometheus: Use the frontend package in Prometheus and remove feature toggle (#86080)
* 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
2024-04-15 16:45:23 -05:00
Ashley Harrison b3cff22db3 Chore: Improve types (#85659)
* fixing some types

* more type fixes

* few more

* last couple

* tiny tweak
2024-04-08 09:56:21 +01:00
ismail simsek c540fd4195 Prometheus: Fix expanding that contains multiple metrics (#82354)
* fix expanding rules with one metric wrapped in a parenthesis

* fix expanding rules with regex match operator

* fix for multiple labels

* refactor

* don't modify recording rules name in label values

* metric + metric fix

* fix last issues with label regex and spaces

* add comments

* add the same changes to the prometheus library
2024-02-15 21:33:28 +01:00
ismail simsekandBrendan O'Handley 75c2d39f79 Prometheus: Create Prometheus library (#81641)
* 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>
2024-02-02 15:30:14 +01:00