dump-trace: keep track of read/written bytes
This change adds access-size tracking to dump-trace and output thereof in mode "-s". Change-Id: I5647d7b16c89499b7813faaf8c3844f275bc552a
This commit is contained in:
@ -84,7 +84,8 @@ int main(int argc, char *argv[])
|
|||||||
ProtoIStream ps(&openStream(cmd.parser()->nonOption(0), normal_stream, gz_stream));
|
ProtoIStream ps(&openStream(cmd.parser()->nonOption(0), normal_stream, gz_stream));
|
||||||
|
|
||||||
uint64_t acctime = 0;
|
uint64_t acctime = 0;
|
||||||
uint64_t stats_instr = 0, stats_reads = 0, stats_writes = 0, starttime = 0;
|
uint64_t stats_instr = 0, stats_reads = 0, stats_writes = 0;
|
||||||
|
uint64_t stats_read_b = 0, stats_write_b = 0, starttime = 0;
|
||||||
|
|
||||||
while (ps.getNext(&ev)) {
|
while (ps.getNext(&ev)) {
|
||||||
if (ev.has_time_delta()) {
|
if (ev.has_time_delta()) {
|
||||||
@ -137,16 +138,23 @@ int main(int argc, char *argv[])
|
|||||||
<< dec << " t=" << acctime
|
<< dec << " t=" << acctime
|
||||||
<< ext.str() << "\n";
|
<< ext.str() << "\n";
|
||||||
}
|
}
|
||||||
stats_reads += (ev.accesstype() == Trace_Event_AccessType_READ);
|
if (ev.accesstype() == Trace_Event_AccessType_READ) {
|
||||||
stats_writes += (ev.accesstype() == Trace_Event_AccessType_WRITE);
|
stats_reads++;
|
||||||
|
stats_read_b += ev.width();
|
||||||
|
} else {
|
||||||
|
stats_writes++;
|
||||||
|
stats_write_b += ev.width();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stats_only) {
|
if (stats_only) {
|
||||||
cout << "#instructions: " << stats_instr << "\n"
|
cout << "#instructions: " << stats_instr << "\n"
|
||||||
<< "#memR: " << stats_reads << "\n"
|
<< "#memR: " << stats_reads << "\n"
|
||||||
<< "#memW: " << stats_writes << "\n"
|
<< "#memR_bytes " << stats_read_b << "\n"
|
||||||
<< "duration: " << (acctime - starttime + 1) << endl;
|
<< "#memW: " << stats_writes << "\n"
|
||||||
|
<< "#memW_bytes " << stats_write_b << "\n"
|
||||||
|
<< "duration: " << (acctime - starttime + 1) << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user