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
This commit is contained in:
کامیت شده توسط
GitHub
والد
50b185b9ac
کامیت
c42bdc3128
@@ -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)
|
||||
|
||||
مرجع در شماره جدید
Block a user