diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library/components/category_region.hpp b/projects/rocprofiler-systems/source/lib/omnitrace/library/components/category_region.hpp index 140f3cc0c3..4b765e37bf 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library/components/category_region.hpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library/components/category_region.hpp @@ -249,8 +249,9 @@ category_region::audit(const gotcha_data_t& _data, audit::incoming, Args&&... _args) { start(_data.tool_id.c_str(), [&](perfetto::EventContext ctx) { + int64_t _n = 0; OMNITRACE_FOLD_EXPRESSION(tracing::add_perfetto_annotation( - ctx, tim::try_demangle>(), _args)); + ctx, tim::try_demangle>(), _args, _n++)); }); } @@ -270,8 +271,9 @@ category_region::audit(std::string_view _name, audit::incoming, Args&&... _args) { start(_name.data(), [&](perfetto::EventContext ctx) { + int64_t _n = 0; OMNITRACE_FOLD_EXPRESSION(tracing::add_perfetto_annotation( - ctx, tim::try_demangle>(), _args)); + ctx, tim::try_demangle>(), _args, _n++)); }); } diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library/tracing.hpp b/projects/rocprofiler-systems/source/lib/omnitrace/library/tracing.hpp index 40587c7acb..4784451c6f 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library/tracing.hpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library/tracing.hpp @@ -202,7 +202,8 @@ pop_timemory(CategoryT, const char* name, Args&&... args) template auto -add_perfetto_annotation(perfetto::EventContext& ctx, Np&& _name, Tp&& _val) +add_perfetto_annotation(perfetto::EventContext& ctx, Np&& _name, Tp&& _val, + int64_t _idx = -1) { using named_type = std::remove_reference_t>>; using value_type = std::remove_reference_t>>; @@ -212,7 +213,15 @@ add_perfetto_annotation(perfetto::EventContext& ctx, Np&& _name, Tp&& _val) auto _get_dbg = [&]() { auto* _dbg = ctx.event()->add_debug_annotations(); - _dbg->set_name(std::string_view{ std::forward(_name) }.data()); + if(_idx >= 0) + { + auto _arg_name = JOIN("", "arg", _idx, "-", std::forward(_name)); + _dbg->set_name(_arg_name); + } + else + { + _dbg->set_name(std::string_view{ std::forward(_name) }.data()); + } return _dbg; };