hagen1778 952ed94050 app/vmctl: support migration resume for vm-native mode
The change introduces migration state tracking via `migrationstate` sub-package.
The state is represented as file that stores json-serialized migration params as 1st line
and all subsequent lines in a form of migration units. Where each unit has the following format:
```
<tenant> <minTimestamp> <maxTimestamp> <metricName>
```

The state can be tracked only by `vm-native` mode in vmctl. This mode is implemented in a way
where it has pretty clear definition of the unit of work: tenant, metric name, time range.
It perfectly fits the state structure and allows retrying migration per-unit and tracking the
last unit that has been migrated.

The state file is append-only. Every time `vmctl vm-native` finishes a unit of work, it marks
it as done in the state file. If interrupted, vmctl can re-read the state file and compare
it with the units of work it has to perform. It can then skip units that it has completed according
to the state file.

This approach allows continuing migration if interrupted in the middle without need to modify any
migration params. It simply has to be re-started with exactly the same params and migration will continue.

Unfortunately, to make migration deterministic I had to make `--vm-native-filter-time-end` required,
so we can guarantee that scope of work doesn't change between restarts.

Addresses https://github.com/VictoriaMetrics/VictoriaMetrics/issues/11763
2026-10-27 18:23:22 +01:00
2025-06-11 13:54:16 +02:00
2026-10-09 10:13:19 +02:00
2025-06-30 17:01:05 +02:00
2024-08-29 10:35:36 +02:00
2026-10-09 10:13:19 +02:00

VictoriaMetrics

Latest Release Docker Pulls Build Status License Join Slack X Reddit

VictoriaMetrics logo

VictoriaMetrics is a fast, cost-effective, and scalable solution for monitoring and managing time series data. It delivers high performance and reliability, making it an ideal choice for businesses of all sizes.

Here are some resources and information about VictoriaMetrics:

Yes, we open-source both the single-node VictoriaMetrics and the cluster version.

Prominent features

VictoriaMetrics is optimized for timeseries data, even when old time series are constantly replaced by new ones at a high rate, it offers a lot of features:

Enterprise version

In addition, the Enterprise version includes extra features:

  • Anomaly detection: Automation and simplification of your alerting rules, covering complex anomalies found in metrics data.
  • Backup automation: Automates regular backup procedures.
  • Multiple retentions: Reducing storage costs by specifying different retentions for different datasets.
  • Downsampling: Reducing storage costs and increasing performance for queries over historical data.
  • Stable releases with long-term support lines (LTS).
  • Comprehensive support: First-class consulting, feature requests and technical support provided by the core VictoriaMetrics dev team.
  • Many other features, which you can read about on the Enterprise page.

Contact us if you need enterprise support for VictoriaMetrics. Or you can request a free trial license here, downloaded Enterprise binaries are available at Github Releases.

We strictly apply security measures in everything we do. VictoriaMetrics has achieved security certifications for Database Software Development and Software-Based Monitoring Services. See Security page for more details.

Benchmarks

Some good benchmarks VictoriaMetrics achieved:

Community and contributions

Feel free to ask any questions regarding VictoriaMetrics:

If you like VictoriaMetrics and want to contribute, then please read these docs.

The provided ZIP file contains three folders with different logo orientations. Each folder includes the following file types:

  • JPEG: Preview files
  • PNG: Preview files with transparent background
  • AI: Adobe Illustrator files

VictoriaMetrics Logo Usage Guidelines

Font

  • Font Used: Lato Black
  • Download here: Lato Font

Color Palette

Logo Usage Rules

  • Only use the Lato Black font as specified.
  • Maintain sufficient clear space around the logo for visibility.
  • Do not modify the spacing, alignment, or positioning of design elements.
  • You may resize the logo as needed, but ensure all proportions remain intact.

Thank you for your cooperation!

Join the team

We're hiring engineers who share the same development goals as we do: practical improvements, simple solutions, and happy users.

Already contributing to VictoriaMetrics? We'd be especially happy to hear from you.

Explore open roles.

Languages
Go 87.6%
TypeScript 9.3%
SCSS 1.5%
Makefile 0.9%
Shell 0.5%