JvmOperationReportAdapter

Optional fixture-owned supplemental report, discovered through a static operationReport() hook. Use JvmPerformanceRunner.warmup and JvmPerformanceRunner.sequence on the fixture owner thread. Preparation, assertions, serialization and surviving-resource cleanup belong outside each sample; required lifecycle work belongs inside the declared complete operation.

Properties

Link copied to clipboard
open val inputs: Map<String, Path>

Resolves the actual external files consumed by this adapter outside sampling. Defaults to all declared fixture inputs; additional consumed files require explicit labels. Collection re-reads this mapping and every resolved input's bytes after the operation.

Link copied to clipboard

Stable logical rows binding every selected JMH method and parameter combination.

Functions

Link copied to clipboard
abstract fun collect(plan: PerformancePlan): Map<String, JsonObject>

Returns complete detached meter reports keyed by row ID, releasing fixtures on every exit. Every row must contain exactly PerformancePlan.samples successful samples.

Link copied to clipboard
open fun collectVerified(plan: PerformancePlan, verifyWork: () -> Unit): Map<String, JsonObject>

Verifies complete fixture work before collecting by default. A fixture with a permanently terminal owner may override this boundary to run its original complete verification and collection inside one owner lifetime instead. Such an override must retain every original control and release the owner before returning; failed verification or cleanup must propagate without a successful report. verifyWork is a synchronous borrowed callback and must never be retained.