gitextract_vcnq_xtn/ ├── .github/ │ ├── FUNDING.yml │ ├── copilot-instructions.md │ └── workflows/ │ ├── README.md │ ├── codeql-analysis.yml │ ├── continuous.yml │ ├── release.yml │ ├── stale.yml │ ├── update-jdk-versions.yml │ └── v2-protocol-tests.yml ├── .gitignore ├── .muse/ │ └── advisor.md ├── AGENTS.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── benchmarks/ │ ├── agent-benchmark/ │ │ ├── build.gradle │ │ └── src/ │ │ └── jmh/ │ │ ├── btrace/ │ │ │ └── TraceScript.java │ │ └── java/ │ │ └── benchmark/ │ │ └── BTraceBench.java │ └── runtime-benchmarks/ │ ├── build.gradle │ └── src/ │ └── jmh/ │ ├── btrace/ │ │ └── TraceScript.java │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── bench/ │ ├── ClassFilterBenchmark.java │ ├── DispatchBenchmark.java │ ├── OnMethodTemplateBenchmark.java │ ├── ProbeLoadingBenchmark.java │ ├── ProfilerBenchmark.java │ ├── StatsdBenchmark.java │ └── StringOpBenchmark.java ├── btrace-agent/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── agent/ │ │ │ ├── Client.java │ │ │ ├── ClientContext.java │ │ │ ├── FileClient.java │ │ │ ├── Main.java │ │ │ ├── PerfReaderImpl.java │ │ │ ├── RemoteClient.java │ │ │ └── TraceOutputWriter.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── MANIFEST.MF │ └── test/ │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── agent/ │ └── MainTest.java ├── btrace-api/ │ └── build.gradle ├── btrace-boot/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── boot/ │ ├── Loader.java │ ├── MaskedClassLoader.java │ └── MaskedJarUtils.java ├── btrace-bootstrap/ │ └── build.gradle ├── btrace-client/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── client/ │ │ ├── Client.java │ │ ├── JpsUtils.java │ │ ├── Main.java │ │ └── ProbePrinter.java │ └── test/ │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── client/ │ ├── ClientTest.java │ └── MainTest.java ├── btrace-compiler/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── compiler/ │ │ ├── AnnotationSerializer.java │ │ ├── ClassDataJavaFileObject.java │ │ ├── Compiler.java │ │ ├── CompilerClassWriter.java │ │ ├── CompilerHelper.java │ │ ├── ConcatenatingReader.java │ │ ├── MaskedJavaFileManager.java │ │ ├── MemoryJavaFileManager.java │ │ ├── PCPP.java │ │ ├── PackGenerator.java │ │ ├── Postprocessor.java │ │ ├── Printer.java │ │ ├── Verifier.java │ │ ├── VerifierVisitor.java │ │ └── oneliner/ │ │ ├── OnelinerAST.java │ │ ├── OnelinerCodeGenerator.java │ │ ├── OnelinerException.java │ │ ├── OnelinerLexer.java │ │ ├── OnelinerParser.java │ │ └── OnelinerValidator.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── compiler/ │ │ ├── JfrEventsTest.java │ │ ├── TypeErasureTest.java │ │ └── oneliner/ │ │ ├── OnelinerCodeGeneratorTest.java │ │ ├── OnelinerIntegrationTest.java │ │ └── OnelinerParserTest.java │ └── resources/ │ ├── HistoProbe.java │ ├── JfrEventsProbe.java │ └── MetricsExtensionProbe.java ├── btrace-core/ │ ├── JMH_BENCHMARKS.md │ ├── build.gradle │ └── src/ │ ├── jmh/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── core/ │ │ └── comm/ │ │ └── v2/ │ │ └── BinaryProtocolBenchmark.java │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ ├── core/ │ │ │ │ ├── Args.java │ │ │ │ ├── ArgsMap.java │ │ │ │ ├── BTraceRuntime.java │ │ │ │ ├── BTraceRuntimeBridge.java │ │ │ │ ├── BTraceUtils.java │ │ │ │ ├── CircularBuffer.java │ │ │ │ ├── DebugSupport.java │ │ │ │ ├── Function.java │ │ │ │ ├── HandlerRepository.java │ │ │ │ ├── Messages.java │ │ │ │ ├── MethodID.java │ │ │ │ ├── PrefixMap.java │ │ │ │ ├── Profiler.java │ │ │ │ ├── SharedSettings.java │ │ │ │ ├── VerifierException.java │ │ │ │ ├── annotations/ │ │ │ │ │ ├── BTrace.java │ │ │ │ │ ├── DTrace.java │ │ │ │ │ ├── DTraceRef.java │ │ │ │ │ ├── Duration.java │ │ │ │ │ ├── Event.java │ │ │ │ │ ├── Export.java │ │ │ │ │ ├── Injected.java │ │ │ │ │ ├── InjectionMode.java │ │ │ │ │ ├── Kind.java │ │ │ │ │ ├── Level.java │ │ │ │ │ ├── Location.java │ │ │ │ │ ├── OnError.java │ │ │ │ │ ├── OnEvent.java │ │ │ │ │ ├── OnExit.java │ │ │ │ │ ├── OnLowMemory.java │ │ │ │ │ ├── OnMethod.java │ │ │ │ │ ├── OnProbe.java │ │ │ │ │ ├── OnTimer.java │ │ │ │ │ ├── PeriodicEvent.java │ │ │ │ │ ├── ProbeClassName.java │ │ │ │ │ ├── ProbeMethodName.java │ │ │ │ │ ├── Property.java │ │ │ │ │ ├── Return.java │ │ │ │ │ ├── Sampled.java │ │ │ │ │ ├── Self.java │ │ │ │ │ ├── TLS.java │ │ │ │ │ ├── TargetInstance.java │ │ │ │ │ ├── TargetMethodOrField.java │ │ │ │ │ └── Where.java │ │ │ │ ├── comm/ │ │ │ │ │ ├── BinaryWireProtocol.java │ │ │ │ │ ├── Command.java │ │ │ │ │ ├── CommandListener.java │ │ │ │ │ ├── DataCommand.java │ │ │ │ │ ├── DisconnectCommand.java │ │ │ │ │ ├── ErrorCommand.java │ │ │ │ │ ├── EventCommand.java │ │ │ │ │ ├── ExitCommand.java │ │ │ │ │ ├── GridDataCommand.java │ │ │ │ │ ├── InstrumentCommand.java │ │ │ │ │ ├── JavaSerializationProtocol.java │ │ │ │ │ ├── ListFailedExtensionsCommand.java │ │ │ │ │ ├── ListProbesCommand.java │ │ │ │ │ ├── MessageCommand.java │ │ │ │ │ ├── NumberDataCommand.java │ │ │ │ │ ├── NumberMapDataCommand.java │ │ │ │ │ ├── PrintableCommand.java │ │ │ │ │ ├── ProtocolConfig.java │ │ │ │ │ ├── ProtocolNegotiator.java │ │ │ │ │ ├── ProtocolVersion.java │ │ │ │ │ ├── ReconnectCommand.java │ │ │ │ │ ├── RenameCommand.java │ │ │ │ │ ├── RetransformClassNotification.java │ │ │ │ │ ├── RetransformationStartNotification.java │ │ │ │ │ ├── SetSettingsCommand.java │ │ │ │ │ ├── StatusCommand.java │ │ │ │ │ ├── StringMapDataCommand.java │ │ │ │ │ ├── WireIO.java │ │ │ │ │ ├── WireProtocol.java │ │ │ │ │ └── v2/ │ │ │ │ │ ├── BinaryClient.java │ │ │ │ │ ├── BinaryCommand.java │ │ │ │ │ ├── BinaryDataCommand.java │ │ │ │ │ ├── BinaryDisconnectCommand.java │ │ │ │ │ ├── BinaryErrorCommand.java │ │ │ │ │ ├── BinaryEventCommand.java │ │ │ │ │ ├── BinaryExitCommand.java │ │ │ │ │ ├── BinaryGridDataCommand.java │ │ │ │ │ ├── BinaryInstrumentCommand.java │ │ │ │ │ ├── BinaryListFailedExtensionsCommand.java │ │ │ │ │ ├── BinaryListProbesCommand.java │ │ │ │ │ ├── BinaryMessageCommand.java │ │ │ │ │ ├── BinaryNumberDataCommand.java │ │ │ │ │ ├── BinaryNumberMapDataCommand.java │ │ │ │ │ ├── BinaryProtocol.java │ │ │ │ │ ├── BinaryReconnectCommand.java │ │ │ │ │ ├── BinaryRenameCommand.java │ │ │ │ │ ├── BinaryRetransformClassNotification.java │ │ │ │ │ ├── BinaryRetransformationStartNotification.java │ │ │ │ │ ├── BinarySetSettingsCommand.java │ │ │ │ │ ├── BinaryStatusCommand.java │ │ │ │ │ ├── BinaryStringCommand.java │ │ │ │ │ ├── BinaryStringMapDataCommand.java │ │ │ │ │ ├── BinaryWireIO.java │ │ │ │ │ ├── CommandAdapter.java │ │ │ │ │ ├── CommandDeserializationException.java │ │ │ │ │ ├── MalformedCommandException.java │ │ │ │ │ ├── NumberEncoding.java │ │ │ │ │ ├── ProtocolVersionMismatchException.java │ │ │ │ │ ├── README.md │ │ │ │ │ ├── RemoteException.java │ │ │ │ │ └── ScalarEncoding.java │ │ │ │ ├── extensions/ │ │ │ │ │ ├── Extension.java │ │ │ │ │ ├── ExtensionContext.java │ │ │ │ │ ├── ExtensionDescriptor.java │ │ │ │ │ ├── ExtensionException.java │ │ │ │ │ ├── ExtensionMeta.java │ │ │ │ │ ├── Permission.java │ │ │ │ │ ├── PermissionSet.java │ │ │ │ │ └── ServiceDescriptor.java │ │ │ │ ├── handlers/ │ │ │ │ │ ├── ErrorHandler.java │ │ │ │ │ ├── EventHandler.java │ │ │ │ │ ├── ExitHandler.java │ │ │ │ │ ├── LowMemoryHandler.java │ │ │ │ │ └── TimerHandler.java │ │ │ │ ├── jfr/ │ │ │ │ │ └── JfrEvent.java │ │ │ │ └── types/ │ │ │ │ ├── AnyType.java │ │ │ │ ├── BTraceCollection.java │ │ │ │ ├── BTraceDeque.java │ │ │ │ └── BTraceMap.java │ │ │ └── runtime/ │ │ │ ├── BTraceRuntimeAccess.java │ │ │ └── LinkingFlag.java │ │ └── resources/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── core/ │ │ ├── annotations/ │ │ │ └── jaxb.index │ │ └── messages.properties │ └── test/ │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── core/ │ ├── CircularBufferTest.java │ ├── MethodIDTest.java │ ├── PrefixMapTest.java │ ├── ReflectiveFieldAccessTest.java │ └── comm/ │ ├── InstrumentCommandTest.java │ ├── JavaSerializationProtocolLeakTest.java │ ├── ListProbesCommandConcurrencyTest.java │ ├── NullSafetyTest.java │ ├── ProtocolConfigTest.java │ ├── ProtocolNegotiatorTest.java │ ├── TypeSafetyTest.java │ ├── WireProtocolSessionTest.java │ ├── WireProtocolTest.java │ └── v2/ │ ├── BinaryProtocolEdgeCasesTest.java │ ├── BinaryProtocolPerformanceTest.java │ └── BinaryProtocolTest.java ├── btrace-dist/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── resources/ │ ├── COPYRIGHT │ ├── LICENSE │ ├── LICENSE-3RD-PARTY.txt │ ├── THIRDPARTYLICENSEREADME.txt │ ├── bin/ │ │ ├── btrace │ │ ├── btrace.bat │ │ ├── btracec │ │ ├── btracec.bat │ │ ├── btracep │ │ ├── btracep.bat │ │ ├── btracer │ │ ├── btracer.bat │ │ ├── btracex │ │ └── btracex.bat │ ├── conf/ │ │ └── extensions.conf │ └── samples/ │ ├── AWTEventTracer.java │ ├── AllCalls1.java │ ├── AllCalls1Sampled.java │ ├── AllCalls2.java │ ├── AllCalls2Sampled.java │ ├── AllCalls3.java │ ├── AllCalls3Sampled.java │ ├── AllLines.java │ ├── AllMethods.java │ ├── AllMethods1.java │ ├── AllMethodsLevels.java │ ├── AllMethodsSampled.java │ ├── AllSync.java │ ├── ArgArray.java │ ├── Classload.java │ ├── CommandArg.java │ ├── DTraceInline.java │ ├── DTraceRefDemo.java │ ├── Deadlock.java │ ├── FileTracker.java │ ├── FileTrackerJfr.java │ ├── FinalizeTracker.java │ ├── HistoOnEvent.java │ ├── Histogram.java │ ├── HistogramBean.java │ ├── JInfo.java │ ├── JMap.java │ ├── JStack.java │ ├── LogTracer.java │ ├── MemAlerter.java │ ├── Memory.java │ ├── MultiClass.java │ ├── NewArray.java │ ├── NewComponent.java │ ├── OnThrow.java │ ├── ProbeArgs.java │ ├── ProbeExit.java │ ├── Profiling.java │ ├── Sizeof.java │ ├── SocketTracker.java │ ├── SocketTracker1.java │ ├── SubtypeTracer.java │ ├── SysProp.java │ ├── Test.java │ ├── ThreadBean.java │ ├── ThreadCounter.java │ ├── ThreadCounterBean.java │ ├── ThreadStart.java │ ├── Timers.java │ ├── URLTracker.java │ ├── WebServiceTracker.java │ ├── btracedefs.h │ ├── classload.d │ ├── java.net.socket.xml │ ├── jthread.d │ ├── jurls.d │ └── syscalls.d ├── btrace-dtrace/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── dtrace/ │ │ │ ├── DTrace.java │ │ │ ├── DTraceCommand.java │ │ │ ├── DTraceConsumerCommand.java │ │ │ ├── DTraceDataCommand.java │ │ │ ├── DTraceDropCommand.java │ │ │ ├── DTraceErrorCommand.java │ │ │ ├── DTraceExtension.java │ │ │ ├── DTraceStartCommand.java │ │ │ └── DTraceStopCommand.java │ │ ├── native/ │ │ │ ├── btrace.c │ │ │ └── btraced.d │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.openjdk.btrace.core.extensions.Extension │ └── mock/ │ └── java/ │ └── org/ │ └── opensolaris/ │ └── os/ │ └── dtrace/ │ ├── Aggregate.java │ ├── Aggregation.java │ ├── AggregationRecord.java │ ├── AggregationValue.java │ ├── Consumer.java │ ├── ConsumerAdapter.java │ ├── ConsumerEvent.java │ ├── ConsumerException.java │ ├── ConsumerListener.java │ ├── DTraceException.java │ ├── DataEvent.java │ ├── Drop.java │ ├── DropEvent.java │ ├── ErrorEvent.java │ ├── ExceptionHandler.java │ ├── LocalConsumer.java │ ├── Option.java │ ├── Probe.java │ ├── ProbeData.java │ ├── ProbeDescription.java │ ├── Program.java │ ├── Record.java │ └── Tuple.java ├── btrace-ext-cli/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── extcli/ │ │ ├── ExtensionInspector.java │ │ ├── ExtensionLister.java │ │ ├── ExtensionReport.java │ │ ├── Installer.java │ │ ├── Main.java │ │ ├── PolicyFile.java │ │ ├── RepoBrowser.java │ │ ├── RepoScanner.java │ │ └── tui/ │ │ ├── ExtRepoBrowser.java │ │ ├── ExtensionInspectorLite.java │ │ ├── PolicyFileLite.java │ │ ├── RepoScannerLite.java │ │ └── TuiState.java │ └── test/ │ └── java/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── extcli/ │ ├── ExtensionInspectorTest.java │ ├── ExtensionListerTest.java │ ├── InstallerTest.java │ ├── MainTest.java │ ├── PolicyFileTest.java │ └── TestExtensionBuilder.java ├── btrace-extension/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── extension/ │ │ ├── ExtensionBridge.java │ │ ├── ExtensionDescriptorDTO.java │ │ ├── ExtensionLoader.java │ │ ├── ExtensionRegistry.java │ │ ├── ExtensionRepository.java │ │ ├── PermissionPolicy.java │ │ ├── ServiceDeclarationRegistry.java │ │ └── impl/ │ │ ├── ExtensionBridgeImpl.java │ │ ├── ExtensionClassLoader.java │ │ ├── ExtensionConfig.java │ │ ├── ExtensionLoaderImpl.java │ │ ├── ExtensionMetadata.java │ │ ├── FileSystemExtensionRepository.java │ │ └── NestedJarExtensionClassLoader.java │ └── test/ │ ├── java/ │ │ ├── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── extension/ │ │ │ ├── ExtensionBridgeImplPolicyTest.java │ │ │ └── ExtensionLoaderImplConcurrencyTest.java │ │ └── test/ │ │ ├── ext/ │ │ │ ├── Service.java │ │ │ ├── ServiceImpl.java │ │ │ └── SpiImpl.java │ │ └── ext2/ │ │ ├── Service2.java │ │ └── Service2Impl.java │ └── resources/ │ └── META-INF/ │ └── services/ │ └── test.ext.Service ├── btrace-extensions/ │ ├── btrace-metrics/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── api/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── metrics/ │ │ │ ├── MetricsService.java │ │ │ ├── histogram/ │ │ │ │ ├── HistogramConfig.java │ │ │ │ ├── HistogramConfigBuilder.java │ │ │ │ ├── HistogramMetric.java │ │ │ │ └── HistogramSnapshot.java │ │ │ ├── package-info.java │ │ │ └── stats/ │ │ │ ├── StatsMetric.java │ │ │ └── StatsSnapshot.java │ │ ├── impl/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── metrics/ │ │ │ ├── Metric.java │ │ │ ├── MetricsServiceImpl.java │ │ │ ├── histogram/ │ │ │ │ ├── HistogramConfigBuilderImpl.java │ │ │ │ ├── HistogramConfigImpl.java │ │ │ │ ├── HistogramMetricImpl.java │ │ │ │ └── HistogramSnapshotImpl.java │ │ │ ├── registry/ │ │ │ │ └── MetricRegistry.java │ │ │ └── stats/ │ │ │ ├── StatsMetricImpl.java │ │ │ └── StatsSnapshotImpl.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── metrics/ │ │ ├── HistogramMetricTest.java │ │ └── StatsMetricTest.java │ ├── btrace-statsd/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── api/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── statsd/ │ │ │ ├── Statsd.java │ │ │ └── package-info.java │ │ └── impl/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── statsd/ │ │ └── StatsdImpl.java │ ├── btrace-utils/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── api/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── utils/ │ │ │ ├── PrinterService.java │ │ │ └── package-info.java │ │ └── impl/ │ │ └── java/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── utils/ │ │ └── PrinterServiceImpl.java │ └── build.gradle ├── btrace-gradle-plugin/ │ ├── README.md │ ├── build.gradle │ └── src/ │ └── main/ │ └── groovy/ │ └── org/ │ └── openjdk/ │ └── btrace/ │ └── gradle/ │ ├── BTraceExtensionPlugin.groovy │ └── PermissionScanner.groovy ├── btrace-instr/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── instr/ │ │ │ ├── ArrayAccessInstrumentor.java │ │ │ ├── ArrayAllocInstrumentor.java │ │ │ ├── Assembler.java │ │ │ ├── BTraceBCPClassLoader.java │ │ │ ├── BTraceClassReader.java │ │ │ ├── BTraceClassWriter.java │ │ │ ├── BTraceMethodNode.java │ │ │ ├── BTraceMethodVisitor.java │ │ │ ├── BTraceProbe.java │ │ │ ├── BTraceProbeFactory.java │ │ │ ├── BTraceProbeNode.java │ │ │ ├── BTraceProbePersisted.java │ │ │ ├── BTraceProbeSupport.java │ │ │ ├── BTraceTransformer.java │ │ │ ├── BailoutException.java │ │ │ ├── CallGraph.java │ │ │ ├── CatchInstrumentor.java │ │ │ ├── ClassCache.java │ │ │ ├── ClassFilter.java │ │ │ ├── ClassInfo.java │ │ │ ├── Constants.java │ │ │ ├── ErrorReturnInstrumentor.java │ │ │ ├── FieldAccessInstrumentor.java │ │ │ ├── HandlerRepositoryImpl.java │ │ │ ├── InstrPackGenerator.java │ │ │ ├── InstrumentUtils.java │ │ │ ├── InstrumentationException.java │ │ │ ├── InstrumentingMethodVisitor.java │ │ │ ├── Instrumentor.java │ │ │ ├── Level.java │ │ │ ├── LineNumberInstrumentor.java │ │ │ ├── LinkerInstrumentor.java │ │ │ ├── Location.java │ │ │ ├── MethodCallInstrumentor.java │ │ │ ├── MethodEntryExitInstrumentor.java │ │ │ ├── MethodEntryInstrumentor.java │ │ │ ├── MethodInstrumentor.java │ │ │ ├── MethodInstrumentorHelper.java │ │ │ ├── MethodReturnInstrumentor.java │ │ │ ├── MethodTracker.java │ │ │ ├── MethodTrackingContext.java │ │ │ ├── MethodVerifier.java │ │ │ ├── ObjectAllocInstrumentor.java │ │ │ ├── OnMethod.java │ │ │ ├── OnProbe.java │ │ │ ├── Preprocessor.java │ │ │ ├── ProbeDescriptor.java │ │ │ ├── ProbeDescriptorLoader.java │ │ │ ├── ProbeDump.java │ │ │ ├── ProbeRenameVisitor.java │ │ │ ├── ProbeUpgradeVisitor_1_2.java │ │ │ ├── RandomIntProvider.java │ │ │ ├── SpecialParameterHolder.java │ │ │ ├── StackTrackingMethodVisitor.java │ │ │ ├── SynchronizedInstrumentor.java │ │ │ ├── ThrowInstrumentor.java │ │ │ ├── TypeCheckInstrumentor.java │ │ │ ├── TypeUtils.java │ │ │ ├── VariableMapper.java │ │ │ ├── Verifier.java │ │ │ └── random/ │ │ │ ├── SharedRandomIntProvider.java │ │ │ └── ThreadLocalRandomIntProvider.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ └── org.openjdk.btrace.compiler.PackGenerator │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── instr/ │ │ └── jaxb.index │ └── test/ │ ├── btrace/ │ │ ├── ExportTest.java │ │ ├── InterestingVarsTest.java │ │ ├── OnProbeTest.java │ │ ├── OnTimerTest.java │ │ ├── TLSTest.java │ │ ├── TraceAllTest.java │ │ ├── issues/ │ │ │ ├── BTRACE106.java │ │ │ ├── BTRACE189.java │ │ │ ├── BTRACE22.java │ │ │ ├── BTRACE256.java │ │ │ ├── BTRACE28.java │ │ │ ├── BTRACE53.java │ │ │ ├── BTRACE69.java │ │ │ ├── BTRACE87.java │ │ │ ├── BTRACE_333.java │ │ │ └── TezSplitter.java │ │ ├── onmethod/ │ │ │ ├── AllLines.java │ │ │ ├── AnytypeArgs.java │ │ │ ├── AnytypeArgsNoSelf.java │ │ │ ├── Args.java │ │ │ ├── Args2Sampled.java │ │ │ ├── ArgsDuration.java │ │ │ ├── ArgsDuration2.java │ │ │ ├── ArgsDuration2Err.java │ │ │ ├── ArgsDuration2Sampled.java │ │ │ ├── ArgsDurationBoxed.java │ │ │ ├── ArgsDurationBoxedErr.java │ │ │ ├── ArgsDurationConstructor.java │ │ │ ├── ArgsDurationConstructorErr.java │ │ │ ├── ArgsDurationErr.java │ │ │ ├── ArgsDurationMultiReturn.java │ │ │ ├── ArgsDurationSampled.java │ │ │ ├── ArgsNoSelf.java │ │ │ ├── ArgsReturn.java │ │ │ ├── ArgsReturnAugmented.java │ │ │ ├── ArgsReturnAugmented1.java │ │ │ ├── ArgsReturnBoxed.java │ │ │ ├── ArgsReturnSampled.java │ │ │ ├── ArgsReturnTypeMatch.java │ │ │ ├── ArgsReturnTypeNoMatch.java │ │ │ ├── ArgsReturnVoid.java │ │ │ ├── ArgsSampled.java │ │ │ ├── ArgsSampledAdaptive.java │ │ │ ├── ArgsSampledNoSampling.java │ │ │ ├── ArgsShared.java │ │ │ ├── ArgsSigMatch.java │ │ │ ├── ArgsUnsafe.java │ │ │ ├── ArrayGetAfter.java │ │ │ ├── ArrayGetAfterAny.java │ │ │ ├── ArrayGetBefore.java │ │ │ ├── ArrayGetBeforeAny.java │ │ │ ├── ArraySetAfter.java │ │ │ ├── ArraySetAfterAny.java │ │ │ ├── ArraySetBefore.java │ │ │ ├── ArraySetBeforeAny.java │ │ │ ├── Catch.java │ │ │ ├── CheckcastAfter.java │ │ │ ├── CheckcastBefore.java │ │ │ ├── ConstructorArgs.java │ │ │ ├── Error.java │ │ │ ├── ErrorCaught.java │ │ │ ├── ErrorDuration.java │ │ │ ├── FieldGetAfter.java │ │ │ ├── FieldGetAfterStatic.java │ │ │ ├── FieldGetBefore.java │ │ │ ├── FieldGetBeforeStatic.java │ │ │ ├── FieldSetAfter.java │ │ │ ├── FieldSetAfterStatic.java │ │ │ ├── FieldSetBefore.java │ │ │ ├── FieldSetBeforeStatic.java │ │ │ ├── InstanceofAfter.java │ │ │ ├── InstanceofBefore.java │ │ │ ├── Line.java │ │ │ ├── MatchAnnotated.java │ │ │ ├── MatchAnnotatedRegex.java │ │ │ ├── MatchDerived.java │ │ │ ├── MethodCall.java │ │ │ ├── MethodCallDuration.java │ │ │ ├── MethodCallDuration2.java │ │ │ ├── MethodCallDurationSampled.java │ │ │ ├── MethodCallDurationSampledMulti.java │ │ │ ├── MethodCallNoArgs.java │ │ │ ├── MethodCallReturn.java │ │ │ ├── MethodCallReturnAugmented.java │ │ │ ├── MethodCallReturnAugmented1.java │ │ │ ├── MethodCallSampled.java │ │ │ ├── MethodCallSampledAdaptive.java │ │ │ ├── MethodCallStatic.java │ │ │ ├── NativeWithReturn.java │ │ │ ├── NativeWithoutReturn.java │ │ │ ├── NewAfter.java │ │ │ ├── NewArrayIntAfter.java │ │ │ ├── NewArrayIntBefore.java │ │ │ ├── NewArrayStringAfter.java │ │ │ ├── NewArrayStringBefore.java │ │ │ ├── NewBefore.java │ │ │ ├── NoArgs.java │ │ │ ├── NoArgsEntryReturn.java │ │ │ ├── NoArgsEntryReturnNoCapture.java │ │ │ ├── ServicesTest.java │ │ │ ├── StaticArgs.java │ │ │ ├── StaticArgsReturn.java │ │ │ ├── StaticArgsSelf.java │ │ │ ├── StaticMethodCall.java │ │ │ ├── StaticMethodCallStatic.java │ │ │ ├── StaticNoArgs.java │ │ │ ├── StaticNoArgsSelf.java │ │ │ ├── SyncEntry.java │ │ │ ├── SyncExit.java │ │ │ ├── SyncMEntry.java │ │ │ ├── SyncMExit.java │ │ │ ├── Throw.java │ │ │ └── leveled/ │ │ │ ├── AnytypeArgs.java │ │ │ ├── AnytypeArgsNoSelf.java │ │ │ ├── Args.java │ │ │ ├── Args2Sampled.java │ │ │ ├── ArgsDuration.java │ │ │ ├── ArgsDuration2.java │ │ │ ├── ArgsDuration2Err.java │ │ │ ├── ArgsDuration2Sampled.java │ │ │ ├── ArgsDurationBoxed.java │ │ │ ├── ArgsDurationBoxedErr.java │ │ │ ├── ArgsDurationConstructor.java │ │ │ ├── ArgsDurationConstructorErr.java │ │ │ ├── ArgsDurationErr.java │ │ │ ├── ArgsDurationMultiReturn.java │ │ │ ├── ArgsDurationSampled.java │ │ │ ├── ArgsNoSelf.java │ │ │ ├── ArgsReturn.java │ │ │ ├── ArgsReturnAugmented.java │ │ │ ├── ArgsReturnAugmented1.java │ │ │ ├── ArgsReturnSampled.java │ │ │ ├── ArgsSampled.java │ │ │ ├── ArgsSampledAdaptive.java │ │ │ ├── ArgsSampledNoSampling.java │ │ │ ├── ArgsShared.java │ │ │ ├── ArgsUnsafe.java │ │ │ ├── ArrayGetAfter.java │ │ │ ├── ArrayGetAfterAny.java │ │ │ ├── ArrayGetBefore.java │ │ │ ├── ArrayGetBeforeAny.java │ │ │ ├── ArraySetAfter.java │ │ │ ├── ArraySetAfterAny.java │ │ │ ├── ArraySetBefore.java │ │ │ ├── ArraySetBeforeAny.java │ │ │ ├── Catch.java │ │ │ ├── CheckcastAfter.java │ │ │ ├── CheckcastBefore.java │ │ │ ├── ConstructorArgs.java │ │ │ ├── Error.java │ │ │ ├── ErrorCaught.java │ │ │ ├── ErrorDuration.java │ │ │ ├── FieldGetAfter.java │ │ │ ├── FieldGetAfterStatic.java │ │ │ ├── FieldGetBefore.java │ │ │ ├── FieldGetBeforeStatic.java │ │ │ ├── FieldSetAfter.java │ │ │ ├── FieldSetAfterStatic.java │ │ │ ├── FieldSetBefore.java │ │ │ ├── FieldSetBeforeStatic.java │ │ │ ├── InstanceofAfter.java │ │ │ ├── InstanceofBefore.java │ │ │ ├── Line.java │ │ │ ├── MatchDerived.java │ │ │ ├── MethodCall.java │ │ │ ├── MethodCallDuration.java │ │ │ ├── MethodCallDuration2.java │ │ │ ├── MethodCallDurationSampled.java │ │ │ ├── MethodCallDurationSampledMulti.java │ │ │ ├── MethodCallNoArgs.java │ │ │ ├── MethodCallReturn.java │ │ │ ├── MethodCallReturnAugmented.java │ │ │ ├── MethodCallReturnAugmented1.java │ │ │ ├── MethodCallSampled.java │ │ │ ├── MethodCallSampledAdaptive.java │ │ │ ├── MethodCallStatic.java │ │ │ ├── NativeWithReturn.java │ │ │ ├── NativeWithoutReturn.java │ │ │ ├── NewAfter.java │ │ │ ├── NewArrayIntAfter.java │ │ │ ├── NewArrayIntBefore.java │ │ │ ├── NewArrayStringAfter.java │ │ │ ├── NewArrayStringBefore.java │ │ │ ├── NewBefore.java │ │ │ ├── NoArgs.java │ │ │ ├── NoArgsEntryReturn.java │ │ │ ├── StaticArgs.java │ │ │ ├── StaticArgsReturn.java │ │ │ ├── StaticArgsSelf.java │ │ │ ├── StaticMethodCall.java │ │ │ ├── StaticMethodCallStatic.java │ │ │ ├── StaticNoArgs.java │ │ │ ├── StaticNoArgsSelf.java │ │ │ ├── SyncEntry.java │ │ │ ├── SyncExit.java │ │ │ ├── SyncMEntry.java │ │ │ ├── SyncMExit.java │ │ │ └── Throw.java │ │ ├── org.openjdk.btrace.xml │ │ └── verifier/ │ │ └── VerifierScript.java │ ├── java/ │ │ ├── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ ├── ArgsMapTest.java │ │ │ └── instr/ │ │ │ ├── BTraceProbeFactoryTest.java │ │ │ ├── BTraceTransformerEarlyExitTest.java │ │ │ ├── CallGraphTest.java │ │ │ ├── ClassCacheTest.java │ │ │ ├── ClassFilterSensitiveTest.java │ │ │ ├── ClassInfoTest.java │ │ │ ├── ExtensionBootstrapTest.java │ │ │ ├── HandlerRepositoryImplTest.java │ │ │ ├── InstrStackTest.java │ │ │ ├── InstrumentUtilsTest.java │ │ │ ├── InstrumentingMethodVisitorTest.java │ │ │ ├── InstrumentorTestBase.java │ │ │ ├── MethodCounterTest.java │ │ │ ├── OnMethodInstrumenterTest.java │ │ │ ├── OnMethodTest.java │ │ │ ├── ProbeClassUnloadingTest.java │ │ │ ├── ProbeLoaderNewTest.java │ │ │ ├── ProbeLoaderOldTest.java │ │ │ ├── ProbeLoaderUpgradeTest.java │ │ │ ├── StackTrackingMethodVisitorTest.java │ │ │ └── VariableMapperTest.java │ │ └── resources/ │ │ ├── AbstractClass.java │ │ ├── DerivedClass.java │ │ ├── InterestingVarsClass.java │ │ ├── Main.java │ │ ├── OnMethodTest.java │ │ ├── StackTrackerTest.java │ │ ├── TestApp.java │ │ ├── TestPrinter.java │ │ └── issues/ │ │ ├── BTRACE106.java │ │ ├── BTRACE22.java │ │ ├── BTRACE256.java │ │ ├── BTRACE28.java │ │ └── BTRACE87.java │ └── resources/ │ ├── instrumentorTestData/ │ │ └── dynamic/ │ │ ├── ExportTest │ │ ├── OnProbeTest │ │ ├── OnTimerTest │ │ ├── ServicesTest │ │ ├── TLSTest │ │ ├── TraceAllTest │ │ ├── issues/ │ │ │ ├── BTRACE106 │ │ │ ├── BTRACE189 │ │ │ ├── BTRACE22 │ │ │ ├── BTRACE256 │ │ │ ├── BTRACE28 │ │ │ ├── BTRACE53 │ │ │ ├── BTRACE69 │ │ │ ├── BTRACE87 │ │ │ ├── BTRACE_333 │ │ │ ├── InterestingVarsTest │ │ │ └── TezSplitter │ │ └── onmethod/ │ │ ├── AllLines │ │ ├── AnytypeArgs │ │ ├── AnytypeArgsNoSelf │ │ ├── Args │ │ ├── Args2Sampled │ │ ├── ArgsDuration │ │ ├── ArgsDuration2 │ │ ├── ArgsDuration2Err │ │ ├── ArgsDuration2Sampled │ │ ├── ArgsDurationBoxed │ │ ├── ArgsDurationBoxedErr │ │ ├── ArgsDurationConstructor │ │ ├── ArgsDurationConstructorErr │ │ ├── ArgsDurationErr │ │ ├── ArgsDurationMultiReturn │ │ ├── ArgsDurationSampled │ │ ├── ArgsNoSelf │ │ ├── ArgsReturn │ │ ├── ArgsReturnAugmented │ │ ├── ArgsReturnAugmented1 │ │ ├── ArgsReturnBoxed │ │ ├── ArgsReturnSampled │ │ ├── ArgsReturnTypeMatch │ │ ├── ArgsReturnTypeNoMatch │ │ ├── ArgsReturnVoid │ │ ├── ArgsSampled │ │ ├── ArgsSampledAdaptive │ │ ├── ArgsSampledNoSampling │ │ ├── ArgsShared │ │ ├── ArgsSigMatch │ │ ├── ArgsUnsafe │ │ ├── ArrayGetAfter │ │ ├── ArrayGetAfterAny │ │ ├── ArrayGetBefore │ │ ├── ArrayGetBeforeAny │ │ ├── ArraySetAfter │ │ ├── ArraySetAfterAny │ │ ├── ArraySetBefore │ │ ├── ArraySetBeforeAny │ │ ├── Catch │ │ ├── CheckcastAfter │ │ ├── CheckcastBefore │ │ ├── ConstructorArgs │ │ ├── Error │ │ ├── ErrorCaught │ │ ├── ErrorDuration │ │ ├── FieldGetAfter │ │ ├── FieldGetAfterStatic │ │ ├── FieldGetBefore │ │ ├── FieldGetBeforeStatic │ │ ├── FieldSetAfter │ │ ├── FieldSetAfterStatic │ │ ├── FieldSetBefore │ │ ├── FieldSetBeforeStatic │ │ ├── InstanceofAfter │ │ ├── InstanceofBefore │ │ ├── Line │ │ ├── MatchAnnotated │ │ ├── MatchAnnotatedRegex │ │ ├── MatchDerived │ │ ├── MethodCall │ │ ├── MethodCallDuration │ │ ├── MethodCallDuration2 │ │ ├── MethodCallDurationSampled │ │ ├── MethodCallDurationSampledMulti │ │ ├── MethodCallNoArgs │ │ ├── MethodCallReturn │ │ ├── MethodCallReturnAugmented │ │ ├── MethodCallReturnAugmented1 │ │ ├── MethodCallSampled │ │ ├── MethodCallSampledAdaptive │ │ ├── MethodCallStatic │ │ ├── NativeWithReturn │ │ ├── NativeWithoutReturn │ │ ├── NewAfter │ │ ├── NewArrayIntAfter │ │ ├── NewArrayIntBefore │ │ ├── NewArrayStringAfter │ │ ├── NewArrayStringBefore │ │ ├── NewBefore │ │ ├── NoArgs │ │ ├── NoArgsEntryReturn │ │ ├── NoArgsEntryReturnNoCapture │ │ ├── StaticArgs │ │ ├── StaticArgsReturn │ │ ├── StaticArgsSelf │ │ ├── StaticMethodCall │ │ ├── StaticMethodCallStatic │ │ ├── StaticNoArgs │ │ ├── StaticNoArgsSelf │ │ ├── SyncEntry │ │ ├── SyncExit │ │ ├── SyncMEntry │ │ ├── SyncMExit │ │ ├── Throw │ │ └── leveled/ │ │ ├── AnytypeArgs │ │ ├── AnytypeArgsNoSelf │ │ ├── Args │ │ ├── Args2Sampled │ │ ├── ArgsDuration │ │ ├── ArgsDuration2 │ │ ├── ArgsDuration2Err │ │ ├── ArgsDuration2Sampled │ │ ├── ArgsDurationBoxed │ │ ├── ArgsDurationBoxedErr │ │ ├── ArgsDurationConstructor │ │ ├── ArgsDurationConstructorErr │ │ ├── ArgsDurationErr │ │ ├── ArgsDurationMultiReturn │ │ ├── ArgsDurationSampled │ │ ├── ArgsNoSelf │ │ ├── ArgsReturn │ │ ├── ArgsReturnAugmented │ │ ├── ArgsReturnAugmented1 │ │ ├── ArgsReturnSampled │ │ ├── ArgsSampled │ │ ├── ArgsSampledAdaptive │ │ ├── ArgsSampledNoSampling │ │ ├── ArgsShared │ │ ├── ArgsUnsafe │ │ ├── ArrayGetAfter │ │ ├── ArrayGetAfterAny │ │ ├── ArrayGetBefore │ │ ├── ArrayGetBeforeAny │ │ ├── ArraySetAfter │ │ ├── ArraySetAfterAny │ │ ├── ArraySetBefore │ │ ├── ArraySetBeforeAny │ │ ├── Catch │ │ ├── CheckcastAfter │ │ ├── CheckcastBefore │ │ ├── ConstructorArgs │ │ ├── Error │ │ ├── ErrorCaught │ │ ├── ErrorDuration │ │ ├── FieldGetAfter │ │ ├── FieldGetAfterStatic │ │ ├── FieldGetBefore │ │ ├── FieldGetBeforeStatic │ │ ├── FieldSetAfter │ │ ├── FieldSetAfterStatic │ │ ├── FieldSetBefore │ │ ├── FieldSetBeforeStatic │ │ ├── InstanceofAfter │ │ ├── InstanceofBefore │ │ ├── Line │ │ ├── MatchDerived │ │ ├── MethodCall │ │ ├── MethodCallDuration │ │ ├── MethodCallDuration2 │ │ ├── MethodCallDurationSampled │ │ ├── MethodCallDurationSampledMulti │ │ ├── MethodCallNoArgs │ │ ├── MethodCallReturn │ │ ├── MethodCallReturnAugmented │ │ ├── MethodCallReturnAugmented1 │ │ ├── MethodCallSampled │ │ ├── MethodCallSampledAdaptive │ │ ├── MethodCallStatic │ │ ├── NativeWithReturn │ │ ├── NativeWithoutReturn │ │ ├── NewAfter │ │ ├── NewArrayIntAfter │ │ ├── NewArrayIntBefore │ │ ├── NewArrayStringAfter │ │ ├── NewArrayStringBefore │ │ ├── NewBefore │ │ ├── NoArgs │ │ ├── NoArgsEntryReturn │ │ ├── StaticArgs │ │ ├── StaticArgsReturn │ │ ├── StaticArgsSelf │ │ ├── StaticMethodCall │ │ ├── StaticMethodCallStatic │ │ ├── StaticNoArgs │ │ ├── StaticNoArgsSelf │ │ ├── SyncEntry │ │ ├── SyncExit │ │ ├── SyncMEntry │ │ ├── SyncMExit │ │ └── Throw │ ├── packed/ │ │ └── test-pack.jar │ ├── plain.txt │ └── resources/ │ └── classdata/ │ ├── AllStuff.btrc │ ├── BackpackExtensionTest.clazz │ ├── OnMethodTest.btrc │ ├── PackVersion1.btrc │ ├── ProbeScript.btrc │ ├── TezSplitter.clazz │ └── TraceScript.clazz ├── btrace-runtime/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── runtime/ │ │ │ ├── BTraceMBean.java │ │ │ ├── BTraceRuntimeAccessImpl.java │ │ │ ├── BTraceRuntimeImplBase.java │ │ │ ├── BTraceRuntimeImplFactory.java │ │ │ ├── BTraceRuntimeImpl_8.java │ │ │ ├── BTraceRuntimes.java │ │ │ ├── CommandQueue.java │ │ │ ├── DOTWriter.java │ │ │ ├── DotWriterFormatter.java │ │ │ ├── ExitException.java │ │ │ ├── ExtensionContextImpl.java │ │ │ ├── ExtensionIndy.java │ │ │ ├── IndyDispatcher.java │ │ │ ├── Interval.java │ │ │ ├── JfrEventFactoryImpl.java │ │ │ ├── JfrEventImpl.java │ │ │ ├── NullPerfReaderImpl.java │ │ │ ├── PerfReader.java │ │ │ ├── ProbeAnchor.java │ │ │ ├── XMLSerializer.java │ │ │ ├── auxiliary/ │ │ │ │ └── Auxiliary.java │ │ │ └── profiling/ │ │ │ ├── MethodInvocationProfiler.java │ │ │ └── MethodInvocationRecorder.java │ │ ├── java11/ │ │ │ └── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── runtime/ │ │ │ └── BTraceRuntimeImpl_11.java │ │ └── java9/ │ │ └── org/ │ │ └── openjdk/ │ │ └── btrace/ │ │ └── runtime/ │ │ └── BTraceRuntimeImpl_9.java │ └── test/ │ ├── java/ │ │ ├── org/ │ │ │ └── openjdk/ │ │ │ └── btrace/ │ │ │ └── runtime/ │ │ │ ├── ExtensionIndyShimIndexTest.java │ │ │ └── HiddenClassDefineRegressionTest.java │ │ └── test/ │ │ └── shim/ │ │ ├── ShimService.java │ │ ├── ShimServiceNoop.java │ │ └── ShimServiceThrow.java │ └── resources/ │ └── META-INF/ │ └── btrace/ │ └── shims.index ├── btrace-ui/ │ └── build.gradle ├── build.gradle ├── buildSrc/ │ ├── build.gradle │ └── shared.gradle ├── common.gradle ├── doc/ │ └── specs/ │ └── 2026-04-11-btraceiobtrace802-phase-3-invokedynamic-handler-isolation.md ├── docker/ │ ├── .dockerignore │ ├── Dockerfile │ ├── Dockerfile.alpine │ ├── Dockerfile.distroless │ ├── README.md │ └── docker-entrypoint.sh ├── docs/ │ ├── BTraceExtensionDevelopmentGuide.md │ ├── BTraceTutorial.md │ ├── ExtensionInterfaceRules.md │ ├── FAQ.md │ ├── GettingStarted.md │ ├── OnelinerGuide.md │ ├── PermissionPolicy.md │ ├── QuickReference.md │ ├── README.md │ ├── Troubleshooting.md │ ├── architecture/ │ │ ├── BTraceInstrAnalysis.md │ │ ├── ExtensionConfiguration.md │ │ ├── ExtensionInvokeDynamicBridge.md │ │ ├── ExtensionManifestFormat.md │ │ ├── ExtensionStorageDesign.md │ │ ├── MaskedJarArchitecture.md │ │ └── Version2ProtocolArchitecture.md │ ├── plans/ │ │ ├── 2026-04-20-NEXT-SESSION-PLAN.md │ │ ├── 2026-04-20-probe-class-unloading-RESUME.md │ │ ├── 2026-04-20-probe-class-unloading.md │ │ ├── DistributionRestructuring.md │ │ └── TestCoverageImprovementPlan.md │ ├── releasing.md │ └── samples/ │ └── permissions.properties ├── gradle/ │ └── spotless.gradle ├── gradlew ├── gradlew.bat ├── integration-tests/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── dummy/ │ │ ├── SimpleEvent.java │ │ └── SimplePeriodicEvent.java │ └── test/ │ ├── btrace/ │ │ ├── ExtensionLifecycleErrorTest.java │ │ ├── ExtensionLifecycleFullTest.java │ │ ├── ExtensionLifecycleMultipleTest.java │ │ ├── ExtensionLifecycleTest.java │ │ ├── JfrTest.java │ │ ├── MetricsTest.java │ │ ├── OSMBeanTest.java │ │ ├── OnExitTest.java │ │ ├── OnMethodLevelTest.java │ │ ├── OnMethodReturnTest.java │ │ ├── OnMethodSubclassTest.java │ │ ├── OnMethodTest.java │ │ ├── OnProbeTest.java │ │ ├── OnTimerArgTest.java │ │ ├── OnTimerTest.java │ │ ├── PerfCounterTest.java │ │ ├── ProbeArgsTest.java │ │ ├── ThreadStart.java │ │ ├── TraceAllTest.java │ │ ├── issues/ │ │ │ └── BTRACE400.java │ │ └── org.openjdk.btrace.xml │ ├── java/ │ │ ├── resources/ │ │ │ ├── Main.java │ │ │ ├── TestApp.java │ │ │ ├── TestPrinter.java │ │ │ └── ThreadSpawner.java │ │ └── tests/ │ │ ├── BTraceFunctionalTests.java │ │ ├── ExtensionLifecycleIntegrationTest.java │ │ ├── JBangAttachDockerTest.java │ │ └── RuntimeTest.java │ └── resources/ │ └── META-INF/ │ └── btrace/ │ └── permissions.properties ├── renovate.json ├── run_tests.sh ├── scripts/ │ ├── release.sh │ └── update-jdk-versions.sh └── settings.gradle