SWDEV-516846: Fix serialization services conflicts and ATT counter streaming (#230)

* Update TT API

* Rework serialization

* update att_core

* Fix tests

* Fix tool

* Formatting

* Fix perfcounter

* Formatting

* Rename agent TT

* Format

* Workaround for codeQL alert

* Tidy fix

* Fix compiler error

* Tidy

* Fix some tests

* Fixing some tests

* formatting

* Fixing ATT serialization

* Format

* Fix test commandline

* Fixing init order

* Format

* Tidy fixes

* Removing unused sample

* Fix tests and schema

* Added ATT + PMC test

* Fix mode

* Fix file mode

* Review comments

* Fix typo

* Review comments

* Review comments

* Fix missing id inc after review comment

* Review comments

* Suggested Fixes

* Testing changes

* Test fix

* Build fixes

* Minor build fix

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
Co-authored-by: Welton, Benjamin <Benjamin.Welton@amd.com>

[ROCm/rocprofiler-sdk commit: 821918a512]
Bu işleme şunda yer alıyor:
Baraldi, Giovanni
2025-03-15 02:11:10 +01:00
işlemeyi yapan: GitHub
ebeveyn f0834cbd12
işleme ac6e512e25
48 değiştirilmiş dosya ile 763 ekleme ve 1525 silme
+9 -6
Dosyayı Görüntüle
@@ -26,12 +26,14 @@
#endif
#include "profile_interface.hpp"
#include "att_decoder.h"
#include "dl.hpp"
#include "perfcounter.hpp"
#include <cxxabi.h>
#include <cstring>
#include <fstream>
#include <shared_mutex>
#include "att_decoder.h"
#include "dl.hpp"
namespace rocprofiler
{
@@ -64,11 +66,8 @@ get_trace_data(rocprofiler_att_decoder_record_type_t trace_id,
auto* infos = (rocprofiler_att_decoder_info_t*) trace_events;
for(size_t i = 0; i < trace_size; i++)
ROCP_WARNING << tool.dl->att_info_fn(infos[i]);
return ROCPROFILER_ATT_DECODER_STATUS_SUCCESS;
}
if(trace_id == ROCPROFILER_ATT_DECODER_TYPE_GFXIP)
else if(trace_id == ROCPROFILER_ATT_DECODER_TYPE_GFXIP)
{
tool.config.filemgr->gfxip = reinterpret_cast<size_t>(trace_events);
}
@@ -78,6 +77,10 @@ get_trace_data(rocprofiler_att_decoder_record_type_t trace_id,
tool.config.occupancy.push_back(
reinterpret_cast<const att_occupancy_info_v2_t*>(trace_events)[i]);
}
else if(trace_id == ROCPROFILER_ATT_DECODER_TYPE_PERFEVENT)
{
PerfcounterFile(tool.config, reinterpret_cast<att_perfevent_t*>(trace_events), trace_size);
}
if(trace_id != ROCPROFILER_ATT_DECODER_TYPE_WAVE) return ROCPROFILER_ATT_DECODER_STATUS_SUCCESS;