diff --git a/tracetools_analysis/tracetools_analysis/__init__.py b/tracetools_analysis/tracetools_analysis/__init__.py index e4deba3..94788ac 100644 --- a/tracetools_analysis/tracetools_analysis/__init__.py +++ b/tracetools_analysis/tracetools_analysis/__init__.py @@ -12,5 +12,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Reading and interpreting of LTTng trace data.""" -__author__ = 'Luetkebohle Ingo (CR/AEX3)' +"""Tools for analysing trace data.""" + + +def time_diff_to_str( + time_diff: float, +) -> str: + """ + Format time difference as a string. + + :param time_diff: the difference between two timepoints (e.g. `time.time()`) + """ + if time_diff < 1.0: + # ms + return f'{time_diff * 1000:.0f} ms' + elif time_diff < 60.0: + # s + return f'{time_diff:.1f} s' + else: + # m s + return f'{time_diff // 60.0:.0f} m {time_diff % 60.0:.0f} s' diff --git a/tracetools_analysis/tracetools_analysis/convert.py b/tracetools_analysis/tracetools_analysis/convert.py index 545bc73..c2384a2 100644 --- a/tracetools_analysis/tracetools_analysis/convert.py +++ b/tracetools_analysis/tracetools_analysis/convert.py @@ -22,6 +22,8 @@ from typing import Optional from tracetools_analysis.conversion import ctf +from . import time_diff_to_str + DEFAULT_CONVERT_FILE_NAME = 'converted' @@ -61,7 +63,7 @@ def convert( start_time = time.time() count = ctf.convert(trace_directory, output_file_path) time_diff = time.time() - start_time - print(f'converted {count} events in {time_diff * 1000:.2f} ms') + print(f'converted {count} events in {time_diff_to_str(time_diff)}') print(f'output written to: {output_file_path}') diff --git a/tracetools_analysis/tracetools_analysis/process.py b/tracetools_analysis/tracetools_analysis/process.py index 77f7714..d7ea399 100644 --- a/tracetools_analysis/tracetools_analysis/process.py +++ b/tracetools_analysis/tracetools_analysis/process.py @@ -28,6 +28,8 @@ from tracetools_analysis.loading import load_file from tracetools_analysis.processor.ros2 import Ros2Handler from tracetools_read.trace import is_trace_directory +from . import time_diff_to_str + def add_args(parser: argparse.ArgumentParser) -> None: parser.add_argument( @@ -136,7 +138,7 @@ def process( time_diff = time.time() - start_time ros2_handler.data.print_model() - print(f'processed {len(events)} events in {time_diff * 1000:.2f} ms') + print(f'processed {len(events)} events in {time_diff_to_str(time_diff)}') def main():