Julius Volz
84e0f43a0c
Paginate rule groups, add infinite scroll to rules within groups
...
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
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
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
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
c0ba4ee2bb
Add beginnings of a PromLens-style tree view
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:43:08 +02:00
Julius Volz
a99c01b53f
Implement query history
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:25:34 +02:00
Julius Volz
d3b6b0f288
Rename "value" to "step" in resolution state
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:59:17 +02:00
Julius Volz
d22e721d39
Add initial Service Discovery page
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:56:35 +02:00
Julius Volz
d6e5e39bf7
Add filtering to alerts page
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:54:08 +02:00
Julius Volz
648751568d
Better target table formatting, store filters in URL
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-10 20:25:38 +02:00
Julius Volz
e2d37b6d92
Implement kv search on targets page again
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 18:50:41 +02:00
Julius Volz
a6b085ee5a
Refactor DataTable, record & show query stats
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-31 16:19:38 +02:00
Julius Volz
b06bb78543
Add filtering, limiting, and more to targets page
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:29:18 +02:00
Julius Volz
1b2290c131
Remove unused imports in new UI to fix build
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-23 11:35:37 +02:00
Julius Volz
a526a7ae53
Implement encoding/decoding graph pages to/from URL
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 22:47:41 +02:00
Julius Volz
0049e8baff
Implement timezone handling for uPlot graphs
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-22 16:08:39 +02:00
Julius Volz
8ef66c41a0
A lot of work around uPlot and resolution picking
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-21 23:55:08 +02:00
Julius Volz
c67b7a7c56
Store global settings in localStorage
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 10:50:32 +02:00
Julius Volz
8fae131733
Move Settings context data into Redux settings slice
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-15 22:19:47 +02:00
Julius Volz
1049c90cb5
Clean up file hierarchy a bit, add some more comments
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-09 12:36:53 +02:00
Julius Volz
cdc4bf0ebc
Various tiny code cleanups
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 16:15:50 +02:00
Julius Volz
a1f36de67c
Add missing alerts page redux slice file
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:49:21 +02:00
Julius Volz
70221fc4a0
Build initial targets page
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:43:03 +02:00
Julius Volz
796d1806da
Add Settings menu, make menu links left-justified again
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:07:13 +01:00
Julius Volz
33a753c2f8
Implement pathPrefix handling
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 14:06:05 +01:00
Julius Volz
2bb14c5787
Lots of more progress on the new Mantine UI
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 13:16:54 +01:00