VictoriaMetrics/app/vmselect
Roman Khavronenko 214e01499c
promql: return step as scrapeInterval when it can't be calculated (#2865)
The change allows to specify default value for `getScrapeInterval`
function when actual interval can't be calculated.

Before the change, function were returning `maxSilenceInterval` (5m)
in such cases, which may be not correct for instant queries processing.
The specific scenario where using `maxSilenceInterval` caused issues
is the following:
1. Series becomes stale;
2. Client (in this case vmalert) continues to request series every 15s;
3. Database returns empty results as expected;
4. But at some specific moment of time database returns datapoints from `now()-5m`,
because lookback window was extended to `maxSilenceInterval`.

Signed-off-by: hagen1778 <roman@victoriametrics.com>
2022-07-13 12:34:28 +03:00
..
bufferedwriter app/vmselect/bufferedwriter: suppress trivial network errors, which can be generated by remote side 2022-03-18 19:27:33 +02:00
clusternative app/vmselect: add ability to query vmselect from another vmselect 2022-07-06 13:19:45 +03:00
deployment Rootless docker images by default (#358) 2020-03-27 21:18:32 +02:00
graphite lib/vmselectapi: pass maxSuffixes arg to tagValueSuffixes RPC call 2022-07-06 12:46:22 +03:00
graphiteql Graphite vmalert wip (#112) 2021-02-01 15:28:30 +02:00
multiarch deployment/docker: embed tzdata into prod Go app instead of installing it into base docker image 2021-02-12 04:56:27 +02:00
netstorage app/vmselect/netstorage: optimize mergeSortBlocks() for the worst case when blocks contain interleaved samples 2022-07-12 12:30:24 +03:00
prometheus vmselect/prometeus: Add limit param to api/v1/series api endpoint (#2851) 2022-07-11 20:37:20 +03:00
promql promql: return step as scrapeInterval when it can't be calculated (#2865) 2022-07-13 12:34:28 +03: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: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
vmui app/vmselect/vmui: follow-up after 0bf6841140 2022-07-08 13:22:57 +03:00
main.go app/vmselect: follow-up after 6dda254e01 2022-07-11 19:48:18 +03:00
Makefile app/{vminsert,vmselect}: automatically add missing port in -storageNode lists passed to vminsert and vmselect 2021-09-15 18:04:30 +03: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

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/.