rocprofv3: rocprofv3-avail tool (#15)
* support avail tool
Updating avail library and script
Listing on Std output incase the output folder is not given
Extending list metrics test
misc fix
misc fix
fixing memory leak
changing list-metrics to list-avail
fixing formatting issue
Fixing CMakeLists
Add test for list avil with trace
Fix test fail
clang tidy errors fixed
Removing build commands for rocprofv3-trigger-list
Addressing review changes
addressing review comment
moving avail to libexec
merge fix
Fix test failures
updating doc
Fix doc error
* updating legacy doc
* fix formatting issue
* Addressing review comments
[ROCm/rocprofiler-sdk commit: c42bdc3128]
This commit is contained in:
committed by
GitHub
parent
9cfbfb5060
commit
e67918dfe8
+28
-12
@@ -15,28 +15,35 @@ rocprofiler_configure_pytest_files(CONFIG pytest.ini COPY validate.py conftest.p
|
||||
|
||||
# basic-metrics
|
||||
add_test(
|
||||
NAME rocprofv3-test-list-metrics-execute
|
||||
COMMAND
|
||||
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> -d
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2 -o metrics --list-metrics)
|
||||
NAME rocprofv3-test-list-avail-execute
|
||||
COMMAND $<TARGET_FILE:rocprofiler-sdk::rocprofv3> -d
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2 -o metrics --list-avail)
|
||||
|
||||
# list-metrics-stdout
|
||||
add_test(NAME rocprofv3-test-list-metrics-std-out-execute
|
||||
add_test(NAME rocprofv3-test-list-avail-std-out-execute
|
||||
COMMAND $<TARGET_FILE:rocprofiler-sdk::rocprofv3> -i
|
||||
${CMAKE_CURRENT_BINARY_DIR}/input.json)
|
||||
|
||||
# list-metrics with tracing
|
||||
add_test(
|
||||
NAME rocprofv3-test-list-avail-trace-execute
|
||||
COMMAND
|
||||
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> -d
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2 -o metrics --list-avail
|
||||
--sys-trace -- $<TARGET_FILE:transpose>)
|
||||
|
||||
string(REPLACE "LD_PRELOAD=" "ROCPROF_PRELOAD=" PRELOAD_ENV
|
||||
"${ROCPROFILER_MEMCHECK_PRELOAD_ENV}")
|
||||
|
||||
set(cc-env-list-metrics "${PRELOAD_ENV}")
|
||||
|
||||
set_tests_properties(
|
||||
rocprofv3-test-list-metrics-execute
|
||||
rocprofv3-test-list-avail-execute
|
||||
PROPERTIES TIMEOUT 45 LABELS "integration-tests" ENVIRONMENT "${cc-env-list-metrics}"
|
||||
FAIL_REGULAR_EXPRESSION "${ROCPROFILER_DEFAULT_FAIL_REGEX}")
|
||||
|
||||
set_tests_properties(
|
||||
rocprofv3-test-list-metrics-std-out-execute
|
||||
rocprofv3-test-list-avail-std-out-execute
|
||||
PROPERTIES
|
||||
TIMEOUT
|
||||
45
|
||||
@@ -45,23 +52,32 @@ set_tests_properties(
|
||||
ENVIRONMENT
|
||||
"${cc-env-list-metrics}"
|
||||
PASS_REGULAR_EXPRESSION
|
||||
"gpu-agent[0-9]*:[a-zA-Z_]*\\n;Description:(.*)\\n*;Expression:(.)*\\n*;Block:[a-zA-Z]*\\n*;Dimensions:([A-Z_]*\\[[0-9]*:[0-9]*\\])*\\n*;"
|
||||
"gpu-agent:[0-9]*\\n*; Name:\t[a-zA-Z_]*\\n;Description:\t(.*)\\n*;Expression:\t(.)*\\n*;Block:\t[a-zA-Z]*\\n*;Dimensions:\t([A-Z_]*\\[[0-9]*:[0-9]*\\];Method:\t(.*);Unit:\t(.*);Minimum_Interval:\t[0-9]*;Maximum_Interval:\t[0-9]*)*\\n*;"
|
||||
)
|
||||
|
||||
set_tests_properties(
|
||||
rocprofv3-test-list-avail-trace-execute
|
||||
PROPERTIES TIMEOUT 45 LABELS "integration-tests" ENVIRONMENT "${cc-env-list-metrics}"
|
||||
FAIL_REGULAR_EXPRESSION "${ROCPROFILER_DEFAULT_FAIL_REGEX}")
|
||||
|
||||
set(VALIDATION_FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_basic_metrics.csv
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_derived_metrics.csv)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_derived_metrics.csv
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_pc_sample_config.csv)
|
||||
|
||||
add_test(
|
||||
NAME rocprofv3-test-list-metrics-validate
|
||||
NAME rocprofv3-test-list-avail-validate
|
||||
COMMAND
|
||||
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py
|
||||
--derived-metrics-input
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_derived_metrics.csv
|
||||
--basic-metrics-input
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_basic_metrics.csv)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_basic_metrics.csv
|
||||
--pc-sample-config-input
|
||||
${CMAKE_CURRENT_BINARY_DIR}/out_counter_collection_2/metrics_pc_sample_config.csv)
|
||||
|
||||
set_tests_properties(
|
||||
rocprofv3-test-list-metrics-validate
|
||||
rocprofv3-test-list-avail-validate
|
||||
PROPERTIES TIMEOUT
|
||||
45
|
||||
LABELS
|
||||
|
||||
@@ -7,6 +7,7 @@ import pytest
|
||||
def pytest_addoption(parser):
|
||||
parser.addoption("--basic-metrics-input", action="store", help="Path to csv file.")
|
||||
parser.addoption("--derived-metrics-input", action="store", help="Path to csv file.")
|
||||
parser.addoption("--pc-sample-config-input", action="store", help="Path to csv file.")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -33,3 +34,16 @@ def basic_metrics_input_data(request):
|
||||
data.append(row)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def pc_sample_config_input_data(request):
|
||||
filename = request.config.getoption("--pc-sample-config-input")
|
||||
data = []
|
||||
if filename:
|
||||
with open(filename, "r") as inp:
|
||||
reader = csv.DictReader(inp)
|
||||
for row in reader:
|
||||
data.append(row)
|
||||
|
||||
return data
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"jobs": [
|
||||
{
|
||||
"list_metrics": true
|
||||
"list_avail": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -29,6 +29,15 @@ def test_validate_list_derived_metrics(derived_metrics_input_data):
|
||||
row["Expression"] == "reduce(TA_TA_BUSY,min)"
|
||||
|
||||
|
||||
def test_validate_list_pc_sample_config(pc_sample_config_input_data):
|
||||
for row in pc_sample_config_input_data:
|
||||
assert row["Agent_Id"].isdigit() == True
|
||||
assert row["Method"] != ""
|
||||
assert row["Unit"] != ""
|
||||
assert row["Minimum_Interval"].isdigit() == True
|
||||
assert row["Maximum_Interval"].isdigit() == True
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
exit_code = pytest.main(["-x", __file__] + sys.argv[1:])
|
||||
sys.exit(exit_code)
|
||||
|
||||
Reference in New Issue
Block a user