VictoriaMetrics/app/vmselect
f41gh7 fbfd7415da
cluster: adds /api/v1/update/series API
It allows to modify exist series values.
User must write modified series into vminsert API
/insert/0/prometheus/api/v1/update/series

vminsert will generate id and add it to the series as __generation_id
label.

Modified series merged at vmselect side.
Only last series modify request at given time range will be applied.
Modification request could be exported with the following API request:
`curl localhost:8481/select/0/prometheus/api/v1/export -g -d
'reduce_mem_usage=true' -d 'match[]={__generation_id!=""}'`

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/844

adds guide

allow single datapoint modification

vmselectapi: prevent MetricBlockRef corruption

Modofying of MetricName byte slice may result into MetricBlockRef
corruption, since `ctx.mb.MetricName` is a pointer to
`MetricBlockRef.MetricName`.

Signed-off-by: hagen1778 <roman@victoriametrics.com>

Revert "vmselectapi: prevent MetricBlockRef corruption"

This reverts commit cf36bfa1895885fcc7dc2673248ee56c78180ea0.

app/vmstorage/servers: properly copy MetricName into MetricBlock inside blockIterator.NextBlock

This should fix the issue at cf36bfa189

(cherry picked from commit 916f1ab86c)

app/vmselect: correctly update single datapoint at merge

app/vmselect: adds mutex for series update map
previously it was sync api, but function signature was changed for performance optimizations
2023-08-23 15:36:12 +02:00
..
clusternative app/vmselect: move common http functionality from app/vmselect/searchutils to lib/httputils 2023-07-06 17:22:23 -07:00
deployment Rootless docker images by default (#358) 2020-03-27 21:18:32 +02:00
graphite app/vmselect: move common http functionality from app/vmselect/searchutils to lib/httputils 2023-07-06 17:22:23 -07: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 cluster: adds /api/v1/update/series API 2023-08-23 15:36:12 +02:00
prometheus app/vmselect: prevent from panic when lookbehind window inside rollup function is parsed into negative value 2023-08-12 04:49:56 -07:00
promql app/vmselect: prevent from panic when lookbehind window inside rollup function is parsed into negative value 2023-08-12 04:49:56 -07: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/{vmselect,vlselect}: run make vmui-update vmui-logs-update after 86f1459ca6 2023-08-11 07:01:15 -07:00
main.go app/vmselect: rename promql.WriteActiveQueries() to promql.ActiveQueriesHandler() 2023-07-20 11:30:40 -07: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 lib/fs: add MustReadDir() function 2023-04-14 22:11:40 -07: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/.