Perfetto traces from cached data (#1704)
## Motivation The idea is to unify the way and place where we store our traces. Current implementation uses `trace_cache` for rocpd traces, but perfetto is in lined inside of each module. This change allows us to have a single point in code where we will collect data, process it and store it in the desired format. This means that we can declutter the code further and have single point of responsibility and single point of failure. ## Technical Details New `processor` (perfetto_post_processing.cpp) is added to the `trace_cache` which purpose is to use the cached data to populate perfetto tracks. Cache manager is responsible for keeping the instance of this processor and for its lifetime.
This commit is contained in:
committed by
GitHub
orang tua
b506c75f28
melakukan
3b11e01716
@@ -378,6 +378,13 @@ parse_args(int argc, char** argv, std::vector<char*>& _env)
|
||||
.action([&](parser_t& p) {
|
||||
update_env(_env, "ROCPROFSYS_TRACE", p.get<bool>("trace"));
|
||||
});
|
||||
parser
|
||||
.add_argument({ "--trace-cached" },
|
||||
"Generate a detailed trace (perfetto output) from cached data ")
|
||||
.max_count(1)
|
||||
.action([&](parser_t& p) {
|
||||
update_env(_env, "ROCPROFSYS_TRACE_CACHED", p.get<bool>("trace-cached"));
|
||||
});
|
||||
parser
|
||||
.add_argument(
|
||||
{ "-P", "--profile" },
|
||||
|
||||
Reference in New Issue
Block a user