SlideShare a Scribd company logo
© 2022 VictoriaMetrics
VictoriaMetrics 2022:
new features
MetricsQL features
https://docs.victoriametrics.com/MetricsQL.html
MetricsQL: support for @ modifier
● m @ timestamp - returns m value at the given timestamp
● m @ end() - returns m value at the end of the selected time range
● m @ (start() + 1h) - returns m value a hour after the beginning of the graph
● sum(foo) @ end() - returns sum(foo) at the end of the selected time range
● The last two features aren’t available in Prometheus yet
MetricsQL: keep_metric_names modifier
● rate({__name__=~”http_(requests|errors)_total”}) keep_metric_names - returns series with
http_requests_total and http_errors_total names
● Prometheus returns vector cannot contain metrics with the same labelset error :(
● keep_metric_names modifier works with any MetricsQL function!
MetricsQL: advanced label filters’ propagation
rate(http_requests_total{job=”a”}) + rate(http_errors_total)
is automatically optimized to:
rate(http_requests_total{job=”a”}) + rate(http_errors_total{job=”a”})
foo{instance=”a”,status=”success”} / on(instance) sum(foo) by (instance)
is automatically optimized to:
foo{instance=”a”,status=”success”} / on(instance) sum(foo{instance=”a”}) by (instance)
See https://utcc.utoronto.ca/~cks/space/blog/sysadmin/PrometheusLabelNonOptimization
MetricsQL: automatic label filters’ propagation
q * on(instance) group_left(host) node_info
is automatically optimized to:
q * on(instance) group_left(host) node_info{instance=~”h1|...|hN”}
Where h1, …, hN - unique instance labels returned by q.
MetricsQL: support for short numeric constants
● 10KB is automatically expanded to 10000
● 20MiB is automatically expanded to 20*1024*1024
● 1.2G is automatically expanded to 1.2*1000*1000*1000
Examples:
● rate(network_bytes_sent_total) / 1MB - network transfer rate in MBytes/sec
● process_resident_memory_bytes / 1GiB - memory usage in GiBytes
This is a good addition for already supported duration constants:
● sum_over_time(scrape_samples_scraped[1h]) / 1h - average samples’ scrape rate
over the last hour
MetricsQL: distributed query tracing!
● An analogue of EXPLAIN ANALYZE from SQL
● Helps determining why the query is slow
● Helps optimizing slow queries
● Helps with query debugging
● https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#query-traci
ng
MetricsQL: distributed query tracing!
MetricsQL: new functions
● drop_common_labels(q) - drops common label=value pairs from q results
● tlast_change_over_time(m[d]) - returns the timestamp of the last change for m over the
duration d
● sort_by_label_numeric(q, “label”) and sort_by_label_numeric_desc(q, “label”) - sorts
time series q by the given label using numeric sort
● range_normalize(q) - normalizes every time series returned by q into the range [0 … 1]
● range_linear_regression(q) - linear regression per each time series returned by q. Can
be used for simple predictions
● range_stddev(q) and range_stdvar(q) - returns standard deviation and variance per each
time series returned by q
● range_trim_spikes(phi, q) - trims phi (0…1) percent of the biggest spikes/drops from
every series returned by q
vmui features
vmui: cardinality explorer!
● Helps determining the source of high cardinality
● Helps determining the source of high churn rate
● https://docs.victoriametrics.com/#cardinality-explorer
vmui: cardinality explorer!
vmui: top queries
● Helps determining slowest queries
● Helps determining the most frequently executed queries
vmui: top queries
vmui: significantly improved usability and stability!
vmagent features
vmagent: fetch target response on behalf of vmagent
vmagent: filter targets by url and labels
vmagent: /service-discovery page
● Helps understanding why the discovered target has been deleted
● Helps understanding why the discovered target has the given set of labels
vmagent: relabel debugging!
vmagent: support for absolute __address__
vmagent: new service discovery mechanisms
● azure_sd_configs - Azure service discovery
● yandexcloud_sd_configs - Yandex cloud service discovery
● https://docs.victoriametrics.com/sd_configs.html - docs for supported service
discovery mechanisms
vmagent: multi-tenant support
● Allow specifying the destination tenant via __tenant_id__ label
● Allow writing multi-tenant data to a single multi-tenant url at vminsert
● https://docs.victoriametrics.com/vmagent.html#multitenancy
vmagent: performance improvements
● Optimized CPU and memory usage when discovering and scraping big number of
targets
● Optimized performance for relabeling rules with non-trivial regular expressions
relabeling features
relabeling: conditional relabeling
- if: ‘{env=~”dev|staging”,team=”qa”}’
action: drop
● Executes the relabeling action only on successful “if” label selector match
● Can be applied to any relabeling action
relabeling: named label placeholders
The replacement field may contain named placeholders for any existing labels
relabeling: Graphite-style relabeling
● Easier and faster approach for transforming Graphite metric names into Prometheus
metrics
● https://docs.victoriametrics.com/vmagent.html#graphite-relabeling
vmalert features
vmalert: better integration with Grafana alerts
● Single-node VictoriaMetrics and vmselect allow proxying Grafana requests to
vmalert if -vmalert.proxyURL command-line option is set
● This allows investigating vmalert alerting configs via Grafana UI
vmalert: reusable templates for annotations
● https://docs.victoriametrics.com/vmalert.html#reusable-templates
vmalert: debugging of alerting rules
vmalert: improved compatibility with Prometheus
● Add missing template functions, which are provided by Prometheus -
https://docs.victoriametrics.com/vmalert.html#template-functions
● Improved compatibility with Prometheus Alert Generator Specification -
https://github.com/prometheus/compliance/blob/main/alert_generator/specific
ation.md
vmctl features
vmctl: migrate all the data between clusters
● vmctl can automatically discover and migrate data for all the tenants from one
VictoriaMetrics cluster to another one -
https://docs.victoriametrics.com/vmctl.html#cluster-to-cluster-migration-mode
vmctl: data migration via Prometheus remote_read protocol
● This allows migrating data from systems with Prometheus remote_read protocol
support - Prometheus, Thanos, Cortex and Mimir
● https://docs.victoriametrics.com/vmctl.html#migrating-data-by-remote-read-pr
otocol
Enterprise features
Enterprise: mTLS support
● mTLS can be set up for communicating between cluster components of
VictoriaMetrics - see
https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection
Enterprise: vmgateway JWT token enhancements
● Add ability to read JWT token from any HTTP header
● Add ability to verify JWT token signature -
https://docs.victoriametrics.com/vmgateway.html#jwt-signature-verification
Enterprise: automatic restore from backups
● Add support for automatic restore from backups by vmbackupmanager -
https://docs.victoriametrics.com/vmbackupmanager.html#how-to-restore-back
up-via-cli
Enterprise: automatic vmstorage discovery
● Automatic vmstorage nodes’ discovery at vminsert and vmselect via dns+srv, http
and files -
https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#automatic-vmsto
rage-discovery
Examples:
● -storageNode=dns+srv:vmstorage-hosts-for-vmselect
● -storageNode=file:/path/to/file/with-vmstorage-nodes
● -storageNode=file:http://config-host/vmstorage-nodes
Enterprise: multiple retentions
● Support for multiple retentions (per tenant or per arbitrary set of metrics) -
https://docs.victoriametrics.com/#retention-filters and
https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters
The following config sets retention to 1 day for tenants with accountID
starting from ‘42', then sets retention to 3 days for time series with label
env="dev" or env="prod" from any tenant, while the rest of tenants
will have 4 weeks retention:
-retentionFilter='{vm_account_id=~"42.*"}:1d'
-retentionFilter='{env=~"dev|staging"}:3d'
-retentionPeriod=4w
various enhancements
Environment vars can be referred in command-line flags
-someFlag=%{ENV_VAR} => -someFlag=some_value if ENV_VAR=some_value
This works in any shell (and without shell, e.g. inside scratch Docker image)!
Use cases:
● Passing secrets via command-line flags: -metricsAuthKey=%{TOP_SECRET_KEY}
● Explicit configuration by specifying the needed command-line flags and referring
the exact env vars in these flags (easier to debug than implicit config via env vars)
https://docs.victoriametrics.com/#environment-variables
Performance improvements
● /api/v1/labels, /api/v1/label/…/values and /api/v1/series work faster
● /api/v1/export/… and /federate work faster
● Improved query performance when replication is enabled
● Improved query performance on hosts with many CPU cores
Deduplication and downsampling improvements
● Leave the last sample instead of the first sample on the discrete dedup interval.
This aligns better with Prometheus data model
● Leave the sample with the biggest value out of multiple samples with the same
timestamp
Support for metrics push
All the VictoriaMetrics components support automatic metrics push to the configured
remote storage via -pushmetrics.url command-line flag -
https://docs.victoriametrics.com/#push-metrics
Use case: to collect metrics from restricted environments where external scrape isn’t
possible
Support for Pushgateway data ingestion format
VictoriaMetrics and vmagent can be used as a drop-in Pushgateway replacement
https://docs.victoriametrics.com/#how-to-import-data-in-prometheus-exposition-for
mat
VictoriaMetrics cluster: multitenancy enhancements
● Add ability to pass accountID and projectID via labels -
https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multitenancy-via
-labels
vmbackup / vmrestore: Azure blob storage
● Add ability to make backups to Azure blob storage
● https://docs.victoriametrics.com/vmbackup.html
Official MacOS builds
● VictoriaMetrics releases now contain MacOS builds for amd64 and arm64
architectures
Official FreeBSD and OpenBSD builds
● The builds are published at
https://github.com/VictoriaMetrics/VictoriaMetrics/releases
Raspberry PI optimizations
● Improved performance for arm64
● Allow controlling the frequency of data write to disk via
-inmemoryDataFlushInterval command-line flag - prolongs life for low-end SD
cards
LTS release
● v1.79.x is a line of long-term support releases
● LTS line contains only bugfixes without new features
● Major LTS releases are supported for 12 months
● Major LTS releases are created every 6 months
The full list of new features
● The full list of new features is available at
https://docs.victoriametrics.com/CHANGELOG.html
Questions?

More Related Content

What's hot

ClickHouse Keeper
ClickHouse KeeperClickHouse Keeper
ClickHouse Keeper
Altinity Ltd
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
Weaveworks
 
Flink Batch Processing and Iterations
Flink Batch Processing and IterationsFlink Batch Processing and Iterations
Flink Batch Processing and Iterations
Sameer Wadkar
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
Kernel TLV
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Mydbops
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
Netronome
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Thomas Graf
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
SUSE Labs Taipei
 
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem NavoievDevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
Mykola Marzhan
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
Saju Madhavan
 
How Prometheus Store the Data
How Prometheus Store the DataHow Prometheus Store the Data
How Prometheus Store the Data
Hao Chen
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
SANG WON PARK
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph Community
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
Emertxe Information Technologies Pvt Ltd
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
Altinity Ltd
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
Stefano Stabellini
 
BWE in Janus
BWE in JanusBWE in Janus
BWE in Janus
Lorenzo Miniero
 
Proxmox Clustering with CEPH
Proxmox Clustering with CEPHProxmox Clustering with CEPH
Proxmox Clustering with CEPH
FahadIbrar5
 

What's hot (20)

ClickHouse Keeper
ClickHouse KeeperClickHouse Keeper
ClickHouse Keeper
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
 
Flink Batch Processing and Iterations
Flink Batch Processing and IterationsFlink Batch Processing and Iterations
Flink Batch Processing and Iterations
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDPDockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem NavoievDevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
 
How Prometheus Store the Data
How Prometheus Store the DataHow Prometheus Store the Data
How Prometheus Store the Data
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
BWE in Janus
BWE in JanusBWE in Janus
BWE in Janus
 
Proxmox Clustering with CEPH
Proxmox Clustering with CEPHProxmox Clustering with CEPH
Proxmox Clustering with CEPH
 

Similar to VictoriaMetrics 15/12 Meet Up: 2022 Features Highlights

The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210
Mahmoud Samir Fayed
 
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
T.Rob Wyatt
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
Vadym Khondar
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
Arvind Kumar G.S
 
Data mining with caret package
Data mining with caret packageData mining with caret package
Data mining with caret package
Vivian S. Zhang
 
Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!
HostedbyConfluent
 
R console
R consoleR console
R console
Ananth Raj
 
Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesMalik Tauqir Hasan
 
The Ring programming language version 1.5.4 book - Part 8 of 185
The Ring programming language version 1.5.4 book - Part 8 of 185The Ring programming language version 1.5.4 book - Part 8 of 185
The Ring programming language version 1.5.4 book - Part 8 of 185
Mahmoud Samir Fayed
 
Shooting the Rapids
Shooting the RapidsShooting the Rapids
Shooting the Rapids
Maurice Naftalin
 
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
InfluxData
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
Docker, Inc.
 
Profiling ruby
Profiling rubyProfiling ruby
Profiling rubynasirj
 
The Ring programming language version 1.4 book - Part 19 of 30
The Ring programming language version 1.4 book - Part 19 of 30The Ring programming language version 1.4 book - Part 19 of 30
The Ring programming language version 1.4 book - Part 19 of 30
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 8 of 184
The Ring programming language version 1.5.3 book - Part 8 of 184The Ring programming language version 1.5.3 book - Part 8 of 184
The Ring programming language version 1.5.3 book - Part 8 of 184
Mahmoud Samir Fayed
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
VictoriaMetrics
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuning
AOE
 
The Ring programming language version 1.5.1 book - Part 7 of 180
The Ring programming language version 1.5.1 book - Part 7 of 180The Ring programming language version 1.5.1 book - Part 7 of 180
The Ring programming language version 1.5.1 book - Part 7 of 180
Mahmoud Samir Fayed
 
Angular JS deep dive
Angular JS deep diveAngular JS deep dive
Angular JS deep dive
Axilis
 

Similar to VictoriaMetrics 15/12 Meet Up: 2022 Features Highlights (20)

The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210
 
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
WMQ Toolbox: 20 Scripts, One-liners, & Utilities for UNIX & Windows
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
angular2.0
angular2.0angular2.0
angular2.0
 
Data mining with caret package
Data mining with caret packageData mining with caret package
Data mining with caret package
 
Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!
 
R console
R consoleR console
R console
 
Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directives
 
The Ring programming language version 1.5.4 book - Part 8 of 185
The Ring programming language version 1.5.4 book - Part 8 of 185The Ring programming language version 1.5.4 book - Part 8 of 185
The Ring programming language version 1.5.4 book - Part 8 of 185
 
Shooting the Rapids
Shooting the RapidsShooting the Rapids
Shooting the Rapids
 
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
Anais Dotis-Georgiou & Faith Chikwekwe [InfluxData] | Top 10 Hurdles for Flux...
 
Container orchestration from theory to practice
Container orchestration from theory to practiceContainer orchestration from theory to practice
Container orchestration from theory to practice
 
Profiling ruby
Profiling rubyProfiling ruby
Profiling ruby
 
The Ring programming language version 1.4 book - Part 19 of 30
The Ring programming language version 1.4 book - Part 19 of 30The Ring programming language version 1.4 book - Part 19 of 30
The Ring programming language version 1.4 book - Part 19 of 30
 
The Ring programming language version 1.5.3 book - Part 8 of 184
The Ring programming language version 1.5.3 book - Part 8 of 184The Ring programming language version 1.5.3 book - Part 8 of 184
The Ring programming language version 1.5.3 book - Part 8 of 184
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuning
 
The Ring programming language version 1.5.1 book - Part 7 of 180
The Ring programming language version 1.5.1 book - Part 7 of 180The Ring programming language version 1.5.1 book - Part 7 of 180
The Ring programming language version 1.5.1 book - Part 7 of 180
 
Angular JS deep dive
Angular JS deep diveAngular JS deep dive
Angular JS deep dive
 

More from VictoriaMetrics

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics
 
VictoriaMetrics December 2023 Meetup: Community Update
VictoriaMetrics December 2023 Meetup: Community UpdateVictoriaMetrics December 2023 Meetup: Community Update
VictoriaMetrics December 2023 Meetup: Community Update
VictoriaMetrics
 
VictoriaMetrics for the Atlas Cluster
VictoriaMetrics for the Atlas ClusterVictoriaMetrics for the Atlas Cluster
VictoriaMetrics for the Atlas Cluster
VictoriaMetrics
 
WEDOS & VictoriaMetrics
WEDOS & VictoriaMetricsWEDOS & VictoriaMetrics
WEDOS & VictoriaMetrics
VictoriaMetrics
 
VictoriaMetrics December 2023 Meetup: Anomaly Detection
VictoriaMetrics December 2023 Meetup: Anomaly DetectionVictoriaMetrics December 2023 Meetup: Anomaly Detection
VictoriaMetrics December 2023 Meetup: Anomaly Detection
VictoriaMetrics
 
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics UpdateVictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
VictoriaMetrics
 
December 2024 Meetup: Welcome & VictoriaMetrics Updates
December 2024 Meetup: Welcome & VictoriaMetrics UpdatesDecember 2024 Meetup: Welcome & VictoriaMetrics Updates
December 2024 Meetup: Welcome & VictoriaMetrics Updates
VictoriaMetrics
 
What’s new in VictoriaLogs (Q3 2023)
What’s new in VictoriaLogs (Q3 2023)What’s new in VictoriaLogs (Q3 2023)
What’s new in VictoriaLogs (Q3 2023)
VictoriaMetrics
 
Q3 Meet Up '23 - Community Update
Q3 Meet Up '23 - Community UpdateQ3 Meet Up '23 - Community Update
Q3 Meet Up '23 - Community Update
VictoriaMetrics
 
Managed VictoriaMetrics: Intro & Update
Managed VictoriaMetrics: Intro & UpdateManaged VictoriaMetrics: Intro & Update
Managed VictoriaMetrics: Intro & Update
VictoriaMetrics
 
VM Anomaly Detection: Introduction
VM Anomaly Detection: IntroductionVM Anomaly Detection: Introduction
VM Anomaly Detection: Introduction
VictoriaMetrics
 
Q3 2023 Meet Up: What's New in VictoriaMetrics
Q3 2023 Meet Up: What's New in VictoriaMetricsQ3 2023 Meet Up: What's New in VictoriaMetrics
Q3 2023 Meet Up: What's New in VictoriaMetrics
VictoriaMetrics
 
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetricsVictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
VictoriaMetrics
 

More from VictoriaMetrics (15)

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
VictoriaMetrics December 2023 Meetup: Community Update
VictoriaMetrics December 2023 Meetup: Community UpdateVictoriaMetrics December 2023 Meetup: Community Update
VictoriaMetrics December 2023 Meetup: Community Update
 
VictoriaMetrics for the Atlas Cluster
VictoriaMetrics for the Atlas ClusterVictoriaMetrics for the Atlas Cluster
VictoriaMetrics for the Atlas Cluster
 
WEDOS & VictoriaMetrics
WEDOS & VictoriaMetricsWEDOS & VictoriaMetrics
WEDOS & VictoriaMetrics
 
VictoriaMetrics December 2023 Meetup: Anomaly Detection
VictoriaMetrics December 2023 Meetup: Anomaly DetectionVictoriaMetrics December 2023 Meetup: Anomaly Detection
VictoriaMetrics December 2023 Meetup: Anomaly Detection
 
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics UpdateVictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
VictoriaMetrics December 2023 Meetup: Managed VictoriaMetrics Update
 
December 2024 Meetup: Welcome & VictoriaMetrics Updates
December 2024 Meetup: Welcome & VictoriaMetrics UpdatesDecember 2024 Meetup: Welcome & VictoriaMetrics Updates
December 2024 Meetup: Welcome & VictoriaMetrics Updates
 
What’s new in VictoriaLogs (Q3 2023)
What’s new in VictoriaLogs (Q3 2023)What’s new in VictoriaLogs (Q3 2023)
What’s new in VictoriaLogs (Q3 2023)
 
Q3 Meet Up '23 - Community Update
Q3 Meet Up '23 - Community UpdateQ3 Meet Up '23 - Community Update
Q3 Meet Up '23 - Community Update
 
Managed VictoriaMetrics: Intro & Update
Managed VictoriaMetrics: Intro & UpdateManaged VictoriaMetrics: Intro & Update
Managed VictoriaMetrics: Intro & Update
 
VM Anomaly Detection: Introduction
VM Anomaly Detection: IntroductionVM Anomaly Detection: Introduction
VM Anomaly Detection: Introduction
 
Q3 2023 Meet Up: What's New in VictoriaMetrics
Q3 2023 Meet Up: What's New in VictoriaMetricsQ3 2023 Meet Up: What's New in VictoriaMetrics
Q3 2023 Meet Up: What's New in VictoriaMetrics
 
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetricsVictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
VictoriaMetrics 15/12 Meet Up: Updates on Managed VictoriaMetrics
 

Recently uploaded

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 

Recently uploaded (20)

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 

VictoriaMetrics 15/12 Meet Up: 2022 Features Highlights

  • 3. MetricsQL: support for @ modifier ● m @ timestamp - returns m value at the given timestamp ● m @ end() - returns m value at the end of the selected time range ● m @ (start() + 1h) - returns m value a hour after the beginning of the graph ● sum(foo) @ end() - returns sum(foo) at the end of the selected time range ● The last two features aren’t available in Prometheus yet
  • 4. MetricsQL: keep_metric_names modifier ● rate({__name__=~”http_(requests|errors)_total”}) keep_metric_names - returns series with http_requests_total and http_errors_total names ● Prometheus returns vector cannot contain metrics with the same labelset error :( ● keep_metric_names modifier works with any MetricsQL function!
  • 5. MetricsQL: advanced label filters’ propagation rate(http_requests_total{job=”a”}) + rate(http_errors_total) is automatically optimized to: rate(http_requests_total{job=”a”}) + rate(http_errors_total{job=”a”}) foo{instance=”a”,status=”success”} / on(instance) sum(foo) by (instance) is automatically optimized to: foo{instance=”a”,status=”success”} / on(instance) sum(foo{instance=”a”}) by (instance) See https://utcc.utoronto.ca/~cks/space/blog/sysadmin/PrometheusLabelNonOptimization
  • 6. MetricsQL: automatic label filters’ propagation q * on(instance) group_left(host) node_info is automatically optimized to: q * on(instance) group_left(host) node_info{instance=~”h1|...|hN”} Where h1, …, hN - unique instance labels returned by q.
  • 7. MetricsQL: support for short numeric constants ● 10KB is automatically expanded to 10000 ● 20MiB is automatically expanded to 20*1024*1024 ● 1.2G is automatically expanded to 1.2*1000*1000*1000 Examples: ● rate(network_bytes_sent_total) / 1MB - network transfer rate in MBytes/sec ● process_resident_memory_bytes / 1GiB - memory usage in GiBytes This is a good addition for already supported duration constants: ● sum_over_time(scrape_samples_scraped[1h]) / 1h - average samples’ scrape rate over the last hour
  • 8. MetricsQL: distributed query tracing! ● An analogue of EXPLAIN ANALYZE from SQL ● Helps determining why the query is slow ● Helps optimizing slow queries ● Helps with query debugging ● https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#query-traci ng
  • 10. MetricsQL: new functions ● drop_common_labels(q) - drops common label=value pairs from q results ● tlast_change_over_time(m[d]) - returns the timestamp of the last change for m over the duration d ● sort_by_label_numeric(q, “label”) and sort_by_label_numeric_desc(q, “label”) - sorts time series q by the given label using numeric sort ● range_normalize(q) - normalizes every time series returned by q into the range [0 … 1] ● range_linear_regression(q) - linear regression per each time series returned by q. Can be used for simple predictions ● range_stddev(q) and range_stdvar(q) - returns standard deviation and variance per each time series returned by q ● range_trim_spikes(phi, q) - trims phi (0…1) percent of the biggest spikes/drops from every series returned by q
  • 12. vmui: cardinality explorer! ● Helps determining the source of high cardinality ● Helps determining the source of high churn rate ● https://docs.victoriametrics.com/#cardinality-explorer
  • 14. vmui: top queries ● Helps determining slowest queries ● Helps determining the most frequently executed queries
  • 16. vmui: significantly improved usability and stability!
  • 18. vmagent: fetch target response on behalf of vmagent
  • 19. vmagent: filter targets by url and labels
  • 20. vmagent: /service-discovery page ● Helps understanding why the discovered target has been deleted ● Helps understanding why the discovered target has the given set of labels
  • 22. vmagent: support for absolute __address__
  • 23. vmagent: new service discovery mechanisms ● azure_sd_configs - Azure service discovery ● yandexcloud_sd_configs - Yandex cloud service discovery ● https://docs.victoriametrics.com/sd_configs.html - docs for supported service discovery mechanisms
  • 24. vmagent: multi-tenant support ● Allow specifying the destination tenant via __tenant_id__ label ● Allow writing multi-tenant data to a single multi-tenant url at vminsert ● https://docs.victoriametrics.com/vmagent.html#multitenancy
  • 25. vmagent: performance improvements ● Optimized CPU and memory usage when discovering and scraping big number of targets ● Optimized performance for relabeling rules with non-trivial regular expressions
  • 27. relabeling: conditional relabeling - if: ‘{env=~”dev|staging”,team=”qa”}’ action: drop ● Executes the relabeling action only on successful “if” label selector match ● Can be applied to any relabeling action
  • 28. relabeling: named label placeholders The replacement field may contain named placeholders for any existing labels
  • 29. relabeling: Graphite-style relabeling ● Easier and faster approach for transforming Graphite metric names into Prometheus metrics ● https://docs.victoriametrics.com/vmagent.html#graphite-relabeling
  • 31. vmalert: better integration with Grafana alerts ● Single-node VictoriaMetrics and vmselect allow proxying Grafana requests to vmalert if -vmalert.proxyURL command-line option is set ● This allows investigating vmalert alerting configs via Grafana UI
  • 32. vmalert: reusable templates for annotations ● https://docs.victoriametrics.com/vmalert.html#reusable-templates
  • 33. vmalert: debugging of alerting rules
  • 34. vmalert: improved compatibility with Prometheus ● Add missing template functions, which are provided by Prometheus - https://docs.victoriametrics.com/vmalert.html#template-functions ● Improved compatibility with Prometheus Alert Generator Specification - https://github.com/prometheus/compliance/blob/main/alert_generator/specific ation.md
  • 36. vmctl: migrate all the data between clusters ● vmctl can automatically discover and migrate data for all the tenants from one VictoriaMetrics cluster to another one - https://docs.victoriametrics.com/vmctl.html#cluster-to-cluster-migration-mode
  • 37. vmctl: data migration via Prometheus remote_read protocol ● This allows migrating data from systems with Prometheus remote_read protocol support - Prometheus, Thanos, Cortex and Mimir ● https://docs.victoriametrics.com/vmctl.html#migrating-data-by-remote-read-pr otocol
  • 39. Enterprise: mTLS support ● mTLS can be set up for communicating between cluster components of VictoriaMetrics - see https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#mtls-protection
  • 40. Enterprise: vmgateway JWT token enhancements ● Add ability to read JWT token from any HTTP header ● Add ability to verify JWT token signature - https://docs.victoriametrics.com/vmgateway.html#jwt-signature-verification
  • 41. Enterprise: automatic restore from backups ● Add support for automatic restore from backups by vmbackupmanager - https://docs.victoriametrics.com/vmbackupmanager.html#how-to-restore-back up-via-cli
  • 42. Enterprise: automatic vmstorage discovery ● Automatic vmstorage nodes’ discovery at vminsert and vmselect via dns+srv, http and files - https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#automatic-vmsto rage-discovery Examples: ● -storageNode=dns+srv:vmstorage-hosts-for-vmselect ● -storageNode=file:/path/to/file/with-vmstorage-nodes ● -storageNode=file:http://config-host/vmstorage-nodes
  • 43. Enterprise: multiple retentions ● Support for multiple retentions (per tenant or per arbitrary set of metrics) - https://docs.victoriametrics.com/#retention-filters and https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#retention-filters The following config sets retention to 1 day for tenants with accountID starting from ‘42', then sets retention to 3 days for time series with label env="dev" or env="prod" from any tenant, while the rest of tenants will have 4 weeks retention: -retentionFilter='{vm_account_id=~"42.*"}:1d' -retentionFilter='{env=~"dev|staging"}:3d' -retentionPeriod=4w
  • 45. Environment vars can be referred in command-line flags -someFlag=%{ENV_VAR} => -someFlag=some_value if ENV_VAR=some_value This works in any shell (and without shell, e.g. inside scratch Docker image)! Use cases: ● Passing secrets via command-line flags: -metricsAuthKey=%{TOP_SECRET_KEY} ● Explicit configuration by specifying the needed command-line flags and referring the exact env vars in these flags (easier to debug than implicit config via env vars) https://docs.victoriametrics.com/#environment-variables
  • 46. Performance improvements ● /api/v1/labels, /api/v1/label/…/values and /api/v1/series work faster ● /api/v1/export/… and /federate work faster ● Improved query performance when replication is enabled ● Improved query performance on hosts with many CPU cores
  • 47. Deduplication and downsampling improvements ● Leave the last sample instead of the first sample on the discrete dedup interval. This aligns better with Prometheus data model ● Leave the sample with the biggest value out of multiple samples with the same timestamp
  • 48. Support for metrics push All the VictoriaMetrics components support automatic metrics push to the configured remote storage via -pushmetrics.url command-line flag - https://docs.victoriametrics.com/#push-metrics Use case: to collect metrics from restricted environments where external scrape isn’t possible
  • 49. Support for Pushgateway data ingestion format VictoriaMetrics and vmagent can be used as a drop-in Pushgateway replacement https://docs.victoriametrics.com/#how-to-import-data-in-prometheus-exposition-for mat
  • 50. VictoriaMetrics cluster: multitenancy enhancements ● Add ability to pass accountID and projectID via labels - https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multitenancy-via -labels
  • 51. vmbackup / vmrestore: Azure blob storage ● Add ability to make backups to Azure blob storage ● https://docs.victoriametrics.com/vmbackup.html
  • 52. Official MacOS builds ● VictoriaMetrics releases now contain MacOS builds for amd64 and arm64 architectures
  • 53. Official FreeBSD and OpenBSD builds ● The builds are published at https://github.com/VictoriaMetrics/VictoriaMetrics/releases
  • 54. Raspberry PI optimizations ● Improved performance for arm64 ● Allow controlling the frequency of data write to disk via -inmemoryDataFlushInterval command-line flag - prolongs life for low-end SD cards
  • 55. LTS release ● v1.79.x is a line of long-term support releases ● LTS line contains only bugfixes without new features ● Major LTS releases are supported for 12 months ● Major LTS releases are created every 6 months
  • 56. The full list of new features ● The full list of new features is available at https://docs.victoriametrics.com/CHANGELOG.html