Commit graph

137 commits

Author SHA1 Message Date
Julius Volz 4ae1effb62 Bring back vertical grid lines
Addressing part of https://github.com/prometheus/prometheus/issues/16162

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-04 23:38:25 +01:00
Julius Volz 4be2243f06 Include scrape pool name for dropped targets in /api/v1/targets
This is needed so we can display dropped targets in the right scrape pool
in the web interface even if they have a non-default job name.

See also https://github.com/prometheus/prometheus/pull/16078

Fixes https://github.com/prometheus/prometheus/issues/16065

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 15:17:22 +01:00
Julius Volz b636046672 Fix health color for target pools with single target that is down
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-22 21:32:56 +01:00
Julius Volz 402fa38e84
Improve tick rendering (#15999)
Move to 24h-based time formatting and unambiguous date formats. Also add
more details to the default formatting of each tick instead of only showing
e.g. minutes/seconds at rollover ticks for the shorter breakpoints.

Fixes https://github.com/prometheus/prometheus/issues/15913

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-10 13:19:56 +01:00
Julius Volz 32d306854b
Merge pull request #15807 from leonnicolas/hide-empty-rules-persitence
Some checks are pending
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Make "hide empty rules" persistent
2025-01-20 15:26:13 +01:00
dependabot[bot] 5e2b75ee5e
chore(deps-dev): bump @typescript-eslint/parser from 6.21.0 to 8.20.0 in /web/ui (#15821)
* chore(deps-dev): bump @typescript-eslint/parser in /web/ui

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.21.0 to 8.20.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.20.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix lint errors/warnings

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2025-01-17 18:16:30 +00:00
leonnicolas fccd78d3cd
Update storage keys
Signed-off-by: leonnicolas <leonloechner@gmx.de>
2025-01-13 21:46:45 +01:00
leonnicolas 36520fd8b2
Remove settings from setting menu
Signed-off-by: leonnicolas <leonloechner@gmx.de>
2025-01-13 17:56:11 +01:00
leonnicolas b3531a12f3
Make "show empty pools" setting persistent
Just like for showing empty groups on the Alerts page, also make the
setting for showing empty pools on the Targets page persistent.

Signed-off-by: leonnicolas <leonloechner@gmx.de>
2025-01-13 12:59:26 +01:00
leonnicolas 6ccd9add1e
Make "hide empty rules persistent"
It can be a bit annoying to always press "hide empty rules". This commit
uses the session storage of the browser to make it persistent.

Signed-off-by: leonnicolas <leonloechner@gmx.de>
2025-01-10 23:32:05 +01:00
Julius Volz 18bb8bf996
Merge pull request #15784 from sujalshah-bit/15394_server_name_and_time
api: Add two new fields Hostname and ServerTime.
2025-01-07 13:36:53 +01:00
sujal shah 73a3438c1b api: Add two new fields Node and ServerTime.
This commit introduced two field in `/status` endpoint:
- The node currently serving the request.
- The current server time for debugging time drift issues.

fixes #15394.

Signed-off-by: sujal shah <sujalshah28092004@gmail.com>
2025-01-07 16:05:50 +05:30
Julius Volz 84e0f43a0c Paginate rule groups, add infinite scroll to rules within groups
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
This addresses extreme slowness when you have thousands of rules in
potentially hundreds of rule groups. It can still be a bit slow even with
pagination and infinite scroll for very large use cases, but it's much
better already than before.

Fixes https://github.com/prometheus/prometheus/issues/15551

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-12-14 22:38:18 +01:00
Julius Volz 76ca7d08d9 Fixup: re-add erroneously removed lines
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-10-30 16:43:10 +01:00
Julius Volz c861b31b72 Support UTF-8 metric names and labels in web UI
Fixes most of https://github.com/prometheus/prometheus/issues/15202

This should address all areas of the UI except for the autocompletion in the
codemirror-promql text editor. The strategy here is that any time we print or
internally serialize (like for the PromLens tree view) either a metric name or
a label name as part of a selector or in other relevant parts of PromQL, we
check whether it contains characters beyond what was previously supported, and
if so, quote and escape it. In the case of metric names, we also have to move
them from the beginning of the selector into the curly braces.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-10-29 20:22:52 +01:00
Julius Volz 3d2194f561 Style cleanups, mostly for web notifications and startup alert
Some of the changes are a bit unreadable because the previous files were not
saved with the project's linter / auto-formatter settings applied. But it's
basically:

* For icons that are not Mantine-native components, use the rem() function
  for computing their size, so they scale correctly with the root font size.
  See https://mantine.dev/styles/rem/.
* Try a different icon for the notifications tray, since the bell icon was
  already used for Prometheus alerts. Other candidates from
  https://tabler.io/icons would be IconExclamationCircle or
  IconDeviceDesktopExclamation or IconMessageCircleExclamation.
* The server startup alert looked a bit cramped, introduced a Stack to add
  spacing between the text and the progress bar.
* Added a bit of spacing between notification text and date. Things looked
  cramped. To make things look ok with that, I also top-aligned the
  notification text and icon.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-10-04 14:14:45 +02:00
Julius Volz fcbd18dabb Remove Query page alert close buttons that don't do anything
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-25 18:27:27 +02:00
Julien 5096bb9f29 Mantine UI: removed unuse file
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-20 11:33:55 +02:00
Julien 546f780006 UI: Disallow sub-second zoom as this cause inconsistenices in the X axis in uPlot
Fixes #9135

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-19 11:51:41 +02:00
Julius Volz a1908df922 Don't wrap action buttons below metric name in metrics explorer
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-16 19:51:35 +02:00
Julius Volz 091fc403cf Fiddle with targets table styles to try and improve things a bit
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-16 19:51:08 +02:00
Julius Volz 9b0dc68d0d PromQL explain view: Support set operators
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-16 18:03:08 +02:00
Julius Volz 50af7d589b Fix tree line drawing by using a callback ref
In a non-dev build (no initial double-renders), the tree lines would not be
rendered correctly from the parent of a binop to its first child, because the
first child would be rendered before the parent, and the parent's ref hadn't
been set yet at that time. Switched from a normal ref to a callback-based ref
with explicit React state update to make sure that the child gets to know about
the parent's (later) rendered div element.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-16 08:42:20 +02:00
Julius Volz 0180cf31aa Factor out common icon and card styles
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-13 14:44:04 +02:00
Julius Volz 0757fbbecc Make sure that alert element table headers are not wrapped
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-13 14:41:24 +02:00
Julius Volz dfec29d8e5 Fix border color for target pools with one target that is failing
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-11 10:23:57 +02:00
Julius Volz ee808cda8b Fix HTML rendering for aggregator Explain view
Follow-up to https://github.com/prometheus/prometheus/pull/14893

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-10 17:09:34 +02:00
Julien 3782da7bbc Explain: Use param scalars in aggregations description
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-10 16:40:33 +02:00
Julien be6d443947 Mantine UI: Use actual lookback delta in explain
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-10 13:01:57 +02:00
Julius Volz 306d357635 Revert back to normal font for recording rule titles
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:54:41 +02:00
Julius Volz 7e0cba568e Make annotations display on /alerts page consistent with /rules
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:50:46 +02:00
Julius Volz 5956d482e8 Remove a few unneeded comments and component props
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:19:47 +02:00
Julius Volz d7bacf96c7 Remove commented-out and unused allowLineBreaks settings for binop explain
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:19:02 +02:00
Julius Volz ff41d45bae Make status page timestamps consistent and use local time
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:13:22 +02:00
Julius Volz d23872ef30 Graph range vector selectors as instant vector selectors with notice
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 21:11:06 +02:00
Julius Volz 1f1ca37fd7 Select root of tree by default in tree view
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 20:53:59 +02:00
Julius Volz cdcd43af5b Fix a lot of styling in tree view and binop explain view
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 20:53:44 +02:00
Julius Volz 8b4291537b Clarify explain view, add tree view close button, fix callback bug
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 15:17:00 +02:00
Julius Volz 7e0cd2e0b4 Improve binop explain view styling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 15:16:02 +02:00
Julius Volz 5fd860f806 Complete building tree view and implement "Explain" tab
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-06 20:38:10 +02:00
Julius Volz b75a12b52f Remove unneeded <Group> in TSDBStatusPage
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-06 20:36:39 +02:00
Julius Volz 07856b4bb9 Make linter run by upgrading the ESLint config
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-06 20:35:55 +02:00
Julius Volz c1c2e32137 More cleanups to tree view stats
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-05 16:19:12 +02:00
Julius Volz 2d9f79f59e Show label stats in tree view
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-05 14:45:09 +02:00
Julius Volz 331a8e1d6c Use infinite scroll in metrics explorer for faster rendering
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-05 14:44:45 +02:00
Julius Volz 53affc64db Clear the query page when navigating away from it
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:41:27 +02:00
Julius Volz c73c3e24d7 Default to serving new (Prometheus 3.0) UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:33:37 +02:00
Julius Volz 8ee70c5fa0 Remove unused import
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:03:00 +02:00
Julius Volz 1f3de9c599 Change range input from Input to TextInput
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 20:43:33 +02:00
Julius Volz d36e049d79 Fix lint errors by removing unused imports and vars
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:49:08 +02:00