Comhaid
habajpai-amd 3318c540ea fix roctx range markers not paired correctly in rocpd output (#2793)
## Motivation

Fix roctx range markers (Push/Pop, Start/Stop) not being displayed correctly in rocpd output. The Visualizer was showing only Stop/Pop events as instant markers instead of proper duration ranges with labels, while Perfetto output displayed them correctly.

## Technical Details

In `tool_tracing_callback_stop()`, the rocpd/database output was using `user_data->value` (timestamp of the Pop/Stop event) instead of `begin_ts` (corrected timestamp from the corresponding Push/Start event) when calling `cache_region()`.

The Perfetto output already used `begin_ts` correctly (line 818). This change aligns the rocpd output with the Perfetto behavior by using `begin_ts` instead of `user_data->value` (line 887).

Updated rocpd validation rules
2026-01-22 23:47:43 -05:00

67 línte
3.1 KiB
JSON

{
"required_tables": [
{
"min_rows": 4,
"name_prefix": "rocpd_info_pmc_",
"required_columns": [
"agent_id",
"target_arch",
"name",
"symbol",
"description",
"units",
"value_type"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Check for amd-smi monitoring categories",
"error_message": "Found none of the amd-smi categories",
"expected_result": 4,
"query": "SELECT COUNT(*) as count FROM {table_name} WHERE target_arch is 'GPU'"
}
]
},
{
"_comment": "The actual number of samples will vary depending on the GPU. This validates presence of samples, not the actual number of samples.",
"min_rows": 20,
"name_prefix": "rocpd_pmc_event_",
"required_columns": [
"event_id",
"pmc_id",
"value"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Check for amd-smi monitoring busy times",
"error_message": "Less than expected number of captured amd-smi-busy samples!",
"expected_result": 5,
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_busy_mm'"
},
{
"comparison": "greater_than",
"description": "Check for amd-smi monitoring GPU temperature",
"error_message": "Less than expected number of captured amd-smi-temperature samples!",
"expected_result": 5,
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_temp'"
},
{
"comparison": "greater_than",
"description": "Check for amd-smi monitoring GPU power consumption",
"error_message": "Less than expected number of captured amd-smi-power samples!",
"expected_result": 5,
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_power'"
},
{
"comparison": "greater_than",
"description": "Check for amd-smi monitoring GPU memory usage",
"error_message": "Less than expected number of captured amd-smi-memory-usage samples!",
"expected_result": 5,
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_memory_usage'"
}
]
}
]
}