Aliaksandr Valialkin
5fa9525498
lib/storage: verify that timestamps in block are in the range specified by blockHeader.{Min,Max}Timestamp when upacking the block
...
This should reduce chances of unnoticed on-disk data corruption.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2998
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3011
This change modifies the format for data exported via /api/v1/export/native -
now this data contains MaxTimestamp and PrecisionBits fields from blockHeader.
This is OK, since the native export format is undocumented.
2022-09-06 13:08:09 +03:00
Zakhar Bessarab
c5261d5f56
vmctl: implement support of chunking data for vm-native export ( #3044 )
...
vmctl: implement support of chunking data for vm-native export process
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2733
2022-09-06 09:09:34 +02:00
Craig Rodrigues
462fc7b394
docs: Clarify DataDog examples for VictoriaMetrics cluster ( #3048 )
...
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-09-05 16:25:05 +02:00
Yurii Kravets
7b04112352
docs: Update keyConcepts ( #3040 )
...
docs: update keyConcepts
Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
2022-09-05 13:59:28 +02:00
Aliaksandr Valialkin
ae31b2363f
app/vmselect/prometheus: follow-up after 50e2524bc2
...
- Add getCommonParamsWithDefaultDuration function and use it at /api/v1/series, /api/v1/labels and /api/v1/label/.../values
- Document the default behaviour for setting 5 minutes time range if start arg isn't passed to /api/v1/series, /api/v1/labels and /api/v1/label/.../values
- Document the change at docs/CHANGELOG.md
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3052
2022-09-05 11:55:48 +03:00
匠心零度
50e2524bc2
api prometheus/api/v1/label/../values time not specified, ( #3052 )
...
modify default start values
2022-09-05 11:52:19 +03:00
Aliaksandr Valialkin
7dc632719d
app/vmselect/promql: consistently calculate rate_over_sum(m[d])
as sum_over_time(m[d])/d
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3045
2022-09-02 23:18:04 +03:00
Aliaksandr Valialkin
2d4619c9a0
Makefile: properly push public tags
2022-09-02 22:42:13 +03:00
Aliaksandr Valialkin
ac98ecdc1d
docs/CHANGELOG.md: cut v1.81.1
2022-09-02 21:58:28 +03:00
Aliaksandr Valialkin
298b3c7f45
Makefile: push v1.xx.y and v1.xx.y-cluster tags to github before creating the v1.xx.y release at github
...
Otherwise Github creates the v1.xx.y tag on itself when creating the release
2022-09-02 21:48:07 +03:00
Aliaksandr Valialkin
9a1ede0977
vendor: make vendor-update
2022-09-02 21:42:41 +03:00
Aliaksandr Valialkin
08538ff82a
app/vmselect/netstorage: fix potential panic under high load
...
The panic may trigger during data blocks' processing received
from vmstorage nodes when some of vmstorage nodes return an error
or when `-replicationFactor` is set to values higher than 2 at `vmselect`.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3058
2022-09-02 21:38:27 +03:00
Aliaksandr Valialkin
4076277cf0
app/vmselect/promql: evaluate union()
args in parallel in order to increase query performance
...
Note that the parallel execution of `union()` args may take more memory and CPU time
than the sequential execution if args contain heavy queries, which may load all the available CPU,
disk and memory resources and vmselect and vmstorage levels.
2022-09-02 19:46:27 +03:00
Aliaksandr Valialkin
f9d4ade35a
docs/Articles.md: add a link to https://aatarasoff.medium.com/optimizing-linkerd-metrics-in-prometheus-de607ec10f6b
2022-08-31 05:03:22 +03:00
Aliaksandr Valialkin
b26de84b4a
docs/FAQ.md: mention that single-node vm is easier to setup and operate than the cluster version of vm
2022-08-31 05:02:15 +03:00
Aliaksandr Valialkin
6b0050a028
docs/CHANGELOG.md: cut v1.81.0
2022-08-31 02:33:23 +03:00
Max Golionko
c685afebb2
simplify release process ( #3012 )
...
* simplify release process
* address comments
* address comments
* wip
* wip
* wip
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-08-31 02:27:24 +03:00
Aliaksandr Valialkin
6c5d5bc7e6
docs/CHANGELOG.md: add missing link to vmagent
2022-08-31 02:21:44 +03:00
Aliaksandr Valialkin
c84e6429a0
docs/CHANGELOG.md: document v1.79.3 LTS release
2022-08-31 00:22:31 +03:00
Aliaksandr Valialkin
022bb62fa1
docs: clarify why cluster version is recommended to use for serving high loads
2022-08-31 00:22:30 +03:00
Craig Rodrigues
a54d7c24ff
docs: Add DataDog to list of ingestion methods ( #3047 )
...
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-08-31 00:21:53 +03:00
Craig Rodrigues
e68a97f8d4
docs: add https://github.com/VictoriaMetrics/ansible-playbooks to README.md ( #3046 )
...
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
Co-authored-by: Roman Khavronenko <hagen1778@gmail.com>
2022-08-30 20:52:24 +02:00
Aliaksandr Valialkin
bcdba8be18
docs/FAQ.md: add chapters explaining main differences between single-node and cluster versions of VictoriaMetrics
...
- Which type of VictoriaMetrics is better to use in production?
- How to migrate data from single-node VictoriaMetrics to cluster?
2022-08-30 13:12:03 +03:00
匠心零度
6d81584d2a
reduce unnecessary vmstorage query ( #3031 )
...
* reduce unnecessary vmstorage query
* reduce unnecessary vmstorage query
* rollback limit logic /api/v1/label/*
2022-08-30 12:36:54 +03:00
Artem Navoiev
5d4b1bc742
update multi-region guide, specify multi-level vmselect option ( #3039 )
...
* update multi-region guide, specify multi-level vmselect option
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
* add more references
* Apply suggestions from code review
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-08-30 12:26:23 +03:00
Denys Holius
eb9098ce12
snap/snapcraft.yml: yet one fix for broken links
2022-08-30 11:17:47 +03:00
Denys Holius
7d8a2c0481
snap/snapcraft.yml: fixed broken link
2022-08-30 11:17:47 +03:00
Denys Holius
3d6ae60d58
04-install-victoriametrics.sh: update download link for tar.gz
...
see Update note 5 at https://docs.victoriametrics.com/CHANGELOG.html#v1790
2022-08-30 11:16:59 +03:00
Denys Holius
9878a93428
RELEASE_GUIDE.md: updated the document considering the fixes
2022-08-30 11:16:59 +03:00
Denys Holius
9a90da4545
remove not needed template.json
2022-08-30 11:16:59 +03:00
Denys Holius
cb26de726e
template.pkr.hcl: fix wrong variable name
2022-08-30 11:16:59 +03:00
Aliaksandr Valialkin
1eec2460ba
docs: fix links to DogStatsD
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3042
2022-08-30 10:49:26 +03:00
Aliaksandr Valialkin
6ba93bf2dc
vendor: make vendor-update
2022-08-30 09:45:26 +03:00
Aliaksandr Valialkin
d2e94ee91a
docs/CHANGELOG.md: document the 044d51b668
2022-08-30 09:42:19 +03:00
Denys Holius
044d51b668
deployment/docker/Makefile: bump version of Alpine linux to latest 3.16.2 to fix CVE-2022-37434 ( #3035 )
...
see https://alpinelinux.org/posts/Alpine-3.13.12-3.14.8-3.15.6-3.16.2-released.html
2022-08-29 17:29:16 +02:00
Bryce Lampe
74f8e12e87
Support "HTTP" and "HTTPS" schemes ( #3019 )
...
* Support "HTTP" and "HTTPS" schemes
* Update lib/promscrape/config.go
Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
2022-08-27 02:22:37 +03:00
Aliaksandr Valialkin
ad11b8d83d
app/vmselect/promql: follow-up after 2d71b4859c
...
- Use getScalar() function for obtaining the expected scalar from phi arg
- Reduce the error message returned to the user when incorrect phi is passed to histogram_quantiles
- Improve the description of this bugfix in the docs/CHANGELOG.md
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3026
2022-08-27 01:35:49 +03:00
Dmytro Kozlov
2d71b4859c
vmselect/promql: fix panic in histogram_quantiles function ( #3029 )
...
* vmselect/promql: fix panic in histogram_quantiles function
* Update docs/MetricsQL.md
Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
2022-08-27 01:33:56 +03:00
Aliaksandr Valialkin
30b8d91727
lib/promscrape/discoveryutils: always store just allocated string to sanitized label names cache
...
This is a follow-up for c06e7a142c
2022-08-27 00:28:39 +03:00
Aliaksandr Valialkin
c06e7a142c
lib/promscrape: optimize discoveryutils.SanitizeLabelName()
...
Cache sanitized label names and return them next time.
This reduces the number of allocations and speeds up the SanitizeLabelName()
function for common case when the number of unique label names is smaller than 100k
2022-08-27 00:17:45 +03:00
Aliaksandr Valialkin
a2cd79576f
lib/promrelabel: call PromRegex.MatchString() on a slow path only if it contains non-empty literal prefix
...
This should improve slow path speed for regexps without literal prefixes
2022-08-26 21:48:30 +03:00
Zakhar Bessarab
30fb4b948e
vmctl: fix progress bar not being stopped on error during import process ( #3023 )
...
vmctl: fix progress bar not being stopped on error during import process
2022-08-26 18:20:27 +02:00
Aliaksandr Valialkin
f49c9bb700
lib/promrelabel: optimize common regex mismatch cases for action: replace
and action: labelmap
2022-08-26 15:45:31 +03:00
Aliaksandr Valialkin
4c6916f32a
lib/promrelabel: use regexutil.PromRegex for regex matching in actions labeldrop
,labelkeep
,drop
and keep
...
This makes possible optimizing additional cases inside regexutil.PromRegex
2022-08-26 15:23:45 +03:00
Aliaksandr Valialkin
7afe8450fc
lib/promrelabel: optimize matching for commonly used regex patterns in if
option
...
The following regex patterns are optimized:
- literal string match, e.g. "foo"
- prefix match, e.g. "foo.*" and "foo.+"
- substring match, e.g. ".*foo.*" and ".+foo.+"
- alternate values match, e.g. "foo|bar|baz"
2022-08-26 14:53:06 +03:00
Aliaksandr Valialkin
0ad3bbadd3
lib/regexutil: add Simplify() function for simplifying the regular expression
2022-08-26 11:57:12 +03:00
Aliaksandr Valialkin
b373661988
lib/promrelabel: optimize action: {drop,keep,labeldrop,labelkeep}
with anchored regex
prefix
...
The following commonly used relabeling rules must work faster now:
- action: labeldrop
regex: "^foo.+$"
- action: labeldrop
regex: "^bar.*"
2022-08-25 23:23:55 +03:00
Aliaksandr Valialkin
0d4ea03a73
lib/promrelabel: optimize action: {labeldrop,labelkeep,keep,drop}
with regex
containing alternate values
...
For example, the following relabeling rule must work much faster now:
- action: labeldrop
regex: "foo|bar|baz"
2022-08-24 17:54:29 +03:00
Aliaksandr Valialkin
0d46e24af5
lib/storage: increase the maximum possible or
values extracted from regexp from 20 to 100
...
This should improve time series search speed for regexp filters with big number of `or` values.
2022-08-24 17:15:25 +03:00
Aliaksandr Valialkin
fdbf5b5795
lib/storage: ignore start text
and end text
anchors in getOrValues(regexp) function
...
This is OK, since the anchors are implicitly applied to the whole regexp.
This optimization should improve the speed for regexp series filters with explicit $ and ^ anchors.
For example, `{label="^(foo|bar)$"}`
2022-08-24 17:12:52 +03:00