Download perfetto trace_processor_shell (#105)
* Download perfetto trace_processor_shell
* Upgrade to perfetto-trace-processor-shell v0.0.4
* Fix run-ci.py warning
- warning message:
CMake Warning (dev) at /.../build/CTestCustom.cmake:16:
Syntax Warning in cmake code at column 77
Argument not separated from preceding token by whitespace.
* Update tests/pytest-packages/pytest_utils/perfetto_reader.py
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit: 2c3bdeaed9]
This commit is contained in:
@@ -57,7 +57,7 @@ def generate_custom(args, cmake_args, ctest_args):
|
||||
SOURCE_DIR = os.path.realpath(args.source_dir)
|
||||
BINARY_DIR = os.path.realpath(args.binary_dir)
|
||||
CMAKE_ARGS = " ".join(cmake_args)
|
||||
CTEST_ARGS = " ".join(ctest_args)
|
||||
CTEST_ARGS = " ".join(['"{}"'.format(x.replace('"', '\\"')) for x in ctest_args])
|
||||
|
||||
GIT_CMD = which("git", require=True)
|
||||
GCOV_CMD = which("gcov", require=False)
|
||||
@@ -199,7 +199,7 @@ def generate_custom(args, cmake_args, ctest_args):
|
||||
|
||||
set(CTEST_OUTPUT_ON_FAILURE TRUE)
|
||||
set(CTEST_USE_LAUNCHERS TRUE)
|
||||
set(CMAKE_CTEST_ARGUMENTS --output-on-failure {CTEST_ARGS})
|
||||
set(CMAKE_CTEST_ARGUMENTS "--output-on-failure" {CTEST_ARGS})
|
||||
|
||||
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS "100")
|
||||
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "100")
|
||||
|
||||
@@ -5,6 +5,29 @@
|
||||
set(PACKAGE_OUTPUT_DIR
|
||||
${ROCPROFILER_SDK_TESTS_BINARY_DIR}/pytest-packages/rocprofiler_sdk)
|
||||
|
||||
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/trace_processor_shell.linux_clang_release)
|
||||
file(
|
||||
DOWNLOAD
|
||||
https://github.com/jrmadsen/perfetto-trace-processor-shell/releases/download/v0.0.4/trace_processor_shell.linux_clang_release
|
||||
${CMAKE_CURRENT_BINARY_DIR}/trace_processor_shell.linux_clang_release
|
||||
EXPECTED_MD5 c25390cd99aa96622e328efa6699c6c6
|
||||
INACTIVITY_TIMEOUT 30
|
||||
TIMEOUT 300
|
||||
SHOW_PROGRESS)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/trace_processor_shell.linux_clang_release
|
||||
${PACKAGE_OUTPUT_DIR}/pytest_utils/trace_processor_shell
|
||||
COPYONLY
|
||||
FILE_PERMISSIONS
|
||||
OWNER_READ
|
||||
OWNER_WRITE
|
||||
OWNER_EXECUTE
|
||||
GROUP_READ
|
||||
GROUP_EXECUTE
|
||||
WORLD_READ
|
||||
WORLD_EXECUTE)
|
||||
endif()
|
||||
|
||||
set(PYTEST_UTILS_PYTHON_SOURCES __init__.py dotdict.py perfetto_reader.py otf2_reader.py)
|
||||
set(TESTS_PYTHON_SOURCES __init__.py rocprofv3.py)
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
@@ -31,6 +32,11 @@ from collections import OrderedDict
|
||||
from perfetto.trace_processor import TraceProcessor, TraceProcessorConfig
|
||||
|
||||
|
||||
PerfettoTraceProcessorShellPath = os.path.join(
|
||||
os.path.dirname(__file__), "trace_processor_shell"
|
||||
)
|
||||
|
||||
|
||||
class PerfettoReader:
|
||||
"""Read in perfetto protobuf output"""
|
||||
|
||||
@@ -168,6 +174,10 @@ class PerfettoReader:
|
||||
cfg = TraceProcessorConfig(verbose=verbosity)
|
||||
if hasattr(cfg, "load_timeout"):
|
||||
cfg.load_timeout = timeout_v + i
|
||||
if hasattr(cfg, "bin_path") and os.path.exists(
|
||||
PerfettoTraceProcessorShellPath
|
||||
):
|
||||
cfg.bin_path = PerfettoTraceProcessorShellPath
|
||||
return TraceProcessor(trace=(trace_v), config=cfg)
|
||||
except Exception as e:
|
||||
nwait = i + 1
|
||||
|
||||
Reference in New Issue
Block a user