Bug: 113163668

Clone this repo:
  1. bcadc46 Migrate Test Targets to New Android Ownership Model by Aditya Choudhary · 5 weeks ago main master
  2. e7fe996 [automerger skipped] Merge Android 12 QPR3 ab/8391262 am: f1d510cca0 -s ours am: c13941a760 -s ours am: 911ce8903f -s ours am: 61d279991b -s ours am: 9ff3c1fd3e -s ours by Xin Li · 1 year, 11 months ago android14-dev android14-qpr1-release android14-qpr1-s2-release android14-qpr2-s1-release aml_hef_341114030 aml_hef_341311010 aml_rkp_341012000 aml_rkp_341015010 aml_rkp_341114000 aml_rkp_341311000 android-14.0.0_r16 android-14.0.0_r17 android-14.0.0_r18 android-14.0.0_r19 android-14.0.0_r20 android-14.0.0_r21 android-14.0.0_r22 android-14.0.0_r23 android-14.0.0_r24 android-14.0.0_r25 android-14.0.0_r26 android-14.0.0_r27 android-14.0.0_r29
  3. 9ff3c1f [automerger skipped] Merge Android 12 QPR3 ab/8391262 am: f1d510cca0 -s ours am: c13941a760 -s ours am: 911ce8903f -s ours am: 61d279991b -s ours by Xin Li · 1 year, 11 months ago android13-d4-release android13-d4-s1-release android13-d4-s2-release android13-qpr2-b-s1-release android13-qpr2-release android13-qpr2-s1-release android13-qpr2-s10-release android13-qpr2-s11-release android13-qpr2-s12-release android13-qpr2-s2-release android13-qpr2-s3-release android13-qpr2-s5-release android13-qpr2-s6-release android13-qpr2-s7-release android13-qpr2-s8-release android13-qpr2-s9-release android13-qpr3-c-s1-release android13-qpr3-c-s10-release android13-qpr3-c-s11-release android13-qpr3-c-s12-release android13-qpr3-c-s2-release android13-qpr3-c-s3-release android13-qpr3-c-s4-release android13-qpr3-c-s5-release android13-qpr3-c-s6-release android13-qpr3-c-s7-release android13-qpr3-c-s8-release android13-qpr3-release android13-qpr3-s1-release android13-qpr3-s10-release android13-qpr3-s11-release android13-qpr3-s12-release android13-qpr3-s13-release android13-qpr3-s14-release android13-qpr3-s2-release android13-qpr3-s3-release android13-qpr3-s4-release android13-qpr3-s5-release android13-qpr3-s6-release android13-qpr3-s7-release android13-qpr3-s8-release android13-qpr3-s9-release main-16k-with-phones android-13.0.0_r32 android-13.0.0_r33 android-13.0.0_r34 android-13.0.0_r35 android-13.0.0_r36 android-13.0.0_r37 android-13.0.0_r38 android-13.0.0_r39 android-13.0.0_r40 android-13.0.0_r41 android-13.0.0_r42 android-13.0.0_r43 android-13.0.0_r44 android-13.0.0_r45 android-13.0.0_r46 android-13.0.0_r47 android-13.0.0_r48 android-13.0.0_r49 android-13.0.0_r50 android-13.0.0_r51 android-13.0.0_r52 android-13.0.0_r53 android-13.0.0_r54 android-13.0.0_r56 android-13.0.0_r58 android-13.0.0_r59 android-13.0.0_r60 android-13.0.0_r61 android-13.0.0_r62 android-13.0.0_r63 android-13.0.0_r64 android-13.0.0_r65 android-13.0.0_r66 android-13.0.0_r67 android-13.0.0_r68 android-13.0.0_r69 android-13.0.0_r70 android-13.0.0_r71 android-13.0.0_r72 android-13.0.0_r73 android-13.0.0_r74 android-13.0.0_r75 android-13.0.0_r76 android-13.0.0_r77 android-13.0.0_r78 android-13.0.0_r79 android-13.0.0_r80 android-13.0.0_r81 android-13.0.0_r82 android-13.0.0_r83 android-u-beta-1-gpl
  4. aea8de6 [automerger skipped] Merge Android 12 QPR3 ab/8391262 am: f1d510cca0 -s ours am: c13941a760 -s ours am: 911ce8903f -s ours am: 87e30e38f9 -s ours by Xin Li · 1 year, 11 months ago
  5. 61d2799 [automerger skipped] Merge Android 12 QPR3 ab/8391262 am: f1d510cca0 -s ours am: c13941a760 -s ours am: 911ce8903f -s ours by Xin Li · 1 year, 11 months ago

Trebuchet

Trebuchet is a Kotlin library for parsing and analyzing Android trace files generated by the atrace or systrace commands. This is not an officially supported Google product.

Library

The code for the Trebuchet library can be found in the core/ directory.

Bundled Programs

Trebuchet comes bundled with several programs for analyzing one or more trace files.

Startup Analyzer

The Startup Analyzer program takes a trace file, detects any startup events that occurred during the traced time period, and prints information about the events. If Trebuchet is built using the Android build system, there will be a StartupAnalyzerKt program placed into a directory that is a member of the PATH system variable. If you wish to use Gradle, you can use the startup-analyzer.sh script located in the scripts/ directory.

Startup Summarizer

The Startup Summarizer program takes a set of trace files, detects startup events in each file, and computes average and standard deviation for startup stats, broken down by program name, compiler filter, and cache status. If Trebuchet is built using the Android build system, there will be a StartupSummarizerKt program placed into a directory that is a member of the PATH system variable. If you wish to use Gradle, you can use the startup-summarizer.sh script located in the scripts/ directory.

Helper Scripts

The scripts/ directory contains a shell script called run-startup.sh, which will start a trace, launch an activity given a package name and an activity name, transfer the trace file to the host machine, and run the StartupAnalyzer.