API-twoDPlots

PyMimircache.profiler.twoDPlots.request_rate_2d(reader, time_mode, time_interval, figname='request_rate.png', **kwargs)

plot the number of requests per time_interval vs time :param reader: :param time_mode: either ‘r’ or ‘v’ for real time(wall-clock time) or virtual time(reference time) :param time_interval: :param figname: :return: the list of data points

PyMimircache.profiler.twoDPlots.request_traffic_vol_2d(reader, time_mode, time_interval, size_col, figname='request_traffic_vol.png', **kwargs)

plot the the request traffic volume (number of bytes) per time_interval vs time

Parameters:
  • reader
  • time_mode – either ‘r’ or ‘v’ for real time(wall-clock time) or virtual time(reference time)
  • time_interval
  • figname
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.cold_miss_count_2d(reader, time_mode, time_interval, figname='cold_miss_count2d.png', **kwargs)

plot the number of cold miss per time_interval :param reader: :param time_mode: either ‘r’ or ‘v’ for real time(wall-clock time) or virtual time(reference time) :param time_interval: :param figname: :return: the list of data points

PyMimircache.profiler.twoDPlots.cold_miss_ratio_2d(reader, time_mode, time_interval, figname='cold_miss_ratio2d.png', **kwargs)

plot the percent of cold miss per time_interval :param reader: :param time_mode: either ‘r’ or ‘v’ for real time(wall-clock time) or virtual time(reference time) :param time_interval: :param figname: :return: the list of data points

PyMimircache.profiler.twoDPlots.scan_vis_2d(reader, partial_ratio=0.1, figname=None, **kwargs)

rename all the ojbID for items in the trace for visualization of trace so the first obj is renamed to 1, the second obj is renamed to 2, etc. Notice that it is not first request, second request…

Parameters:
  • reader
  • partial_ratio – take fitst partial_ratio of trace for zooming in
  • figname
Returns:

PyMimircache.profiler.twoDPlots.popularity_2d(reader, logX=True, logY=False, cdf=True, plot_type='all', figname='freq_distribution_2d.png', **kwargs)

plot the popularity curve of the obj in the trace X axis is object frequency, Y axis is either obj percentage or request percentage depending on plot_type

Parameters:
  • reader
  • logX
  • logY
  • cdf
  • plot_type
  • figname
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.rd_freq_popularity_2d(reader, logX=True, logY=True, cdf=False, figname='rdFreq_popularity_2d.png', **kwargs)

plot the reuse distance distribution in a two dimensional figure, X axis is reuse distance frequency Y axis is the number of requests in percentage I don’t know why we need this plot

Parameters:
  • reader
  • logX
  • logY
  • cdf
  • figname
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.rd_distribution_2d(reader, logX=True, logY=False, cdf=True, figname='rd_popularity_2d.png', **kwargs)

plot the reuse distance distribution in two dimension, cold miss is ignored X axis is reuse distance Y axis is number of requests (not in percentage) :param reader: :param logX: :param logY: :param cdf: :param figname: :return: the list of data points

PyMimircache.profiler.twoDPlots.rt_distribution_2d(reader, granularity=10, logX=True, logY=False, cdf=True, figname='rt_popularity_2d.png', **kwargs)

plot the reuse time distribution in the trace X axis is reuse time, Y axis is number of requests (not in percentage)

Parameters:
  • reader
  • granularity
  • logX
  • logY
  • cdf
  • figname
  • kwargs – time_bin
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.obj_size_distribution_2d(reader, logX=True, logY=False, cdf=True, plot_type='all', figname='size_distribution_2d.png', size_col=-1, log_base=1.0002, **kwargs)

plot the popularity curve of the obj in the trace X axis is object frequency, Y axis is either obj percentage or request percentage depending on plot_type

Parameters:
  • reader
  • logX
  • logY
  • cdf
  • plot_type
  • figname
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.interval_hit_ratio_2d(reader, cache_size, decay_coef=0.8, time_mode='v', time_interval=10000, figname='IHRC_2d.png', **kwargs)

The hit ratio curve over time interval, each pixel in the plot represents the exponential weight moving average (ewma) of hit ratio of the interval

Parameters:
  • reader
  • cache_size
  • decay_coef – used in ewma
  • time_mode
  • time_interval
  • figname
Returns:

the list of data points

PyMimircache.profiler.twoDPlots.freq_distribution_2d(reader, logX=True, logY=False, cdf=True, plot_type='all', figname='freq_distribution_2d.png', **kwargs)

plot the popularity curve of the obj in the trace X axis is object frequency, Y axis is either obj percentage or request percentage depending on plot_type

Parameters:
  • reader
  • logX
  • logY
  • cdf
  • plot_type
  • figname
Returns:

the list of data points