)]}'
{
  "commit": "5f430310049f840763c8b280ec34fad7d3e3b3bd",
  "tree": "ba5ee2ab5df262c7349c2855d07b3b4ebb8ac9d7",
  "parents": [
    "f92e52f23627dc1d707f117551b14c52f393b608"
  ],
  "author": {
    "name": "Peter Kalauskas",
    "email": "peskal@google.com",
    "time": "Fri Mar 29 17:29:20 2024 -0700"
  },
  "committer": {
    "name": "Peter Kalauskas",
    "email": "peskal@google.com",
    "time": "Mon Apr 01 17:31:26 2024 -0700"
  },
  "message": "Bytecode optimizations for coroutine tracing\n\n - Use ArrayDeque instead of ArrayList for trace sections\n\n - Use String instead of TraceSection object, which included an id.\n   We verify the correctness of the trace section in our unit tests.\n   Additional runtime checks are uncessary since they add overhead,\n   and in the worst-case scenario, a malformed trace only affect debug\n   tooling.\n\n - Access TraceData through the CoroutineContext instead of the global\n   ThreadLocal when possible.\n\n - New test to verify trace storage is null after performing many\n   multi-threaded operations that are traced.\n\nFlag: ACONFIG com.android.systemui.coroutine_tracing DISABLED\nBug: 289353932\nTest: atest tracinglib-host-test tracinglib-robolectric-test\nChange-Id: Ib34bb265a54a23e37d7e5a1369aa329656b47633\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d9560bafe4ff677056f0048641c4ef265c35458",
      "old_mode": 33188,
      "old_path": "tracinglib/Android.bp",
      "new_id": "7384e91ef55651936eba2a0eaf53b8810960fcab",
      "new_mode": 33188,
      "new_path": "tracinglib/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "3efdca18dfef4f18d8872e333f51edb138eed895",
      "old_mode": 33188,
      "old_path": "tracinglib/src/androidMinApi19/kotlin/com/android/app/tracing/TraceProxy.jetpack.kt",
      "new_id": "27c1b9378071e61685dee58d1b4a747571d22d9c",
      "new_mode": 33188,
      "new_path": "tracinglib/src/androidMinApi19/kotlin/com/android/app/tracing/TraceProxy.jetpack.kt"
    },
    {
      "type": "modify",
      "old_id": "9ea737fbc5dd7c21da53e589a00136df48c7a9a7",
      "old_mode": 33188,
      "old_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/TraceUtils.kt",
      "new_id": "0fd6f73dd4824669690b8b7a133636fc30bcda67",
      "new_mode": 33188,
      "new_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/TraceUtils.kt"
    },
    {
      "type": "modify",
      "old_id": "70cf25b14fc7b9bc853c6b2f56cf3af1cdc633da",
      "old_mode": 33188,
      "old_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/CoroutineTracing.kt",
      "new_id": "deec6ea7caad2526ab696975df5dd69a25f3df14",
      "new_mode": 33188,
      "new_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/CoroutineTracing.kt"
    },
    {
      "type": "modify",
      "old_id": "a0af1cc922f4a8b78973f6fc6d7473e86b672df0",
      "old_mode": 33188,
      "old_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/TraceContextElement.kt",
      "new_id": "ac43732147299ba99637acd984c5311892c8025c",
      "new_mode": 33188,
      "new_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/TraceContextElement.kt"
    },
    {
      "type": "modify",
      "old_id": "68b16d0d0186220d6c2f9b3bdedfd6ecdfadc29c",
      "old_mode": 33188,
      "old_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/TraceData.kt",
      "new_id": "876bd921033220bb080277ec0ee7617e4ce2bac7",
      "new_mode": 33188,
      "new_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/TraceData.kt"
    },
    {
      "type": "delete",
      "old_id": "66f95c7c26743a12637e25258ee49d73f933a34c",
      "old_mode": 33188,
      "old_path": "tracinglib/src/commonMain/kotlin/com/android/app/tracing/coroutines/TraceSection.kt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "530e52396b85f98ac6abf50a44ec68e80a8582cd",
      "old_mode": 33188,
      "old_path": "tracinglib/src/fakeTest/kotlin/com/android/app/tracing/coroutines/CoroutineTracingTest.kt",
      "new_id": "89b71c373644c85cb481b6287f75175e125772bc",
      "new_mode": 33188,
      "new_path": "tracinglib/src/fakeTest/kotlin/com/android/app/tracing/coroutines/CoroutineTracingTest.kt"
    }
  ]
}
