Coverage for procpath/cmd/plot.py: 100%

46 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2025-04-05 18:56 +0000

1import itertools 

2from datetime import datetime 

3from typing import Iterable, List, Mapping, Optional 

4 

5from .. import plotting, procret 

6from . import CommandError 

7 

8 

9__all__ = 'run', 

10 

11 

12def _get_queries( 

13 query_name_list: list, 

14 custom_query_file_list: list, 

15 custom_value_expr_list: list, 

16) -> Iterable[procret.Query]: 

17 for query_name in query_name_list: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_overrideprocpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

18 try: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_overrideprocpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

19 query = procret.registry[query_name] procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_overrideprocpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

20 except KeyError: procpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

21 raise CommandError(f'Unknown query {query_name}') procpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

22 else: 

23 yield query procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_overrideprocpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

24 

25 for expr in custom_value_expr_list: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

26 yield procret.create_query(expr, 'Custom expression') procpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_sql_error

27 

28 for filename in custom_query_file_list: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

29 with open(filename, 'r') as f: procpath.test.cmd.TestPlotCommand.test_plot_custom_query_file

30 yield procret.Query(f.read(), 'Custom query') procpath.test.cmd.TestPlotCommand.test_plot_custom_query_file

31 

32 

33def _get_pid_series_points( 

34 timeseries: List[Mapping], 

35 epsilon: Optional[float] = None, 

36 moving_average_window: Optional[int] = None, 

37) -> Mapping[int, List[plotting.Point]]: 

38 pid_series = {} procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

39 for pid, series in itertools.groupby(timeseries, lambda r: r['pid']): procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

40 series = [(r['ts'], r['value']) for r in series] procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

41 if moving_average_window: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

42 series = list(plotting.moving_average(series, moving_average_window)) procpath.test.cmd.TestPlotCommand.test_plot_moving_average_window

43 if epsilon: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

44 series = plotting.decimate(series, epsilon) procpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilon

45 

46 pid_series[pid] = series procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

47 

48 return pid_series procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

49 

50 

51def run( 

52 database_file: str, 

53 plot_file: str, 

54 query_name_list: Optional[list] = None, 

55 after: Optional[datetime] = None, 

56 before: Optional[datetime] = None, 

57 pid_list: Optional[list] = None, 

58 epsilon: Optional[float] = None, 

59 moving_average_window: Optional[int] = None, 

60 share_y_axis: bool = False, 

61 logarithmic: bool = False, 

62 style: Optional[str] = None, 

63 formatter: Optional[str] = None, 

64 title: Optional[str] = None, 

65 no_dots: bool = False, 

66 relative_time: bool = False, 

67 custom_query_file_list: Optional[list] = None, 

68 custom_value_expr_list: Optional[list] = None, 

69): 

70 queries = list(_get_queries( procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_overrideprocpath.test.cmd.TestPlotCommand.test_plot_unknown_named_query

71 query_name_list or [], 

72 custom_query_file_list or [], 

73 custom_value_expr_list or [], 

74 )) 

75 if not queries: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

76 raise CommandError('No query to plot') procpath.test.cmd.TestPlotCommand.test_plot_query_count_error

77 elif not share_y_axis and len(queries) > 2: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_count_errorprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

78 raise CommandError('More than 2 queries to plot on 2 Y axes') procpath.test.cmd.TestPlotCommand.test_plot_query_count_error

79 elif moving_average_window is not None and moving_average_window <= 0: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

80 raise CommandError('Moving average window must be a positive number') procpath.test.cmd.TestPlotCommand.test_plot_invalid_moving_average_window

81 

82 pid_series_list = [] procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

83 for query in queries: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

84 try: procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

85 timeseries = procret.query(database_file, query, after, before, pid_list) procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_sql_errorprocpath.test.cmd.TestPlotCommand.test_plot_title_override

86 except procret.QueryExecutionError as ex: procpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqliteprocpath.test.cmd.TestPlotCommand.test_plot_sql_error

87 raise CommandError(f'SQL error: {ex}') from ex procpath.test.cmd.TestPlotCommand.test_plot_sql_error

88 except procret.QueryError as ex: procpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqlite

89 raise CommandError(str(ex)) from ex procpath.test.cmd.TestPlotCommand.test_plot_query_error_missing_requirementprocpath.test.cmd.TestPlotCommand.test_plot_query_error_old_sqlite

90 else: 

91 pid_series_list.append( procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

92 _get_pid_series_points(timeseries, epsilon, moving_average_window) 

93 ) 

94 

95 plotting.plot( procpath.test.cmd.TestPlayCommand.test_play_record_plotprocpath.test.cmd.TestPlotCommand.test_plotprocpath.test.cmd.TestPlotCommand.test_plot_custom_query_fileprocpath.test.cmd.TestPlotCommand.test_plot_custom_value_exprprocpath.test.cmd.TestPlotCommand.test_plot_logarithmic_two_axesprocpath.test.cmd.TestPlotCommand.test_plot_moving_average_windowprocpath.test.cmd.TestPlotCommand.test_plot_rdp_epsilonprocpath.test.cmd.TestPlotCommand.test_plot_share_y_axisprocpath.test.cmd.TestPlotCommand.test_plot_title_override

96 pid_series_list, 

97 queries, 

98 plot_file, 

99 title=title, 

100 share_y_axis=share_y_axis, 

101 logarithmic=logarithmic, 

102 style=style, 

103 formatter=formatter, 

104 no_dots=no_dots, 

105 relative_time=relative_time, 

106 )