Files
rocm-systems/projects/rocprofiler-systems/tests/rocpd-validation-rules/roctx/sdk-metrics-rules.json
T
David Galiffi 32f9fa6ca5 Enable some simple ROCpd testing (#834)
* Add for rocpd testing and output validation

Add for transpose, video-decode, jpeg-decode, roctx, and openmp-target
Add JSON check to pre-commit-config

Co-authored-by: Marjan Antic <Marjan.Antic@amd.com>

* Remove redundant environment variable

* Fix spelling typo

* Fix typo in error message

* Fix memory_allocation query

* Incorperate feedback from review. Handle case where there are multiple matching "name_prefix" tables.

* Fix environment settings in `rocprof-sys-testing.cmake`

Accidently removed in previous refactoring.

* Formatting python file

---------

Co-authored-by: Marjan Antic <Marjan.Antic@amd.com>
2025-10-20 17:40:10 -04:00

111 lines
5.2 KiB
JSON

{
"required_tables": [
{
"commit": "Validation rules for rocm_marker_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_marker_api' appears in category at least 5 times in table events_args",
"error_message": "'rocm_marker_api' category entries are fewer than expected in events_args",
"expected_result": 5,
"query": "SELECT COUNT(*) FROM events_args WHERE category = 'rocm_marker_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 rocm_marker_api",
"name": "regions",
"required_columns": [
"id",
"guid",
"category",
"name"
],
"validation_queries": [
{
"comparison": "equals",
"description": "Verify that 'rocm_marker_api' appears in category 11 times in 'regions' table",
"error_message": "Expected 11 'rocm_marker_api' entries in the 'regions' table",
"expected_result": 11,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_marker_api';"
},
{
"comparison": "equals",
"description": "Ensure there are no rocTX API calls that last 0 seconds",
"error_message": "Found rocTX API captures where duration is 0",
"expected_result": 0,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_marker_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;"
},
{
"comparison": "equals",
"description": "Verify that 'roctxMarkA' appears at 5 times in table 'regions'",
"error_message": "Expected 5 'roctxMarkA' entries in `regions` table",
"expected_result": 5,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_marker_api' AND name = 'roctxMarkA';"
},
{
"comparison": "equals",
"description": "Verify that 'roctxRangePop' appears at 3 times in table 'regions'",
"error_message": "Expected 3 'roctxRangePop' entries in `regions` table",
"expected_result": 3,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_marker_api' AND name = 'roctxRangePop';"
},
{
"comparison": "equals",
"description": "Verify that 'roctxRangeStop' appears at 2 times in table 'regions'",
"error_message": "Expected 2 'roctxRangeStop' entries in `regions` table",
"expected_result": 2,
"query": "SELECT COUNT(*) FROM regions WHERE category = 'rocm_marker_api' AND name = 'roctxRangeStop';"
}
]
},
{
"commit": "Validation rule for rocm_marker_api",
"name": "rocpd_string",
"required_columns": [
"id",
"guid",
"string"
],
"validation_queries": [
{
"comparison": "greater_than_or_equal",
"description": "Verify that 'rocm_marker_api' string is present in the table",
"error_message": "'rocm_marker_api' string not found in the table rocpd_string",
"expected_result": 1,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_marker_api%';"
},
{
"comparison": "greater_than",
"description": "Verify that 'roctx' string is present in the table",
"error_message": "'roctx' string not found in the table rocpd_string",
"expected_result": 1,
"query": "SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%roctx%';"
}
]
}
]
}