In context of CARET, response time is defined how much of time costs from a message input to message output of a target path. Please refer to FAQ if you are interested in response time defined in CARET.
"Response time" is generally used for the input/output of a system. Therefore, when analyzing a part of a system (when a target path is a part of end-to-end path), it should be referred to as "path latency (sum of node latency and communication latency)" rather than "response time". However, both will be referred to as "response time" for simplicity in this document.
Three cases of response time is defined;
best case, CARET samples shortest time elapsed in a targeted path. With
worst case, the previous message input timing is taken into account.
best-to-worst case includes most of all cases between
This section shows two methods to visualize response time,
Execute the following script code to load trace data and an architecture object before calling this method.
from caret_analyze.plot import Plot from caret_analyze import Application, Architecture, Lttng from bokeh.plotting import output_notebook, figure, show output_notebook() arch = Architecture('yaml', '/path/to/architecture_file') lttng = Lttng('/path/to/trace_data') app = Application(arch, lttng) path = app.get_path('target_path')
The following scripts generate histograms of response time. Horizontal axis of the histograms means response time, labeled
Response Time [ms] and vertical axis of the histograms means
# plot best-to-worst case plot = Plot.create_response_time_histogram_plot(path) plot.show()
output_notebook() is needed to show figures inside Jupyter Notebook.
# plot best case plot = Plot.create_response_time_histogram_plot(path, case='best') plot.show()
# plot worst case plot = Plot.create_response_time_histogram_plot(path, case='worst') plot.show()
The following scripts generate stacked bar graphs of response time.
Horizontal axis of the stacked bar graph means timeseries and vertical axis means
Response time in the worst case or in the best case.
# plot worst case plot = Plot.create_response_time_stacked_bar_plot(path) plot.show() # or # plot = Plot.create_response_time_stacked_bar_plot(path, case='worst') # plot.show()
# plot best case plot = Plot.create_response_time_stacked_bar_plot(path, case='best') plot.show()
The horizontal axis can be changed to
system time or
index by changing
[worst - best] response time in legends refers to the difference in response time between the worst case and the best case.