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.