VictoriaMetrics/app/vmselect
Aliaksandr Valialkin f5559c038c
lib/storage: do not check the limit for -search.maxUniqueTimeseries when performing /api/v1/labels and /api/v1/label/.../values requests
This limit has little sense for these APIs, since:

- Thses APIs frequently result in scanning of all the time series on the given time range.
  For example, if extra_filters={datacenter="some_dc"} .

- Users expect these APIs shouldn't hit the -search.maxUniqueTimeseries limit,
  which is intended for limiting resource usage at /api/v1/query and /api/v1/query_range requests.

Also limit the concurrency for /api/v1/labels, /api/v1/label/.../values
and /api/v1/series requests in order to limit the maximum memory usage and CPU usage for these API.
This limit shouldn't affect typical use cases for these APIs:

- Grafana dashboard load when dashboard labels should be loaded
- Auto-suggestion list load when editing the query in Grafana or vmui

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5055
2024-01-29 16:44:46 +01:00
..
clusternative app/{vmselect,vmstorage}: return compression of the data passed from vmstorage to vmselect 2024-01-24 13:37:05 +02:00
deployment Rootless docker images by default (#358) 2020-03-27 21:18:32 +02:00
graphite app/vmselect/graphite: properly handle -N index for the array of N items 2024-01-17 00:16:37 +02:00
graphiteql app,lib: fix typos in comments (#3804) 2023-02-13 09:32:35 -08:00
multiarch all: run apk update && apk upgrade in base Alpine Docker image in order to get all the recent security fixes 2023-02-09 14:03:02 -08:00
netstorage app/vmselect/netstorage: initialize tmpBlocksFileWrapper at goroutine, which continues using it 2024-01-26 21:29:30 +01:00
prometheus lib/storage: do not check the limit for -search.maxUniqueTimeseries when performing /api/v1/labels and /api/v1/label/.../values requests 2024-01-29 16:44:46 +01:00
promql app/vmselect/promql: remove superflouos memory allocations at aggrPrepareSeries() 2024-01-23 02:29:14 +02:00
querystats app/vmselect: do not track queries with less than 1ms execution time at /api/v1/status/top_queries 2021-07-15 16:53:35 +03:00
searchutils all: add support for or filters in series selectors 2023-07-15 23:56:18 -07:00
static/css app/vmselect: properly serve static css for /select/.../metric-relabel-debug page 2022-12-10 03:04:43 -08:00
vmui app/vmui: run make vmui-update after a7b11eff7c 2024-01-26 22:53:52 +01:00
main.go vmsingle/vmselect returns http status 429 (TooManyRequests) instead of 503 (ServiceUnavailable) when max concurrent requests limit is reached. (#5682) 2024-01-25 10:21:09 +02:00
Makefile all: add Windows build for VictoriaMetrics 2023-03-19 23:28:26 -07:00
README.md app/vmselect: expose vmui at /vmselect/<accountID>/vmui/ instead of /vmselect/<accountID>/prometheus/vmui/ 2021-07-10 12:32:21 +03:00
vmui.go vmui: add flag for default timezone setting (#5611) 2024-01-23 04:15:14 +02:00

vmselect performs the following tasks:

  • Splits incoming selects to tasks for vmstorage nodes and issues these tasks to all the vmstorage nodes in the cluster.

  • Merges responses from all the vmstorage nodes and returns a single response.

The vmui directory contains static contents built from app/vmui package with make vmui-update command. The vmui page is available at http://<vmselect>:8481/select/<accountID>/vmui/.