summaryrefslogtreecommitdiff
path: root/runtime/trace_common.h
AgeCommit message (Collapse)Author
2025-03-18Revert^4 "Use nanoseconds for v2 method tracing" Mythri Alle
This reverts commit 02a80d00ffd5eaa1985e18becd542579576720fc. Reason for revert: Fix dump_trace.cc to parse timestamps as 64-bit unsigned lebs and not 32-bit. These were always 64-bit fields but the bug didn't impact because timestamp diff did fit in 32-bits. When using ns, it no longer fits exposing the bug. Change-Id: If979c0bf891ae5bd0fdf278915fcda8ed09bfa9f
2025-03-07Revert^3 "Use nanoseconds for v2 method tracing" Mythri Alle
This reverts commit 84c60905008131ff35b93b9f8b64923e267f92a6. Reason for revert: Reverting because of failures on qemu.arm64. https://ci.chromium.org/ui/p/art/builders/ci/qemu.arm.64/202/overview Change-Id: I96eeb4b675eb36850f64e4f3102e55f456747762
2025-02-11Revert^2 "Use nanoseconds for v2 method tracing" Mythri Alle
This reverts commit e8ea3a17d66636e6cc6a395b967e22aac8761e67. Reason for revert: Upload after potential fix for the failures. We used to use 32-bit entries for storing threadcpu time. With nanosecond precision this overflows in about 4 seconds. On gcstress configuration this was potentially overflowing causing the failures. The fix now uses 64-bit entries for threadcpu time. Wall clock time was already using 64-bit entries. Change-Id: I819fe45e0a465e5a5b037248a4cd7107acb5130d
2025-01-24Revert "Use nanoseconds for v2 method tracing" Mythri Alle
This reverts commit 1a9a8abf19e7641149fcaed3971bf0aa99f4dfb8. Reason for revert: causes flakes on art-jit-on-first-use-gcstress Change-Id: I38161f65e2fc584e5e6221f85982035fb66c13ae
2025-01-24Use nanoseconds for v2 method tracing Mythri Alle
Update the precision of timestamps to be nanoseconds and use nanosecond precision in method trace format v2. For format v1 we use microsecond precision for backwards compatability. Bug: 259258187 Test: art/test.py -t 2246 Change-Id: I099e21f5d143c5444193e7886b5281b32f87d5d3
2025-01-21Restore a line that was accidentally dropped in aosp/3434019 Mythri Alle
For proxy methods we need to get corresponding interface method. This line was dropped accidentally in aosp/3434019. This CL re-introduces the line. Bug: 352518093 Test: art/test.py --tracing Change-Id: If53bd6b7219c6ec81889b16cfb6677adf0cbb3ab
2025-01-21Add support for collecting long running methods Mythri Alle
This CL extends low overhead tracing to support collecting long running methods. This feature is disabled by default and is implemented behind always_enable_profiling_code flag. Turning on the flag enables the support but doesn't start tracing. Tracing has to be started via the StartTraceLongRunningMethods interface in VMDebug. If a trace was running the collected data is included in the data generated by the SIGQUIT handlers. This would help when analyzing ANR reports. The trace can also be dumped using the API provided in VMDebug. Bug: 352518093 Test: art/test.py Change-Id: I407560c45cd31bfa06906bb2286c455eef7ceec8