Commit graph

195 commits

Author SHA1 Message Date
dependabot[bot] 8d9850b7ff
Bump @eslint/js from 9.9.1 to 9.11.1 in /web/ui
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.9.1 to 9.11.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.11.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 23:21:30 +00:00
Julius Volz b826c43987
Calculate path prefix directly in initial settings Redux value (#14981)
Without this, the page that is shown first renders once with an empty path
prefix value, since the settings update takes a render cycle to complete.
However, we only fetch certain data from the API exactly once for a given
page, and not for every re-render with changed path prefix value (and we
also wouldn't want to fetch it from the wrong location initially).

This duplicates the served endpoint list once more, but exporting them from
App.tsx would also have been dirty (hot reload only works when a file only
exports one component and nothing else, thus there'd be a linter warning).

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-30 14:22:40 +02:00
Julien e34563bfe0 Retry SSE connection unless max clients have been reached.
This switches from the prehistoric EventSource API to the more modern
fetch-event-source package. That packages gives us full control over the
retries.

It also gives us the opportunity to close the event source when the
browser tab is hidden, saving resources.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-27 16:18:33 +02:00
Julien f9bbad1148 Limit the number of SSE Subscribers to 16 by default
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-27 15:51:51 +02:00
Julien 7aa4721373
Merge pull request #14946 from roidelapluie/notifications
Add notifications to the Web UI
2024-09-27 15:50:43 +02:00
Julien 6cde0096e2 Add notifications to the web UI when configuration reload fails.
This commit introduces a new `/api/v1/notifications/live` endpoint that
utilizes Server-Sent Events (SSE) to stream notifications to the web UI.
This is used to display alerts such as when a configuration reload
has failed.

I opted for SSE over WebSockets because SSE is simpler to implement and
more robust for our use case. Since we only need one-way communication
from the server to the client, SSE fits perfectly without the overhead
of establishing and maintaining a two-way WebSocket connection.

When the SSE connection fails, we go back to a classic
/api/v1/notifications API endpoint.

This commit also contains the required UI changes for the new Mantine UI.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-27 15:28:38 +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
Jesus Vazquez cb4bc5e786
UI: Make mantime UI assets relative
Signed-off-by: Jesus Vazquez <jesusvzpg@gmail.com>
2024-09-24 15:30:54 +02:00
Julius Volz 52fe4cc4ee
Merge pull request #14944 from roidelapluie/copy
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
Mantine UI: removed unuse file
2024-09-20 21:28:09 +02:00
Julien 7ebda924b8 fix(web): properly format sub-millisecond durations in target status page
Previously, scrapes durations that are very short (e.g., connection refused)
could show as empty (durations under 1 millisecond).

This commit ensures that sub-millisecond durations are correctly
displayed as "0ms" or "1ms" when necessary.

- Adjusted `humanizeDuration` to round sub-millisecond durations to the
  nearest millisecond.
- Updated unit tests to verify the correct handling of sub-millisecond
  values.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-20 12:02:17 +02:00
Julien 5096bb9f29 Mantine UI: removed unuse file
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-20 11:33:55 +02:00
Björn Rabenstein c7fb6188b4
Merge pull request #14930 from jan--f/holt-winters-experimental
move holt_winters to the experimental functions and rename
2024-09-19 17:52:39 +02:00
Jan Fajerski 96e5a94d29 promql: rename holt_winters to double_exponential_smoothing
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-19 15:29:01 +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 b8d1336d42
Merge pull request #14912 from roidelapluie/notready
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
mantine UI: Distinguish between Not Ready and Stopping
2024-09-17 19:40:13 +02:00
Julien ac5377873f mantine UI: Distinguish between Not Ready and Stopping
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-17 16:02:16 +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 57898c7929 Refactor and fix time formatting functions, add tests
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
Julien ac01dc9035 Explain, vector-to-vector: Do not compute results for set operators
Set operators are not displayed:
31ce9dacf4/web/ui/mantine-ui/src/pages/query/ExplainViews/BinaryExpr/VectorVector.tsx (L364)

Therefore, do not compute results for them.

Fixes #14889

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-16 11:38:35 +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 a7c1a951df Add general Mantine overrides CSS file
...initially fixing the ellipsis overflow text cut-off in badges.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-13 14:40:29 +02:00
Julius Volz b93ed7bd17
Merge pull request #14898 from prometheus/fix-targets-page-coloring
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
Scorecards supply-chain security / Scorecards analysis (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
Fix border color for target pools with one target that is failing
2024-09-13 09:21:54 +02:00
Sandro 65743bf9bd
ui: drop template readme
Signed-off-by: Sandro <sandro.jaeckel@gmail.com>
2024-09-11 11:15:51 +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
Jan Fajerski 91608c002f Merge branch 'main' into release-3.0-beta.0
Conflicts:
	scrape/scrape_test.go
          Pick both changes.
2024-09-10 20:51:20 +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
Jan Fajerski 3ce285e0a3
Merge pull request #14891 from roidelapluie/fix-lookback-delta
Mantine UI: Use actual lookback delta in explain
2024-09-10 13:18:59 +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 bde5092471
Merge pull request #14882 from prometheus/new-ui-help-button
Bring back documentation link in the form of an action button
2024-09-10 12:54:00 +02:00
Julien 8aab6458b8 Mantine UI: Move /discovered-alertmanagers to /alertmanager-discovery
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-10 12:12:21 +02:00
Fiona Liao a2bf2bf4ef Change npm deps to 0.3xx
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-09-10 10:16:45 +01:00
Fiona Liao 500fcac03a Update CHANGELOG for beta
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-09-10 10:14:47 +01:00
Julius Volz c1080990ac Bring back documentation link in the form of an action button
IMO this looks nicer than adding it as a normal page nav link as in
https://github.com/prometheus/prometheus/pull/14878

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 18:55:32 +02:00
Julius Volz 11f344e4d3 Move AM discovery page from "Monitoring status" -> "Server status"
Seems to at least make more sense to me like that.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 14:32:27 +02:00
Julius Volz e2be869a7a Slightly improve navbar wrapping for long status title + narrow window
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:59:36 +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 adf6c105a7 Show alert annotations on /rules page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:46:42 +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 52a6e32fd0 Update all CodeMirror dependencies
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-08 17:06:21 +02:00