🔥🔥 btrace(AKA RheaTrace) is a high performance Android trace tool which is based on Perfetto, it support to define custom events automatically during building apk and using bhook to provider more native events like Render/Binder/IO etc.
08-01 18:37:11.331 I RheaTrace : os version is 30. default capture is PerfettoCapture
08-01 18:37:12.800 RheaTrace : start tracing...
08-01 18:37:22.925 RheaTrace : stop tracing...
08-01 18:37:24.403 RheaTrace : MaxAppTraceBufferSize usage 184689344/500000000 (36%)
08-01 18:37:29.902 I RheaTrace : reuse cached mapping:/Users/----/.rheatrace_mapping/e1534ea1-7ba6-4bbd-993b-c4bbe0115017
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at perfetto.protos.FtraceEventOuterClass$FtraceEvent.toBuilder(FtraceEventOuterClass.java:29202)
at perfetto.protos.FtraceEventOuterClass$FtraceEvent.newBuilder(FtraceEventOuterClass.java:29194)
at com.bytedance.rheatrace.processor.trace.Frame.toEvent(Frame.java:75)
at com.bytedance.rheatrace.processor.trace.TraceAssembler.assemble(TraceAssembler.java:44)
at com.bytedance.rheatrace.processor.trace.TraceAssembler.assemble(TraceAssembler.java:28)
at com.bytedance.rheatrace.processor.perfetto.TraceProcessor.merge(TraceProcessor.java:62)
at com.bytedance.rheatrace.processor.core.AbstractTraceGenerator.generate(AbstractTraceGenerator.java:33)
at com.bytedance.rheatrace.processor.perfetto.PerfettoCapture.process(PerfettoCapture.java:95)
at com.bytedance.rheatrace.processor.Main.main(Main.java:108)
08-01 18:37:11.331 I RheaTrace : os version is 30. default capture is PerfettoCapture 08-01 18:37:12.800 RheaTrace : start tracing... 08-01 18:37:22.925 RheaTrace : stop tracing... 08-01 18:37:24.403 RheaTrace : MaxAppTraceBufferSize usage 184689344/500000000 (36%) 08-01 18:37:29.902 I RheaTrace : reuse cached mapping:/Users/----/.rheatrace_mapping/e1534ea1-7ba6-4bbd-993b-c4bbe0115017 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at perfetto.protos.FtraceEventOuterClass$FtraceEvent.toBuilder(FtraceEventOuterClass.java:29202) at perfetto.protos.FtraceEventOuterClass$FtraceEvent.newBuilder(FtraceEventOuterClass.java:29194) at com.bytedance.rheatrace.processor.trace.Frame.toEvent(Frame.java:75) at com.bytedance.rheatrace.processor.trace.TraceAssembler.assemble(TraceAssembler.java:44) at com.bytedance.rheatrace.processor.trace.TraceAssembler.assemble(TraceAssembler.java:28) at com.bytedance.rheatrace.processor.perfetto.TraceProcessor.merge(TraceProcessor.java:62) at com.bytedance.rheatrace.processor.core.AbstractTraceGenerator.generate(AbstractTraceGenerator.java:33) at com.bytedance.rheatrace.processor.perfetto.PerfettoCapture.process(PerfettoCapture.java:95) at com.bytedance.rheatrace.processor.Main.main(Main.java:108)