Files
rocm-systems/projects/rocprofiler-systems/examples/code-coverage/code-coverage.py
T
David Galiffi 489eda995d Rename Omnitrace to ROCm Systems Profiler (#4)
The Omnitrace program is being renamed. 

Full name: "ROCm Systems Profiler"
Package name: "rocprofiler-systems"
Binary / Library names: "rocprof-sys-*"

---------
Co-authored-by: Xuan Chen <xuchen@amd.com>
Signed-off-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: d07bf508a9]
2024-10-15 11:20:40 -04:00

55 строки
1.3 KiB
Python

#!@PYTHON_EXECUTABLE@
import rocprofsys
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
"-i",
"--input",
type=str,
nargs="+",
help="Input code coverage",
default=None,
required=True,
)
parser.add_argument(
"-o",
"--output",
type=str,
help="Output code coverage",
default=None,
required=True,
)
args = parser.parse_args()
data = None
for itr in args.input:
_summary, _details = rocprofsys.coverage.load(itr)
if data is None:
data = _details
else:
data = rocprofsys.coverage.concat(data, _details)
summary = rocprofsys.coverage.get_summary(data)
top = rocprofsys.coverage.get_top(data)
bottom = rocprofsys.coverage.get_bottom(data)
print("Top code coverage:")
for itr in top:
print(
f" {itr.count} | {itr.function} | {itr.module}:{itr.line} | {itr.source}"
)
print("Bottom code coverage:")
for itr in bottom:
print(
f" {itr.count} | {itr.function} | {itr.module}:{itr.line} | {itr.source}"
)
print("\nSaving code coverage")
rocprofsys.coverage.save(summary, data, args.output)