run-jmh-benchmarks-hetzner

Provision a Hetzner CCX33 server, deploy a project, run JMH benchmarks, and collect results.

431|15|Updated Feb 19, 2024
One-click install
npx skills add https://github.com/JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: run-jmh-benchmarks-hetzner
Source: https://github.com/JetBrains/youtrackdb/tree/main/.claude/skills/run-jmh-benchmarks-hetzner
Command: npx skills add https://github.com/JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automates end-to-end provisioning of a Hetzner CCX33 server, deployment of the current project, execution of JMH benchmarks, collection of results, and teardown to ensure reproducible, isolated measurements.

Core Features & Use Cases

  • Provision a Hetzner CCX33 server using branch-named conventions.
  • Deploy the project, compile, and run JMH benchmarks with pre-load steps to ensure accurate results.
  • Collect and store results locally; destroy the server to avoid ongoing costs.
  • Useful for performance comparisons across code branches or module configurations.

Quick Start

Provide the target git branch and module, and start the benchmark workflow to provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, and collect results.

Frequently Asked Questions about run-jmh-benchmarks-hetzner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate JMH benchmarks on Hetzner cloud for reproducible measurements?

Automate JMH benchmarks on Hetzner by provisioning a CCX33 server, deploying the project, executing benchmarks with pre-load steps, and collecting results locally. The workflow ensures reproducible, isolated measurements and destroys the server to avoid ongoing costs.

What do I need to provision a Hetzner server for running JMH benchmarks?

Provisioning a Hetzner server for JMH benchmarks requires the hcloud CLI, an SSH key, an Ubuntu 24.04 server image, and local project compilation prerequisites. Environment configuration is also needed for optional S3 dataset loading.

Can I compare performance across different code branches using JMH on Hetzner?

Yes, comparing performance across code branches is a core use case. Provide the target git branch and module to provision a branch-named CCX33 server, run JMH benchmarks, and collect results for accurate performance comparisons.

How does the JMH benchmark workflow handle server cleanup on Hetzner?

The workflow handles server cleanup by destroying the Hetzner CCX33 server after collecting and storing results locally. This clean teardown ensures reproducible measurements and prevents ongoing cloud costs.

Does the JMH benchmark automation support dataset loading before execution?

Yes, the JMH benchmark automation supports optional S3 dataset preparation and loading before execution. It also performs in-VM warmup and monitoring to ensure accurate benchmark measurements on the Hetzner server.