Open Different Traces

Supported Trace File Type

  • plain Text

  • csv file

  • binary file

  • vscsi trace

How to Open a Trace File

Now let’s open a trace file. You have three choices for opening different types of trace files. Choose the one that suits your needs.

>>> import mimircache as m
>>> c = m.cachecow()
>>> c.open("path/to/trace")
>>> c.csv("path/to/trace", init_params={'label':x})  # specify which column contains the request key(label)
>>> c.binary("path/to/trace", init_params={"label": x, "fmt": xxx})   # use same format as python struct
>>> c.vscsi("path/to/trace")                          # for vscsi format data

Note

for csv and binary data, the column/field number begins from 1, so the first column(field) is 1, the second is 2, etc. In the init_params, other possible parameters are listed in the table below

Keyword Argument

relavant file type

Possible Value

Default Value

Description

label

csv/binary

int

this is required

the column of label of the request

fmt

binary

string

this is required

fmt string of binary data, same as python struct

header

csv

True/False

False

whether csv data has header

delimiter

csv

char

“,”

the delimiter separating fields in the csv file

real_time

csv/binary

int

NA

the column of real time

op

csv/binary

int

NA

the column of operation (read/write)

size

csv/binary

int

NA

the column of block/request size

OK, data is ready, now let’s play!

If you want to read your data from cachecow, you can simply use cachecow as an iterator. For example, do the following:

>>> for request in c:
>>>     print(c)

Note

If you have a special data format, you can write your own reader in a few lines, see here about how to write your own cache reader.