From 5ef563e54ca75bfc600725a68a8b0b42ee9822d9 Mon Sep 17 00:00:00 2001 From: Kajetan Puchalski Date: Wed, 23 Aug 2023 17:31:30 +0100 Subject: [PATCH] ftrace: Allow setting the interval for record mode The trace-cmd record mode allows setting the interval to determine how often it will write to the trace file. The default is 1000 (us, ie. 1ms). Add a collector parameter to allow setting that interval. This will only have an effect when trace_cmd_mode is 'record' as the option does not exist for 'start' mode. Signed-off-by: Kajetan Puchalski --- devlib/collector/ftrace.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/devlib/collector/ftrace.py b/devlib/collector/ftrace.py index e3c29bbb8..1a0f742b1 100644 --- a/devlib/collector/ftrace.py +++ b/devlib/collector/ftrace.py @@ -74,6 +74,7 @@ def __init__(self, target, trace_clock='local', saved_cmdlines_nr=4096, trace_cmd_mode='start', + record_interval=1000, ): super(FtraceCollector, self).__init__(target) self.events = events if events is not None else DEFAULT_EVENTS @@ -98,6 +99,7 @@ def __init__(self, target, self.function_string = None self.trace_clock = trace_clock self.saved_cmdlines_nr = saved_cmdlines_nr + self.record_interval = record_interval self._reset_needed = True self.bg_cmd = None self.tmp_working_directory = self.target.execute("{} mktemp -p {} -d".format( @@ -292,9 +294,10 @@ async def start(self): ) if self.trace_cmd_mode == 'record': - trace_cmd = "cd {} && {command} {output}".format( + trace_cmd = "cd {} && {command} {interval} {output}".format( self.tmp_working_directory, command=trace_cmd, + interval="-s {}".format(self.record_interval), output="-o {}".format(self.target_output_file) ) if self.bg_cmd is None: