# Contains heap profiling, perf profiling and heap graph tests.

heap_profile_jit.textproto heap_profile_frames.sql heap_profile_jit.out

profiler_smaps.textproto profiler_smaps.sql profiler_smaps.out

heap_graph_baseapk.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out
heap_graph_baseapk.textproto heap_graph_object.sql heap_graph_object.out
heap_graph_baseapk.textproto heap_graph_reference.sql heap_graph_reference.out

heap_graph_duplicate.textproto heap_graph_flamegraph.sql heap_graph_duplicate_flamegraph.out

heap_graph.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out
heap_graph.textproto heap_graph_object.sql heap_graph_object.out
heap_graph.textproto heap_graph_reference.sql heap_graph_reference.out
heap_graph_two_locations.textproto heap_graph_object.sql heap_graph_two_locations.out
heap_graph_legacy.textproto heap_graph_object.sql heap_graph_object.out
heap_graph_legacy.textproto heap_graph_reference.sql heap_graph_reference.out
heap_graph_interleaved.textproto heap_graph_object.sql heap_graph_interleaved_object.out
heap_graph_interleaved.textproto heap_graph_reference.sql heap_graph_interleaved_reference.out
../../data/system-server-heap-graph-new.pftrace heap_graph_flamegraph.sql heap_graph_flamegraph_system-server-heap-graph.out
../../data/system-server-native-profile heap_profile_flamegraph.sql heap_profile_flamegraph_system-server-native-profile.out
heap_profile_tracker_new_stack.textproto heap_profile_tracker_new_stack.sql heap_profile_tracker_new_stack.out
heap_profile_tracker_twoheaps.textproto heap_profile_tracker_twoheaps.sql heap_profile_tracker_twoheaps.out
heap_graph_branching.textproto heap_graph_flamegraph_focused.sql heap_graph_flamegraph_focused.out
heap_graph_superclass.textproto heap_graph_superclass.sql heap_graph_superclass.out

# TODO(b/153552977): Stop supporting legacy heap graphs. These never made
#                    it into a public release, so we should eventually stop
#                    supporting workarounds for them.
heap_graph_legacy.textproto heap_graph_flamegraph.sql heap_graph_flamegraph.out

stack_profile_tracker_empty_callstack.textproto stack_profile_tracker_empty_callstack.sql stack_profile_tracker_empty_callstack.out

# Metrics
heap_profile.textproto heap_profile_callsites heap_profile_callsites.out
heap_profile_no_symbols.textproto unsymbolized_frames unsymbolized_frames.out

heap_graph.textproto java_heap_stats java_heap_stats.out
heap_graph_closest_proc.textproto java_heap_stats heap_stats_closest_proc.out
heap_graph.textproto java_heap_histogram java_heap_histogram.out
obfuscated_heap_graph.textproto unmapped_java_symbols unmapped_java_symbols.out

# perf_sample table (traced_perf trace as an input).
../../data/perf_sample.pb perf_sample.sql perf_sample_perf_sample.out
