WIP: Add changes/hacks to make stack sampling work for loadline system wide profiling
diff --git a/src/trace_processor/importers/common/address_range.h b/src/trace_processor/importers/common/address_range.h index c7f074c..3c302a8 100644 --- a/src/trace_processor/importers/common/address_range.h +++ b/src/trace_processor/importers/common/address_range.h
@@ -62,7 +62,10 @@ constexpr AddressRange(uint64_t start, uint64_t end) : start_(start), end_(end) { - PERFETTO_CHECK(start <= end); + if (start > end) { + start = 0; + end = 0; + } } // Checks whether the given `addr` lies withing this range.
diff --git a/src/trace_processor/tables/v8_tables.py b/src/trace_processor/tables/v8_tables.py index 4dec687..a59789d 100644 --- a/src/trace_processor/tables/v8_tables.py +++ b/src/trace_processor/tables/v8_tables.py
@@ -84,7 +84,10 @@ C('v8_isolate_id', CppTableId(V8_ISOLATE)), C('internal_script_id', CppInt32()), C('script_type', CppString()), - C('name', CppString(), cpp_access=CppAccess.READ), + C('name', + CppString(), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), C('source', CppOptional(CppString())), ], tabledoc=TableDoc( @@ -129,7 +132,10 @@ class_name='V8JsFunctionTable', sql_name='__intrinsic_v8_js_function', columns=[ - C('name', CppString(), cpp_access=CppAccess.READ), + C('name', + CppString(), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), C( 'v8_js_script_id', CppTableId(V8_JS_SCRIPT), @@ -137,8 +143,14 @@ ), C('is_toplevel', CppBool()), C('kind', CppString()), - C('line', CppOptional(CppUint32()), cpp_access=CppAccess.READ), - C('col', CppOptional(CppUint32()), cpp_access=CppAccess.READ), + C('line', + CppOptional(CppUint32()), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), + C('col', + CppOptional(CppUint32()), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), ], tabledoc=TableDoc( doc='Represents a v8 Javascript function', @@ -259,7 +271,10 @@ C('jit_code_id', CppTableId(JIT_CODE_TABLE)), C('v8_isolate_id', CppTableId(V8_ISOLATE)), C('v8_wasm_script_id', CppTableId(V8_WASM_SCRIPT)), - C('function_name', CppString(), cpp_access=CppAccess.READ), + C('function_name', + CppString(), + cpp_access=CppAccess.READ, + cpp_access_duration=CppAccessDuration.POST_FINALIZATION), C('tier', CppString()), C('code_offset_in_module', CppInt32()), ],