Commit ff60981b authored by Philip Carns's avatar Philip Carns

bump log format for open timestamp change

parent 9b5c82c3
...@@ -6,14 +6,13 @@ darshan-2.3.1-pre1 ...@@ -6,14 +6,13 @@ darshan-2.3.1-pre1
============= =============
* Add wrappers for mkstemp(), mkostemp(), mkstemps(), and mkostemps() * Add wrappers for mkstemp(), mkostemp(), mkstemps(), and mkostemps()
* Change OPEN_TIMESTAMP field to report timestamp right before open() is * Change OPEN_TIMESTAMP field to report timestamp right before open() is
invoked rather than after timestamp after open is completed invoked rather than after timestamp after open is completed.
NOTE: updated log format version to 2.06 to reflect this change.
* Change start_time and end_time fields in job record to use min and max * Change start_time and end_time fields in job record to use min and max
(respectively) across all ranks (respectively) across all ranks
* Fix bug in write volume data reported in file system table in * Fix bug in write volume data reported in file system table in
darshan-job-summary.pl (reported by Matthieu Dorier) darshan-job-summary.pl (reported by Matthieu Dorier)
TODO: bump log version number and add warnings about semantic changes
darshan-2.3.0 darshan-2.3.0
============= =============
* Fix incorrect version numbering in darshan-runtime component of Darshan * Fix incorrect version numbering in darshan-runtime component of Darshan
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#endif #endif
/* update this on file format changes */ /* update this on file format changes */
#define CP_VERSION "2.05" #define CP_VERSION "2.06"
/* magic number for validating output files and checking byte order */ /* magic number for validating output files and checking byte order */
#define CP_MAGIC_NR 6567223 #define CP_MAGIC_NR 6567223
......
...@@ -376,7 +376,14 @@ int darshan_log_getjob(darshan_fd file, struct darshan_job *job) ...@@ -376,7 +376,14 @@ int darshan_log_getjob(darshan_fd file, struct darshan_job *job)
return(-1); return(-1);
} }
if(strcmp(file->version, "2.05") == 0) if(strcmp(file->version, "2.06") == 0)
{
getjob_internal = getjob_internal_204;
getfile_internal = getfile_internal_204;
file->job_struct_size = sizeof(*job);
file->COMPAT_CP_EXE_LEN = CP_EXE_LEN;
}
else if(strcmp(file->version, "2.05") == 0)
{ {
getjob_internal = getjob_internal_204; getjob_internal = getjob_internal_204;
getfile_internal = getfile_internal_204; getfile_internal = getfile_internal_204;
...@@ -764,16 +771,24 @@ void darshan_log_close(darshan_fd file) ...@@ -764,16 +771,24 @@ void darshan_log_close(darshan_fd file)
*/ */
void darshan_log_print_version_warnings(struct darshan_job *job) void darshan_log_print_version_warnings(struct darshan_job *job)
{ {
if(strcmp(job->version_string, "2.05") == 0) if(strcmp(job->version_string, "2.06") == 0)
{ {
/* current version */ /* current version */
return; return;
} }
if(strcmp(job->version_string, "2.05") == 0)
{
printf("# WARNING: version 2.05 log format has the following limitations:\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return;
}
if(strcmp(job->version_string, "2.04") == 0) if(strcmp(job->version_string, "2.04") == 0)
{ {
printf("# WARNING: version 2.04 log format has the following limitations:\n"); printf("# WARNING: version 2.04 log format has the following limitations:\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -784,6 +799,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -784,6 +799,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
*/ */
printf("# WARNING: version 2.03 log format has the following limitations:\n"); printf("# WARNING: version 2.03 log format has the following limitations:\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -792,6 +808,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -792,6 +808,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# WARNING: version 2.01 log format has the following limitations:\n"); printf("# WARNING: version 2.01 log format has the following limitations:\n");
printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n"); printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -801,6 +818,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -801,6 +818,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n"); printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -810,6 +828,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -810,6 +828,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n"); printf("# - *_TIMESTAMP fields are not normalized relative to MPI_Init() time.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -829,6 +848,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -829,6 +848,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - does not store the job id in the file.\n"); printf("# - does not store the job id in the file.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -849,6 +869,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -849,6 +869,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - does not store the job id in the file.\n"); printf("# - does not store the job id in the file.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -872,6 +893,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -872,6 +893,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - does not store the job id in the file.\n"); printf("# - does not store the job id in the file.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
...@@ -902,6 +924,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job) ...@@ -902,6 +924,7 @@ void darshan_log_print_version_warnings(struct darshan_job *job)
printf("# - does not store the job id in the file.\n"); printf("# - does not store the job id in the file.\n");
printf("# - inaccurate statistics in some multi-threaded cases.\n"); printf("# - inaccurate statistics in some multi-threaded cases.\n");
printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n"); printf("# - CP_F_SLOWEST_RANK_TIME and CP_F_FASTEST_RANK_TIME only report elapsed time at the POSIX level.\n");
printf("# - CP_F_OPEN_TIMESTAMP marks when the first open completed rather than when the first open started.\n");
return; return;
} }
......
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