Files
David Galiffi e453705d9b Check if test exists before adding validation (#1478)
* Check if test exists before adding validation

* Adjust validation parameters for rocpd_string

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2025-10-22 12:19:38 -04:00

328 lines
15 KiB
JSON

{
"required_tables": [
{
"commit": "Validation rules for hip_api",
"name": "events_args",
"required_columns": [
"event_id",
"category",
"stack_id",
"parent_stack_id",
"correlation_id"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_hip_api' appears in category at least 1500 times in table events_args",
"error_message": "'rocm_hip_api' category entries are fewer than expected in events_args",
"expected_result": 1500,
"query": "SELECT COUNT(*) FROM events_args WHERE category = 'rocm_hip_api';"
},
{
"comparison": "equals",
"description": "Check for missing category entries",
"error_message": "Empty or NULL category entries found in events_args",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM events_args WHERE category IS NULL OR TRIM(category) = '';"
}
]
},
{
"commit": "Validation rules for hip_api",
"name": "regions",
"required_columns": [
"id",
"guid",
"category",
"name"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_hip_api' appears in category at least 500 times in table regions",
"error_message": "'rocm_hip_api' category entries are fewer than expected in regions",
"expected_result": 500,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_hip_api';"
},
{
"comparison": "equals",
"description": "Ensure there are no HIP API calls that last 0 seconds",
"error_message": "Found HIP API captures where duration is 0",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_hip_api' AND duration = 0;"
},
{
"comparison": "equals",
"description": "Check for any NULL values in the 'name' column of regions",
"error_message": "NULL entries found in the name column of regions",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM regions WHERE name IS NULL;"
}
]
},
{
"commit": "Validation rule for hip_api",
"name": "rocpd_string",
"required_columns": [
"id",
"guid",
"string"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_hip_api' string is present in the table",
"error_message": "'rocm_hip_api' string not found in the table rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_hip_api%';"
}
]
},
{
"commit": "Validation rules for hsa_api",
"name": "events_args",
"required_columns": [
"event_id",
"category",
"stack_id",
"parent_stack_id",
"correlation_id"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_hsa_api' appears in category at least 1000 times in table events_args",
"error_message": "'rocm_hsa_api' category entries are fewer than expected in events_args",
"expected_result": 1000,
"query": "SELECT COUNT(*) FROM events_args WHERE category = 'rocm_hsa_api';"
}
]
},
{
"commit": "Validation rules for hsa_api",
"name": "regions",
"required_columns": [
"id",
"guid",
"category",
"name"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that rocm_hsa_api' appears in category at least 500 times in table regions",
"error_message": "'rocm_hsa_api' category entries are fewer than expected in regions",
"expected_result": 500,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_hsa_api';"
},
{
"comparison": "equals",
"description": "Ensure there are no HSA API calls that last 0 seconds",
"error_message": "Found HSA API captures where duration is 0",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_hsa_api' AND duration = 0;"
},
{
"comparison": "equals",
"description": "Check for any NULL values in the 'name' column of regions",
"error_message": "NULL entries found in the name column of regions",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM regions WHERE name IS NULL;"
}
]
},
{
"commit": "Validation rule for hsa_api",
"name": "rocpd_string",
"required_columns": [
"id",
"guid",
"string"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_hsa_api' string is present in the table",
"error_message": "'rocm_hsa_api' string not found in the table rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_hsa_api%';"
}
]
},
{
"commit": "Validation rules for memory_allocations",
"name": "memory_allocations",
"required_columns": [
"id",
"guid",
"category",
"nid",
"pid",
"tid",
"start",
"end",
"duration",
"type",
"level",
"agent_name"
],
"validation_queries": [
{
"comparison": "equals",
"description": "Check that all IDs are not NULL",
"error_message": "NULL entries found in the id column of memory_allocations",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_allocations WHERE id IS NULL;"
},
{
"comparison": "equals",
"description": "Check the sizes of executed memory allocate calls",
"error_message": "Entries found where allocated size is 0 or NULL",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_allocations WHERE size IS NULL or 0;"
},
{
"comparison": "greater_than",
"description": "Verify that 'rocm_memory_allocate' appears more than 1 times in category",
"error_message": "'rocm_memory_allocate' string appears fewer than 1 times in category column of memory_allocations",
"expected_result": 1,
"query": "SELECT COUNT(*) FROM memory_allocations WHERE category LIKE '%rocm_memory_allocate%';"
}
]
},
{
"name": "rocpd_string",
"required_columns": [
"id",
"guid",
"string"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_memory_allocate' is present in the string column",
"error_message": "'rocm_memory_allocate' string not found in the string column of rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_memory_allocate%';"
}
]
},
{
"commit": "Validation rules for memory_copies",
"name": "rocpd_string",
"required_columns": [
"id",
"guid",
"string"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_memory_copy' is present in the string column",
"error_message": "'rocm_memory_copy' string not found in the string column of rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_memory_copy%';"
},
{
"comparison": "greater_than",
"description": "Verify that 'MEMORY_COPY_DEVICE_TO_HOST' is present in the string column",
"error_message": "'MEMORY_COPY_DEVICE_TO_HOST' string not found in the string column of rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%MEMORY_COPY_DEVICE_TO_HOST%';"
},
{
"comparison": "greater_than",
"description": "Verify that 'MEMORY_COPY_HOST_TO_DEVICE' is present in the string column",
"error_message": "'MEMORY_COPY_HOST_TO_DEVICE' string not found in the string column of rocpd_string",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%MEMORY_COPY_HOST_TO_DEVICE%';"
}
]
},
{
"commit": "Validation rules for memory_copies",
"name": "memory_copies",
"required_columns": [
"id",
"guid",
"category",
"nid",
"pid",
"tid",
"start",
"end"
],
"validation_queries": [
{
"comparison": "greater_than",
"description": "Verify that 'rocm_memory_copy' appears in category column",
"error_message": "'rocm_memory_copy' string appears fewer than 10 times in category column of memory_copies",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE category LIKE '%rocm_memory_copy%';"
},
{
"comparison": "equals",
"description": "Check that all IDs are not NULL",
"error_message": "NULL entries found in the id column of memory_copies",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE id IS NULL;"
},
{
"comparison": "equals",
"description": "Check the sizes of executed memory_copy calls",
"error_message": "NULL entries found where copied size is 0 or non-existing field",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE size IS NULL or 0;"
},
{
"comparison": "equals",
"description": "Check the agents executing memory_copy calls",
"error_message": "NULL entries found where copied size is 0 or non-existing field",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE size IS NULL or 0;"
}
]
},
{
"commit": "Validation rules for memory_copies - agent verification",
"name": "memory_copies",
"required_columns": [
"id",
"guid",
"dst_agent_abs_index",
"src_agent_abs_index"
],
"validation_queries": [
{
"comparison": "equals",
"description": "Verify that all dst_agent_abs_index values exist in rocpd_info_agent table",
"error_message": "Found dst_agent_abs_index values in memory_copies that do not exist in rocpd_info_agent table",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies mc LEFT JOIN rocpd_info_agent ag ON mc.dst_agent_abs_index = ag.absolute_index AND mc.guid = ag.guid WHERE mc.dst_agent_abs_index IS NOT NULL AND ag.absolute_index IS NULL;"
},
{
"comparison": "equals",
"description": "Verify that all src_agent_abs_index values exist in rocpd_info_agent table",
"error_message": "Found src_agent_abs_index values in memory_copies that do not exist in rocpd_info_agent table",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies mc LEFT JOIN rocpd_info_agent ag ON mc.src_agent_abs_index = ag.absolute_index AND mc.guid = ag.guid WHERE mc.src_agent_abs_index IS NOT NULL AND ag.absolute_index IS NULL;"
},
{
"comparison": "equals",
"description": "Check that dst_agent_abs_index is not NULL for memory copy operations",
"error_message": "NULL entries found in dst_agent_abs_index column of memory_copies",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE dst_agent_abs_index IS NULL;"
},
{
"comparison": "equals",
"description": "Check that src_agent_abs_index is not NULL for memory copy operations",
"error_message": "NULL entries found in src_agent_abs_index column of memory_copies",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM memory_copies WHERE src_agent_abs_index IS NULL;"
}
]
}
]
}