[rocprof-sys] Refactor trace_cache architecture with improved type erasure and processing pipeline (#1710)

- Redesigned buffer_storage with a flush_worker pattern for better thread management and resource cleanup
- Introduced type-safe abstractions through new components: cacheable.hpp, cache_type_traits.hpp, sample_processor.hpp, and type_registry.hpp
- Optimized type erasure implementation in sample processor to reduce runtime overhead
- Renamed rocpd_post_processing to rocpd_processor and restructured the processing pipeline
- Removed storage_parser.cpp and integrated functionality into header-based template implementation
- Enhanced cache_manager with improved processing workflow and better separation of concerns
This commit is contained in:
Milan Radosavljevic
2025-11-20 20:18:13 +01:00
zatwierdzone przez GitHub
rodzic 2f6fb89c51
commit 4d670099fa
27 zmienionych plików z 2876 dodań i 1854 usunięć
@@ -151,12 +151,11 @@ cache_comm_data_events(const uint32_t device_id, int bytes)
const std::string call_stack = "{}";
const std::string line_info = "{}";
trace_cache::get_buffer_storage().store(
trace_cache::entry_type::pmc_event_with_sample, track_name.c_str(), timestamp_ns,
event_metadata.c_str(), stack_id, parent_stack_id, correlation_id,
call_stack.c_str(), line_info.c_str(), device_id,
trace_cache::get_buffer_storage().store(trace_cache::pmc_event_with_sample{
track_name.c_str(), timestamp_ns, event_metadata.c_str(), stack_id,
parent_stack_id, correlation_id, call_stack.c_str(), line_info.c_str(), device_id,
static_cast<uint8_t>(agent_type::CPU), track_name.c_str(),
static_cast<double>(value));
static_cast<double>(value) });
}
} // namespace