Commit 01346486 authored by Philip Carns's avatar Philip Carns

calculate total I/O time and (sometimes broken) total bytes written


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@334 3b7491f3-a168-0410-bf4b-c445ed680a29
parent 14683fb0
......@@ -30,6 +30,7 @@ my %hash_files = ();
# data structures for calculating performance
my %hash_unique_file_time = ();
my $shared_file_time = 0;
my $total_job_bytes = 0;
process_args();
......@@ -924,6 +925,9 @@ if(keys %hash_unique_file_time > 0)
}
print("Slowest unique file time: $slowest_uniq_time\n");
print("Slowest shared file time: $shared_file_time\n");
print("Total bytes read and written by app (may be incorrect): $total_job_bytes\n");
my $tmp_total_time = $slowest_uniq_time+$shared_file_time;
print("Total absolute I/O time: $tmp_total_time\n");
if(-x "$FindBin::Bin/gnuplot")
{
......@@ -1199,6 +1203,27 @@ sub process_file_record
}
}
my $mpi_did_read =
$file_record{'CP_INDEP_READS'} +
$file_record{'CP_COLL_READS'} +
$file_record{'CP_NB_READS'} +
$file_record{'CP_SPLIT_READS'};
# add up how many bytes were transferred
if(($file_record{CP_INDEP_OPENS} > 0 ||
$file_record{CP_COLL_OPENS} > 0) && (!($mpi_did_read)))
{
# mpi file that was only written; disregard any read accesses that
# may have been performed for sieving at the posix level
$total_job_bytes += $file_record{'CP_BYTES_WRITTEN'};
}
else
{
# normal case
$total_job_bytes += $file_record{'CP_BYTES_WRITTEN'} +
$file_record{'CP_BYTES_READ'};
}
# TODO
# (detect mpi or posix and):
# - sum meta time per rank for uniq files
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment