Roman Khavronenko
29ea196bf0
docs: specify the time window for series_limit
( #3708 )
...
Signed-off-by: hagen1778 <roman@victoriametrics.com>
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2023-01-25 09:31:09 -08:00
Aliaksandr Valialkin
bd809db4d9
docs: update the list of command-line flags according to the latest changes
2023-01-25 09:22:23 -08:00
Aliaksandr Valialkin
5defa99a2e
lib/streamaggr: add ability to de-duplicate input samples before aggregation
2023-01-25 09:22:03 -08:00
Yury Molodov
29fd95d426
vmui: include fonts in its bundle ( #3705 )
...
* feat: include fonts in the build
* fix: reduce size fonts
* wip
- Document the change at docs/CHANGELOG.md
- Run `make vmui-update`
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-24 09:31:37 -08:00
Yury Molodov
97aa9b03de
vmui: improvements to the UI styles ( #3704 )
...
* feat: add dark theme
* update packages
* feat: add multilevel menu (#3678 )
* fix: correct styles
* fix: update link to cardinality-explorer
* fix: remove unused scss variables
* docs/CHANGELOG.md: document the changes
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-24 09:21:20 -08:00
Aliaksandr Valialkin
417b90b8ad
app/vmagent/{promremotewrite,vmimport}: remove unused functions InsertHandlerForReader()
...
Thanks to 1cfa183c2b
, where the first such function has been removed
2023-01-23 22:42:46 -08:00
Aliaksandr Valialkin
4b3a207705
app/{vmagent,vminsert}: follow-up for 1cfa183c2b
...
- Call httpserver.GetQuotedRemoteAddr() and httpserver.GetRequestURI() only when the error occurs.
This saves CPU time on fast path when there are no parsing errors.
- Create a helper function - httpserver.LogError() - for logging the error with the request uri and remote addr context.
2023-01-23 22:41:08 -08:00
Artem Navoiev
0ac0cfdc69
add error handler for parsing prometheus text format to vmagent and v… ( #3693 )
...
* add error handler for parsing prometheus text format to vmagent and vminsert
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
* fix typo
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
* typo
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
* fix variables naming and error message
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
2023-01-23 22:36:23 -08:00
Yury Molodov
bad7213fcb
vmui: add open graph and twitter card tags ( #3697 )
...
* feat: add open graph and twitter card tags
* app/vmui: spelling fixes
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-23 22:33:42 -08:00
Aliaksandr Valialkin
6ff15ca135
app/vmselect: use consistent randomizer in tests
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
2023-01-23 19:27:40 -08:00
Aliaksandr Valialkin
ef7683f2e0
app/vmalert: use consistent randomizer in tests
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
2023-01-23 19:25:32 -08:00
Aliaksandr Valialkin
b046af8a4d
app/vmselect: make vmui-update
after df7b81b44d
2023-01-20 12:07:29 -08:00
Yury Molodov
57f7ffca5b
vmui: add support for time zone selection for older versions of browsers ( #3680 )
...
* fix: add check for support of getting time zones
* vmui: add support for time zone selection for older versions of browsers
2023-01-20 12:07:28 -08:00
Tobias Jungel
8bdc63aab9
app/vmbackup: prevent password leaks ( #3672 )
...
This prevents vmbackup from leaking passwords into logs like shown below.
2023-01-11T15:00:01.050Z info VictoriaMetrics/lib/logger/flag.go:12 build version: vmbackup-20221214-211706-tags-v1.85.1-0-g09a70d3e9
2023-01-11T15:00:01.050Z info VictoriaMetrics/lib/logger/flag.go:13 command-line flags
2023-01-11T15:00:01.050Z info VictoriaMetrics/lib/logger/flag.go:20 -dst="fs:///vm-backups/latest"
2023-01-11T15:00:01.050Z info VictoriaMetrics/lib/logger/flag.go:20 -snapshot.createURL="http://user:super_sercret123@victoriametricspshot/create "
2023-01-11T15:00:01.050Z info VictoriaMetrics/lib/logger/flag.go:20 -storageDataPath="/storage"
2023-01-11T15:00:01.050Z info VictoriaMetrics/app/vmbackup/main.go:53 Snapshot create url http://user:super_sercret123@victoriametrics:8428/snapshot/create
2023-01-11T15:00:01.050Z info VictoriaMetrics/app/vmbackup/main.go:60 Snapshot delete url http://user:super_sercret123@victoriametrics:8428/snapshot/delete
2023-01-18 11:40:52 -08:00
Aliaksandr Valialkin
46645f5d94
app/vmui: increase perceived performance by 2.5x by reducing the delay before the query execution from 0.8s to 0.3s
...
The delay cannot be removed, since it is used for limiting the rate of queries sent to VictoriaMetrics during graph scrolling.
2023-01-18 01:33:51 -08:00
Aliaksandr Valialkin
e01f52d517
app/vmselect/promql: updates tests for https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3664
2023-01-17 23:26:06 -08:00
Yury Molodov
0561ba3557
vmui: correctly display range results in Table view ( #3657 )
...
* fix: properly display range results
* fix: set range values to empty array
* wip
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-17 21:04:50 -08:00
Yury Molodov
6e033b93b0
vmui: give more visually different colors to graph lines ( #3656 )
...
* feat: make more different colors of graph lines
* docs/CHANGELOG.md: give more visually different colors to graph lines
2023-01-17 20:26:23 -08:00
Aliaksandr Valialkin
0498377837
app/vmui: do not round the number in formatPrettyNumber() if the range isn't set
2023-01-17 19:51:43 -08:00
Aliaksandr Valialkin
103dfd0525
lib/{mergeset,storage}: do not slow down concurrently executed queries during assisted merges
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3647
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3641
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/648
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/291
2023-01-16 14:45:40 -08:00
Yury Molodov
060780af69
vmui: make the step input field global across all the tabs and views ( #3644 )
...
* feat: make the step input field global
* fix: correct get step from url
* fix: set minimumSignificantDigits to 1
* app/vmselect/vmui: `make vmui-update`
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-15 13:47:48 -08:00
Aliaksandr Valialkin
556484a52f
app/vminsert: return 200 OK status code when importing data in pushgateway format
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1415
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3636
2023-01-15 13:26:09 -08:00
Yury Molodov
e37bac07a0
feat: make nav menu as links ( #3646 )
2023-01-15 13:01:56 -08:00
Aliaksandr Valialkin
ce47faf102
app/vmselect/promql: reduce memory allocations when searching for time series pairs with identical labelsets in q1 op q2
queries
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3641
2023-01-15 13:00:28 -08:00
Aliaksandr Valialkin
fe8802bbc8
app/vmselect/promql: reduce the number of memory allocations inside getCommonLabelFilters()
...
This should improve performance a bit for `q1 op q2` queries
2023-01-15 12:56:21 -08:00
Aliaksandr Valialkin
26f6cfd3b2
app/vmselect/netstorage: tune the number of blocks per series which should be unpacked by a single goroutine instead of spinning up multiple goroutines
...
This reduces overhead on time series data unpacking for typical cases,
this reducing CPU usage at vmselect
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3641
2023-01-12 09:35:15 -08:00
Aliaksandr Valialkin
41b0b951f3
app/vmselect/netstorage: unpack series blocks in the current goroutine if their count doesnt exceed 100
...
This should improve performance a bit for common case
2023-01-12 01:31:38 -08:00
Aliaksandr Valialkin
d33a65e401
app/vmselect/promql: reduce memory allocations at getCommonLabelFilters() function
...
Intern tag keys and values there
2023-01-12 01:27:34 -08:00
Aliaksandr Valialkin
820357f434
app/vmselect: follow-up after 820312a2b1
...
- Move the feature description at the correct place at docs/CHANGELOG.md
- Run `make vmui-update`
- Various cosmetic fixes
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3322
2023-01-11 23:37:51 -08:00
Dmytro Kozlov
f2862f088b
app/vmui: define custom path for dashboards json file ( #3545 )
...
* app/vmui: define custom path for dashboards json file
* app/vmui: remove unneeded code
* app/vmui: move handler to own file, fix show dashboards,
* app/vmui: move flag to handler, add flag description
* app/vmauth: fix part of the comments
* feat: add store for dashboards
* fix: prevent fetch dashboards for app mode
* app/vmauth: use simple cache for predefined dashboards
* app/vmauth: update dashboards doc
* app/vmauth: fix ci
* app/vmui: decrease timeout
* app/vmselect: removed cache, fix comments
* app/vmselect: remove unused const
* app/vmselect: fix error log, use slice byte instead of struct
Co-authored-by: Yury Moladau <yurymolodov@gmail.com>
2023-01-11 23:33:30 -08:00
Dmytro Kozlov
99fbb2948b
app/vmctl: add remote read protocol integration tests ( #3626 )
2023-01-11 23:03:17 -08:00
Yury Molodov
4295ca2ce2
vmui: small changes on explore metrics page ( #3634 )
...
* fix: change issue link
* fix: remove legend toggle
* fix: move select graph size
* feat: save url params on explore metrics page
* wip
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-11 22:17:06 -08:00
Artem Navoiev
e91814e332
vmagent: add minimal scrape file exampe for vmagent quick start ( #3627 )
...
* vmagent: add minimal scrape file exampe for vmagent quick start
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
* replace example with link to your prometheus.yml in docker
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
2023-01-11 01:23:07 -08:00
Aliaksandr Valialkin
f7130d571d
app/vmselect: improve logging when the incoming query cannot be executed because of timeout in the wait queue
2023-01-11 01:12:25 -08:00
Aliaksandr Valialkin
675e0fa0ee
app/vmselect/promql: typo fix after 0771d57860
2023-01-11 01:06:18 -08:00
Aliaksandr Valialkin
3d22532bb8
app/vmselect/promql: make a copy of per-series timestamps before their modification
...
The per-series timestamps are usually shared among series, so it is unsafe modifying them.
The issue has been appeared after the optimization at 2f3ddd4884
2023-01-11 00:59:02 -08:00
Aliaksandr Valialkin
8a35377cf3
app/vmselect/promql: move the eval function args in parallel
query trace outside the loop
2023-01-10 22:23:43 -08:00
Aliaksandr Valialkin
6d1bd761f8
deployment/docker: update Go builder from v1.19.4 to v1.19.5
...
See https://github.com/golang/go/issues?q=milestone%3AGo1.19.5+label%3ACherryPickApproved
2023-01-10 18:42:34 -08:00
Aliaksandr Valialkin
ee73c9a5e6
deployment/docker: update Alpine base image from v3.17.0 to v3.17.1
...
See https://alpinelinux.org/posts/Alpine-3.17.1-released.html
2023-01-10 16:15:06 -08:00
Aliaksandr Valialkin
aa027529eb
lib/httpserver: directly pass flag value to CheckAuthFlag()
...
There is no sense in passing a pointer to flag value there.
This is a follow-up for 4225a0bd75
2023-01-10 15:59:55 -08:00
Zakhar Bessarab
10f314cdbd
Use httpAuth.*
flags as a fallback for endpoints protected by *AuthKey
flags ( #3582 )
...
* {lib/server, app/}: use `httpAuth.*` flag as fallback for `*AuthKey` if it is not set
* lib/ingestserver/opentsdbhttp: fix opentdb HTTP handler not respecting `httpAuth.*` flags
* Apply suggestions from code review
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-01-10 15:57:55 -08:00
Aliaksandr Valialkin
98931449c1
app/vmselect/netstorage: reduce tail latency during query processing
...
Previously the selected time series were split evenly among available CPU cores
for further processing - e.g unpacking the data and applying the given rollup
function to the unpacked data.
Some time series could be processed slower than others.
This could result in uneven work distribution among available CPU cores,
e.g. some CPU cores could complete their work sooner than others.
This could slow down query execution.
The new algorithm allows stealing time series to process from other CPU cores
when all the local work is done. This should reduce the maximum time
needed for query execution (aka tail latency).
The new algorithm should also scale better on systems with many CPU cores,
since every CPU processes locally assigned time series without inter-CPU communications.
The inter-CPU communications are used only when all the local work is finished
and the pending work from other CPUs needs to be stealed.
2023-01-10 13:42:26 -08:00
Aliaksandr Valialkin
158a280822
app/vmselect/netstorage: reduce memory allocations when unpacking time series
...
Unpack time series with less than 4M samples in the currently running goroutine.
Previously a new goroutine was being started for unpacking the samples.
This was requiring additional memory allocations.
2023-01-09 23:17:34 -08:00
Aliaksandr Valialkin
c8bd3534cb
app/vmselect/promql: eliminate memory allocation when sorting values inside float64s
2023-01-09 23:06:57 -08:00
Aliaksandr Valialkin
7956b0d974
app/vmselect/promql: pre-allocate memory for values to be merged in mergeTimeseries()
...
This should reduce the number of memory re-allocations
2023-01-09 22:52:19 -08:00
Aliaksandr Valialkin
895d5d9d22
app/vmselect/promql: consistently intern series names obtained from marshalMetricNameSorted
...
This reduces memory allocations when the returned series names are used as map keys later
2023-01-09 22:46:30 -08:00
Aliaksandr Valialkin
12e2bcdf81
app/vmselect/promql: avoid memory allocations and copying from source timeseries to the returned result at timeseriesToResult()
2023-01-09 22:39:15 -08:00
Aliaksandr Valialkin
dd92e2050f
app/vmselect/promql: remove memory allocations from sortMetricTags()
2023-01-09 22:22:58 -08:00
Aliaksandr Valialkin
8050f5a18c
app/vmselect/promql: intern output series names inside timeseriesToResult()
...
This reduces the number of memory allocations for repeated queries,
which return (almost) the same set of time series.
2023-01-09 22:20:34 -08:00
Aliaksandr Valialkin
efb3c630fe
app/vmselect/promql: intern output series names during normal aggregation
2023-01-09 22:15:31 -08:00