Aliaksandr Valialkin
3a25a4b1de
app/{vminsert,vmselect}: speed up TestInitStopNodes()
2022-12-03 23:53:14 -08:00
Zakhar Bessarab
e407e7243a
{app/vmstorage,app/vmselect}: add API to get list of existing tenants ( #3348 )
...
* {app/vmstorage,app/vmselect}: add API to get list of existing tenants
* {app/vmstorage,app/vmselect}: add API to get list of existing tenants
* app/vmselect: fix error message
* {app/vmstorage,app/vmselect}: fix error messages
* app/vmselect: change log level for error handling
* wip
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-11-25 10:32:45 -08:00
Aliaksandr Valialkin
693d68f307
app/vmselect/vmui: make vmui-update
after 37cda9abd0
2022-11-25 07:34:03 -08:00
Aliaksandr Valialkin
2f7152deb3
app/vmselect/vmui: make vmui-update
after eb772aa50e
2022-11-24 17:37:33 -08:00
Aliaksandr Valialkin
587f90b4cb
app/vmselect/vmui: make vmui-update
after 7dc2349913
2022-11-22 15:36:19 +02:00
Aliaksandr Valialkin
2f9df62795
app/vmselect/vmui: make vmui-update
after 7d1b3e7e14
2022-11-22 00:35:05 +02:00
Aliaksandr Valialkin
ad548abd6a
app/vmselect/promql: add range_normalize(q1, ..., qN)
function for normalizing query results into [0..1] value range
...
This may be useful for analyzing correlation between time series with different value ranges
2022-11-21 23:25:35 +02:00
Aliaksandr Valialkin
2d361a834d
app/vmselect/promql: properly return an empty result from limit_offset() if offset exceeds the number of inner time series
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3312
2022-11-21 16:48:10 +02:00
Aliaksandr Valialkin
b0fefe562a
app/vmselect/promql: optimize e1 op e2
when e1
returns an empty result
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3349
2022-11-21 16:09:49 +02:00
Aliaksandr Valialkin
353b137ff0
app/vmselect/netstorage: typo fix after 61736e4a1d
2022-11-19 00:53:54 +02:00
Aliaksandr Valialkin
97eafbe4a7
app/vmselect: clarify that it isnt recommended setting -replicationFactor at vmselect nodes even if the replication is enabled at vminsert nodes
2022-11-18 14:04:12 +02:00
Aliaksandr Valialkin
61736e4a1d
app/vmselect/netstorage: remove superflouos map lookup at ProcessSearchQuery
...
This should reduce CPU usage a bit during querying
2022-11-18 13:49:59 +02:00
Aliaksandr Valialkin
eb784ff399
app/vmselect/netstorage: emit more useful information in query traces when some of vmstorage nodes return errors or if there is no need to wait for their responses
2022-11-18 13:01:42 +02:00
Yury Molodov
60aaf4b2c2
vmui: add trace analyzer ( #3310 )
...
* refactor: change structure project
* refactor: change structure project
* fix: add hooks for set query params
* refactor: add index for pages
* docs: add TESTCASES.md
* refactor: restructure components
* feat: add page with trace analyzer
* fix: change detect trace data
* Update app/vmui/packages/vmui/src/pages/TracePage/index.tsx
Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
* Update app/vmui/packages/vmui/src/pages/TracePage/index.tsx
Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
* fix: change descriptions on trace page
* Update app/vmui/packages/vmui/src/pages/TracePage/index.tsx
Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
* feat: add base components
* feat: add reset styles
* docs: add description about trace analyzer
* feat: add styles for custom panel page
* feat: add styles for predefined panels
* feat: add style for TracingsView.tsx
* feat: add Alerts
* feat: add Tooltip.tsx
* fix: correct styles
* feat: add DatePicker.tsx
* feat: add tables
* feat: add theme provider
* fix: replace using callbacks as props to handlers
* fix: correct update time
* fix: change TimePicker.tsx
* fix: correct styles
* fix: update packages
* vmui: refactor code, remove material-ui
* feat: add paste json for trace analyzer
* vmui: update trace analyzer docs
* app/vmselect/vmui: `make vmui-update`
Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-11-17 22:23:05 +02:00
Aliaksandr Valialkin
7969ca6c80
app/vmselect/vmui: make vmui-update
after 51bfd1ab80
2022-11-17 18:57:44 +02:00
Aliaksandr Valialkin
f67c2a2f8f
app/vmselect/vmui: make vmui-update
after bc8a782f74
2022-11-17 01:21:56 +02:00
Aliaksandr Valialkin
0cc59b9f95
app/vmselect/promql: add range_stdvar()
and range_stddev()
functions for calculating variance and deviation over time series on the selected time range
2022-11-17 01:03:02 +02:00
Aliaksandr Valialkin
facf7efa3a
app/vmselect/promql: add range_linear_regression(q)
function for calculating simple linear regression for the selected time series on the selected time range
2022-11-17 00:39:17 +02:00
Aliaksandr Valialkin
58e7963828
app/vmselect/vmui: make vmui-update
after 7130af7fd2
2022-11-09 16:43:09 +02:00
Aliaksandr Valialkin
fe8d40f12c
app/{vminsert,vmselect}: test initialization with different number of storage nodes
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3329
2022-11-09 11:48:39 +02:00
Zakhar Bessarab
fd36c9b3b1
docs/{vminsert,vmselect}: clarify flag description for clusternativeListenAddr
( #3314 )
...
docs/{vminsert,vmselect}: clarify flag description for `clusternativeListenAddr`
2022-11-04 09:49:53 +01:00
Zakhar Bessarab
7afa67dba0
{app/vmselect,app/vminsert}: ensure -storageNodes
flag has no empty values ( #3291 )
2022-11-01 14:54:55 +02:00
Aliaksandr Valialkin
a02a5f646f
app/vmselect/vmui: make vmui-update
after 54e1865d17
2022-10-28 14:52:16 +03:00
Aliaksandr Valialkin
09cf136154
app/{vminsert,vmselect}: add support for automatic discovery and update of vmstorage nodes
...
Thanks to @dmitryk-dk for the initial implemenation at https://github.com/VictoriaMetrics/VictoriaMetrics-enterprise/pull/446
2022-10-28 13:13:03 +03:00
Aliaksandr Valialkin
976bbe3677
app/{vminsert,vmselect}: limit the access to storageNodes to getStorageNodesBucket and setStorageNodesBucket functions
...
This makes the code more maintainable and earier to test.
2022-10-28 11:41:55 +03:00
Aliaksandr Valialkin
46450995ae
app/vmselect/vmui: make vmui-update
after eae6063450
2022-10-26 02:51:09 +03:00
Aliaksandr Valialkin
ecb71a7221
lib/fs: add canOverwrite arg to WriteFileAtomically when it is allowed to overwrite the file atomically if it already exists
2022-10-26 01:08:35 +03:00
Aliaksandr Valialkin
4f53147ed4
app/{vminsert,vmselect}/netstorage: allow calling Init()+MustStop() in a loop
...
Previously netstorage.MustStop() call didn't free up all the resources,
so the subsequent call to nestorage.Init() would panic.
This allows writing tests, which call nestorage.Init() + nestorage.MustStop() in a loop.
2022-10-25 14:43:05 +03:00
Aliaksandr Valialkin
596251eb87
app/vmselect/vmui: make vmui-update
after 274e235bf7
2022-10-24 21:29:57 +03:00
Aliaksandr Valialkin
c92aef39b5
app/vmselect/promql: expose missing metric vm_cache_size_max_bytes{type="promql/rollupResult"}
2022-10-23 12:14:07 +03:00
Aliaksandr Valialkin
574b9f4f78
app/vmselect/vmui: make vmui-update
after 080562030d
2022-10-18 10:51:05 +03:00
Yury Molodov
a50f2e141c
vmui: limit number of plotted series ( #3229 )
...
* feat: add maximum display series by tabs
* feat: add warning on PredefinedPanels.tsx
* docs/CHANGELOG.md: vmui limit number of plotted series
* docs/CHANGELOG.md: vmui limit number of plotted series
* wip
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-10-13 12:14:53 +03:00
Aliaksandr Valialkin
9bf8d64605
app/vmselect/promql: follow-up for 930f1ee153
...
Document the change at docs/CHANGELOG.md
Apply it to histogram_quantile() in the same way as to histogram_share()
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3225
2022-10-13 12:06:24 +03:00
Siqi Liu
c0fc716426
BUGFIX: properly calculate histogram_quantile with the same value and different string le ( #3225 )
...
Co-authored-by: 647(siki.liu) <siki.liu@huolala.cn>
2022-10-13 12:06:24 +03:00
Aliaksandr Valialkin
a0f3247b14
app/vmselect/promql: properly handle zero and negative values for -search.maxMemoryPerQuery
...
This is a follow-up for 04a05f161c
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3203
2022-10-12 09:33:16 +03:00
Aliaksandr Valialkin
098c9bda27
app/vmselect: return back the logic for limits the amounts of memory occupied by concurrently executed queries if -search.maxMemoryPerQuery isn't set
...
This is needed for preserving backwards compatibility with the previous releases of VictoriaMetrics.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3203
2022-10-10 21:54:18 +03:00
Aliaksandr Valialkin
d8057fca0b
docs: mention -search.maxMemoryPerQuery in the description to -search.maxConcurrentQueries command-line flag
...
This is a follow-up for 5138eaeea0
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3203
2022-10-09 13:58:18 +03:00
Aliaksandr Valialkin
938ff7bba6
app/vmselect: allow limiting per-query memory usage via -search.maxMemoryPerQuery command-line flag
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3203
2022-10-08 01:14:01 +03:00
Yury Molodov
9e4e5abac6
vmui: auto-update chart after query field removed ( #3210 )
...
* feat: run query after query field removed
* app/vmselect/vmui: `make vmui-update`
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-10-07 23:08:22 +03:00
Aliaksandr Valialkin
98bd843f3c
app/{vminsert,vmselect,vmstorage}: add package-{vminsert,vmselect,vmstorage}-{goarch}
Makefile rules for building arch-specific docker images
2022-10-07 20:17:01 +03:00
Aliaksandr Valialkin
58ee1b9edb
app/vmselect/vmui: make vmui-update
after a54987f671
2022-10-07 03:31:00 +03:00
Aliaksandr Valialkin
b05ff477c8
app/vmselect/promql: properly calculate vm_rows_scanned_per_query
histogram for rollup functions, which take into account only a few samples on the provided lookbehind window
2022-10-06 23:23:17 +03:00
Aliaksandr Valialkin
baa11a778d
app/vmselect/promql: properly calculate quantiles_over_time()
over a single raw sample
2022-10-06 22:37:38 +03:00
Aliaksandr Valialkin
958c1f291c
app: follow-up after ec04fcac93
...
* Optimize fast path for /api/v1/import when importing numeric values
* Move the docs about the change from features to bugfixes at docs/CHANGELOG.md
* Update tests at lib/protoparser/vmimport
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3161
2022-10-06 14:54:15 +03:00
Dmytro Kozlov
4064db27a8
Properly parse json when export import metric ( #3180 )
...
* app/vmselect: properly work when export import json from `api/v1/{export, import}` API
* app/vmselect: update convert function
* app/vmselect: export null if `math.IsNaN(v)`
* app/vmselect: get float from json
* lib/protoparser: add test
* docs: add change log
* lib/protoparser: make export import api compatible
2022-10-06 14:54:14 +03:00
Aliaksandr Valialkin
43bdd96a6e
app/vmselect: improve performance scalability on multi-CPU systems for /api/v1/export/...
endpoints
2022-10-01 22:16:07 +03:00
Aliaksandr Valialkin
5497997b72
app/vmselect/promql: increase scalability of incremental aggregate calculations on systems with many CPU cores
...
Use sync.Map instead of a global mutex there. This should lift scalability limits
on systems with many CPU cores.
2022-10-01 20:14:14 +03:00
Aliaksandr Valialkin
972fcfcd17
app/vmselect/prometheus: improve scalability of /federate
endpoint on systems with many CPU cores
...
Minimize usage of global lock inside bufferedwriter.Write() when processing `/federate` data
on systems with many CPU cores
2022-10-01 20:14:13 +03:00
Aliaksandr Valialkin
ae6c7edf04
app/vmselect: do not export NaN values for stale metrics at /federate endpoint
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3185
2022-10-01 19:48:21 +03:00
Aliaksandr Valialkin
6f9ce3f6d6
lib/flagutil: rename Array to ArrayString
...
This makes the ArrayString more consistent with other Array* types.
While at it, add ArrayBytes type, which will be used for https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3071
2022-10-01 18:28:19 +03:00