[rocprofiler-systems] Add cached demangler and replace old demangle (#2135)
* Add cached demangler and replace old * Add unit tests * Applied suggestions from code review * Applied suggestions from code review
这个提交包含在:
@@ -24,6 +24,7 @@
|
||||
#include "core/components/fwd.hpp"
|
||||
#include "core/config.hpp"
|
||||
#include "core/debug.hpp"
|
||||
#include "core/demangler.hpp"
|
||||
#include "core/perfetto.hpp"
|
||||
#include "core/state.hpp"
|
||||
#include "library/components/ensure_storage.hpp"
|
||||
@@ -150,7 +151,7 @@ backtrace::filter_and_patch(const std::vector<entry_type>& _data)
|
||||
_ret.reserve(_data.size());
|
||||
for(const auto& itr : _data)
|
||||
{
|
||||
auto _name = tim::demangle(_patch_label(itr.name));
|
||||
auto _name = rocprofsys::utility::demangle(_patch_label(itr.name));
|
||||
auto _use = _use_label(_name);
|
||||
if(_use == -1) break;
|
||||
if(_use == 0) continue;
|
||||
|
||||
+5
-2
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "core/config.hpp"
|
||||
#include "core/defines.hpp"
|
||||
#include "core/demangler.hpp"
|
||||
#include "core/state.hpp"
|
||||
#include "core/timemory.hpp"
|
||||
#include "core/trace_cache/cache_manager.hpp"
|
||||
@@ -403,7 +404,8 @@ category_region<CategoryT>::audit(const gotcha_data_t& _data, audit::incoming,
|
||||
{
|
||||
int64_t _n = 0;
|
||||
ROCPROFSYS_FOLD_EXPRESSION(tracing::add_perfetto_annotation(
|
||||
ctx, tim::try_demangle<std::remove_reference_t<Args>>(), _args, _n++));
|
||||
ctx, rocprofsys::utility::demangle<std::remove_reference_t<Args>>(),
|
||||
_args, _n++));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -431,7 +433,8 @@ category_region<CategoryT>::audit(std::string_view _name, audit::incoming,
|
||||
{
|
||||
int64_t _n = 0;
|
||||
ROCPROFSYS_FOLD_EXPRESSION(tracing::add_perfetto_annotation(
|
||||
ctx, tim::try_demangle<std::remove_reference_t<Args>>(), _args, _n++));
|
||||
ctx, rocprofsys::utility::demangle<std::remove_reference_t<Args>>(),
|
||||
_args, _n++));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/demangler.hpp"
|
||||
#include "core/timemory.hpp"
|
||||
|
||||
#include <timemory/components/base.hpp>
|
||||
@@ -184,7 +185,8 @@ rocprofsys::component::activate_mpip()
|
||||
|
||||
static std::string _label = []() {
|
||||
std::stringstream ss;
|
||||
ss << "rocprofsys-mpip-" << demangle<Toolset>() << "-" << demangle<Tag>();
|
||||
ss << "rocprofsys-mpip-" << rocprofsys::utility::demangle<Toolset>() << "-"
|
||||
<< rocprofsys::utility::demangle<Tag>();
|
||||
return ss.str();
|
||||
}();
|
||||
ROCPROFSYS_BASIC_DEBUG_F("Adding cleanup for %s", _label.c_str());
|
||||
@@ -208,7 +210,8 @@ rocprofsys::component::deactivate_mpip(uint64_t id)
|
||||
{
|
||||
static std::string _label = []() {
|
||||
std::stringstream ss;
|
||||
ss << "rocprofsys-mpip-" << demangle<Toolset>() << "-" << demangle<Tag>();
|
||||
ss << "rocprofsys-mpip-" << rocprofsys::utility::demangle<Toolset>() << "-"
|
||||
<< rocprofsys::utility::demangle<Tag>();
|
||||
return ss.str();
|
||||
}();
|
||||
ROCPROFSYS_BASIC_DEBUG_F("Removing cleanup for %s", _label.c_str());
|
||||
|
||||
在新工单中引用
屏蔽一个用户