Repository navigation
Remove the synthetic compatibility JFR output - #27
Merged
Merged
Conversation
The correlator wrote, beside the collapsed stacks and the stack profile, a synthetic JFR of duration-quantized jdk.ExecutionSample events for JFR viewers. It carried nothing the other outputs do not, and it needed a patched copy of the JMC flightrecorder writer, a patch step that no build cache could reuse, and async-profiler's make-built jfrconv to test it. Remove the feature and everything that existed only for it: - CompatibilityJfrWriter, SyntheticJfrSource and QuantumPlanner, the quantum scaling in Thinning, and the samples' event-time column that only the writer read (a sample slot retains 30 bytes instead of 38). - The --quantum-ns and --max-synthetic-events options. --format takes only collapsed for a complete analysis (still its default), and diagnostics or collapsed with --partial true; both and jfr are usage errors. - The report's syntheticJfr block and the coarsenSyntheticQuantum and omitSyntheticJfr degradation steps; their field numbers and names are reserved. The degradation ladder now starts by dropping the audit outputs. - The JMC writer dependency, its patch and retained licenses, the extract, patch and compile tasks, and the jfrconv build and test input. - The synthetic JFR checks of the proof tools, and the output from the documentation, the help snapshots and the architecture diagram.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The correlator wrote
jonoffcpu-offcpu-synthetic.jfrbeside the collapsed stacks and the stack profile: duration-quantizedjdk.ExecutionSampleevents for JFR viewers. It carried nothing the other outputs don't. It also needed:make-builtjfrconvto test it, which records the build date and so reruns the correlator's integration tests on every fresh CI checkoutThis PR removes the feature and everything that existed only for it.
Correlator
CompatibilityJfrWriter,SyntheticJfrSourceandQuantumPlanner, plusThinning.scaleQuantumandAnalysisOutput.synthetic().SampleColumns.startEpochNanos) was read only by the writer, so it's removed. A sample slot now retains 30 bytes instead of 38, andRetentionEstimateis updated to match. A sample with an out-of-range start time is no longer rejected, since the value isn't used.CLI
--quantum-nsand--max-synthetic-eventsare removed.--formattakes onlycollapsedfor a complete analysis, and that stays the default. With--partial trueit takesdiagnosticsorcollapsedas before.bothandjfrare now usage errors (exit 64).Report schema (
jonoffcpu-report.proto)syntheticJfrblock (Reportfield 24) and thecoarsenSyntheticQuantumandomitSyntheticJfrdegradation steps (5, 6) are removed. Their numbers and names arereserved.Build
extractJmcWriterSources,applyJmcWriterPatchandcompileJmcWriterPatchtasks.org.openjdk.jmcrelocation, and thebuildAsyncProfilerConvertertask with thejfrconvinput ofintegrationTest.jfr-converter.jar.Proof tools and docs
agent-smoke-musl-container.shandrun-agent-signal-pressure.pyno longer convert the synthetic JFR.OFFLINE.md,AGENTS.md,jonoffcpu-native/README.md, the correlator help snapshots, and the architecture diagram, which is rendered again.Compatibility
--quantum-ns,--max-synthetic-eventsor--format both|jfrnow get a usage error.syntheticJfrfrom the report no longer find it.Verification
./gradlew spotlessCheck :jonoffcpu-agent:check :jonoffcpu-correlator:check :jonoffcpu-jfr-converter:checkpasses on an arm64 Mac: 302 tests, 0 failures, 11 skipped. That includes the musl aarch64 container integration tests.