mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-09-02 03:12:34 +01:00
cpustates: Added the ability to configure how a missing start marker is handled.
cpustates can now handle the lack of a start marker in three ways: - try: If the start marker is present only the correct section of the trace will be used, if its not the whole trace will be used. - error: An error will be raised if the start marker is missing - ignore: The markers are ignored and the whole trace is always used.
This commit is contained in:
@@ -109,6 +109,19 @@ class CpuStatesProcessor(ResultProcessor):
|
||||
The values generated are floating point numbers, normalised based on the maximum
|
||||
frequency of the cluster.
|
||||
"""),
|
||||
Parameter('start_marker_handling', kind=str, default="try",
|
||||
allowed_values=['ignore', 'try', 'error'],
|
||||
description="""
|
||||
|
||||
The trace-cmd instrument inserts a marker into the trace to indicate the beginning
|
||||
of workload execution. In some cases, this marker may be missing in the final
|
||||
output (e.g. due to trace buffer overrun). This parameter specifies how a missing
|
||||
start marker will be handled:
|
||||
|
||||
:`ignore`: The start marker will be ignored. All events in the trace will be used.
|
||||
:`error`: An error will be raised if the start marker is not found in the trace.
|
||||
:`try`: If the start marker is not found, all events in the trace will be used.
|
||||
""")
|
||||
]
|
||||
|
||||
def validate(self):
|
||||
@@ -201,10 +214,10 @@ class CpuStatesProcessor(ResultProcessor):
|
||||
timeline_csv_file=timeline_csv_file,
|
||||
cpu_utilisation=cpu_utilisation,
|
||||
max_freq_list=self.max_freq_list,
|
||||
start_marker_handling=self.start_marker_handling,
|
||||
)
|
||||
parallel_report = reports.pop(0)
|
||||
powerstate_report = reports.pop(0)
|
||||
|
||||
if parallel_report is None:
|
||||
self.logger.warning('No power state reports generated; are power '
|
||||
'events enabled in the trace?')
|
||||
|
Reference in New Issue
Block a user