[1/N] Agent Counter Collection Implementation (#832)

Added public API call to setup agent counter collection on a context.

Refactored the return types internally for dispatch counter collection
to use rocprofiler_status_t (allow for more verbose failures to be
surfaced via the API)

Subsequent commits will fill out the sampling functionality for agent
counter collection.

Co-authored-by: Benjamin Welton <ben@amd.com>
Bu işleme şunda yer alıyor:
Benjamin Welton
2024-05-01 13:34:54 -07:00
işlemeyi yapan: GitHub
ebeveyn e21609c80e
işleme cb3fc070c7
14 değiştirilmiş dosya ile 192 ekleme ve 53 silme
+10 -2
Dosyayı Görüntüle
@@ -206,7 +206,15 @@ stop_context(const context::context* ctx)
if(controller) controller->disable_serialization();
}
bool
rocprofiler_status_t
configure_agent_collection(rocprofiler_context_id_t context_id,
rocprofiler_buffer_id_t buffer_id,
rocprofiler_profile_config_id_t config_id)
{
return get_controller().configure_agent_collection(context_id, buffer_id, config_id);
}
rocprofiler_status_t
configure_buffered_dispatch(rocprofiler_context_id_t context_id,
rocprofiler_buffer_id_t buffer,
rocprofiler_profile_counting_dispatch_callback_t callback,
@@ -217,7 +225,7 @@ configure_buffered_dispatch(rocprofiler_context_id_t con
context_id, buffer, callback, callback_args, nullptr, nullptr);
}
bool
rocprofiler_status_t
configure_callback_dispatch(rocprofiler_context_id_t context_id,
rocprofiler_profile_counting_dispatch_callback_t callback,
void* callback_data_args,