GitLab maintenance scheduled for Tomorrow, 2019-09-24, from 12:00 to 13:00 CT - Services will be unavailable during this time.

Commit 84b8bb1c authored by Shane Snyder's avatar Shane Snyder

print version-specific warnings in module logutils

parent f426db8d
......@@ -38,7 +38,7 @@ static int darshan_log_get_bgq_rec(darshan_fd fd, void** bgq_buf_p);
static int darshan_log_put_bgq_rec(darshan_fd fd, void* bgq_buf, int ver);
static void darshan_log_print_bgq_rec(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_bgq_description(void);
static void darshan_log_print_bgq_description(int ver);
static void darshan_log_print_bgq_rec_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_bgq_recs(void *rec, void *agg_rec, int init_flag);
......@@ -175,7 +175,7 @@ static void darshan_log_print_bgq_rec(void *file_rec, char *file_name,
return;
}
static void darshan_log_print_bgq_description()
static void darshan_log_print_bgq_description(int ver)
{
printf("\n# description of BGQ counters:\n");
printf("# BGQ_CSJOBID: BGQ control system job ID.\n");
......
......@@ -34,7 +34,7 @@ static int darshan_log_get_hdf5_file(darshan_fd fd, void** hdf5_buf_p);
static int darshan_log_put_hdf5_file(darshan_fd fd, void* hdf5_buf, int ver);
static void darshan_log_print_hdf5_file(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_hdf5_description(void);
static void darshan_log_print_hdf5_description(int ver);
static void darshan_log_print_hdf5_file_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_hdf5_files(void *rec, void *agg_rec, int init_flag);
......@@ -136,7 +136,7 @@ static void darshan_log_print_hdf5_file(void *file_rec, char *file_name,
return;
}
static void darshan_log_print_hdf5_description()
static void darshan_log_print_hdf5_description(int ver)
{
printf("\n# description of HDF5 counters:\n");
printf("# HDF5_OPENS: HDF5 file open operation counts.\n");
......
......@@ -765,14 +765,6 @@ void darshan_log_close(darshan_fd fd)
void darshan_log_print_version_warnings(const char *version_string)
{
if(strcmp(version_string, "3.00") == 0)
{
printf("# WARNING: version 3.00 log format has the following limitations:\n");
printf("# - Partial instrumentation of stdio stream I/O functions not parsable by Darshan versions >= 3.1.0\n");
printf("# * Using darshan-logutils versions < 3.1.0, this data can be found in the following POSIX counters:\n");
printf("# * POSIX_FOPENS, POSIX_FREADS, POSIX_FWRITES, POSIX_FSEEKS\n");
}
return;
}
......
......@@ -101,8 +101,11 @@ struct darshan_mod_logutil_funcs
char *fs_type,
int ver
);
/* print module-specific description of I/O characterization data */
void (*log_print_description)(void);
/* print module-specific description of I/O characterization data
* - 'ver' is the version of the record
*/
void (*log_print_description)(
int ver);
/* print a text diff of 2 module I/O records */
void (*log_print_diff)(
void *rec1,
......
......@@ -28,7 +28,7 @@ static int darshan_log_get_lustre_record(darshan_fd fd, void** lustre_buf_p);
static int darshan_log_put_lustre_record(darshan_fd fd, void* lustre_buf, int ver);
static void darshan_log_print_lustre_record(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_lustre_description(void);
static void darshan_log_print_lustre_description(int ver);
static void darshan_log_print_lustre_record_diff(void *rec1, char *file_name1,
void *rec2, char *file_name2);
static void darshan_log_agg_lustre_records(void *rec, void *agg_rec, int init_flag);
......@@ -158,7 +158,7 @@ static void darshan_log_print_lustre_record(void *rec, char *file_name,
return;
}
static void darshan_log_print_lustre_description()
static void darshan_log_print_lustre_description(int ver)
{
printf("\n# description of LUSTRE counters:\n");
printf("# LUSTRE_OSTS: number of OSTs across the entire file system.\n");
......
......@@ -34,7 +34,7 @@ static int darshan_log_get_mpiio_file(darshan_fd fd, void** mpiio_buf_p);
static int darshan_log_put_mpiio_file(darshan_fd fd, void* mpiio_buf, int ver);
static void darshan_log_print_mpiio_file(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_mpiio_description(void);
static void darshan_log_print_mpiio_description(int ver);
static void darshan_log_print_mpiio_file_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_mpiio_files(void *rec, void *agg_rec, int init_flag);
......@@ -136,7 +136,7 @@ static void darshan_log_print_mpiio_file(void *file_rec, char *file_name,
return;
}
static void darshan_log_print_mpiio_description()
static void darshan_log_print_mpiio_description(int ver)
{
printf("\n# description of MPIIO counters:\n");
printf("# MPIIO_INDEP_*: MPI independent operation counts.\n");
......
......@@ -36,7 +36,7 @@ static int darshan_log_get_null_record(darshan_fd fd, void** null_buf_p);
static int darshan_log_put_null_record(darshan_fd fd, void* null_buf, int ver);
static void darshan_log_print_null_record(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_null_description(void);
static void darshan_log_print_null_description(int ver);
static void darshan_log_print_null_record_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_null_records(void *rec, void *agg_rec, int init_flag);
......@@ -156,7 +156,7 @@ static void darshan_log_print_null_record(void *file_rec, char *file_name,
}
/* print out a description of the NULL module record fields */
static void darshan_log_print_null_description()
static void darshan_log_print_null_description(int ver)
{
printf("\n# description of NULL counters:\n");
printf("# NULL_FOOS: number of 'foo' function calls.\n");
......
......@@ -104,20 +104,20 @@ typedef struct perf_data_s
void posix_accum_file(struct darshan_posix_file *pfile, hash_entry_t *hfile, int64_t nprocs);
void posix_accum_perf(struct darshan_posix_file *pfile, perf_data_t *pdata);
void posix_calc_file(hash_entry_t *file_hash, file_data_t *fdata);
void posix_print_total_file(struct darshan_posix_file *pfile);
void posix_print_total_file(struct darshan_posix_file *pfile, int posix_ver);
void posix_file_list(hash_entry_t *file_hash, struct darshan_name_record_ref *name_hash, int detail_flag);
void mpiio_accum_file(struct darshan_mpiio_file *mfile, hash_entry_t *hfile, int64_t nprocs);
void mpiio_accum_perf(struct darshan_mpiio_file *mfile, perf_data_t *pdata);
void mpiio_calc_file(hash_entry_t *file_hash, file_data_t *fdata);
void mpiio_print_total_file(struct darshan_mpiio_file *mfile);
void mpiio_print_total_file(struct darshan_mpiio_file *mfile, int mpiio_ver);
void mpiio_file_list(hash_entry_t *file_hash, struct darshan_name_record_ref *name_hash, int detail_flag);
void stdio_accum_perf(struct darshan_stdio_file *pfile, perf_data_t *pdata);
void stdio_accum_file(struct darshan_stdio_file *pfile, hash_entry_t *hfile, int64_t nprocs);
void stdio_calc_file(hash_entry_t *file_hash, file_data_t *fdata);
void stdio_file_list(hash_entry_t *file_hash, struct darshan_name_record_ref *name_hash, int detail_flag);
void stdio_print_total_file(struct darshan_stdio_file *pfile);
void stdio_print_total_file(struct darshan_stdio_file *pfile, int stdio_ver);
void calc_perf(perf_data_t *pdata, int64_t nprocs);
......@@ -420,7 +420,7 @@ int main(int argc, char **argv)
/* print a header describing the module's I/O characterization data */
if(mod_logutils[i]->log_print_description)
{
mod_logutils[i]->log_print_description();
mod_logutils[i]->log_print_description(fd->mod_ver[i]);
DARSHAN_PRINT_HEADER();
}
}
......@@ -547,15 +547,15 @@ int main(int argc, char **argv)
{
if(i == DARSHAN_POSIX_MOD)
{
posix_print_total_file((struct darshan_posix_file*)total.rec_dat);
posix_print_total_file((struct darshan_posix_file*)total.rec_dat, fd->mod_ver[i]);
}
else if(i == DARSHAN_MPIIO_MOD)
{
mpiio_print_total_file((struct darshan_mpiio_file*)total.rec_dat);
mpiio_print_total_file((struct darshan_mpiio_file*)total.rec_dat, fd->mod_ver[i]);
}
else if(i == DARSHAN_STDIO_MOD)
{
stdio_print_total_file((struct darshan_stdio_file*)total.rec_dat);
stdio_print_total_file((struct darshan_stdio_file*)total.rec_dat, fd->mod_ver[i]);
}
}
......@@ -1694,11 +1694,11 @@ void calc_perf(perf_data_t *pdata,
return;
}
void stdio_print_total_file(struct darshan_stdio_file *pfile)
void stdio_print_total_file(struct darshan_stdio_file *pfile, int stdio_ver)
{
int i;
mod_logutils[DARSHAN_STDIO_MOD]->log_print_description();
mod_logutils[DARSHAN_STDIO_MOD]->log_print_description(stdio_ver);
printf("\n");
for(i = 0; i < STDIO_NUM_INDICES; i++)
{
......@@ -1713,11 +1713,11 @@ void stdio_print_total_file(struct darshan_stdio_file *pfile)
return;
}
void posix_print_total_file(struct darshan_posix_file *pfile)
void posix_print_total_file(struct darshan_posix_file *pfile, int posix_ver)
{
int i;
mod_logutils[DARSHAN_POSIX_MOD]->log_print_description();
mod_logutils[DARSHAN_POSIX_MOD]->log_print_description(posix_ver);
printf("\n");
for(i = 0; i < POSIX_NUM_INDICES; i++)
{
......@@ -1732,11 +1732,11 @@ void posix_print_total_file(struct darshan_posix_file *pfile)
return;
}
void mpiio_print_total_file(struct darshan_mpiio_file *mfile)
void mpiio_print_total_file(struct darshan_mpiio_file *mfile, int mpiio_ver)
{
int i;
mod_logutils[DARSHAN_MPIIO_MOD]->log_print_description();
mod_logutils[DARSHAN_MPIIO_MOD]->log_print_description(mpiio_ver);
printf("\n");
for(i = 0; i < MPIIO_NUM_INDICES; i++)
{
......
......@@ -34,7 +34,7 @@ static int darshan_log_get_pnetcdf_file(darshan_fd fd, void** pnetcdf_buf_p);
static int darshan_log_put_pnetcdf_file(darshan_fd fd, void* pnetcdf_buf, int ver);
static void darshan_log_print_pnetcdf_file(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_pnetcdf_description(void);
static void darshan_log_print_pnetcdf_description(int ver);
static void darshan_log_print_pnetcdf_file_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_pnetcdf_files(void *rec, void *agg_rec, int init_flag);
......@@ -136,7 +136,7 @@ static void darshan_log_print_pnetcdf_file(void *file_rec, char *file_name,
return;
}
static void darshan_log_print_pnetcdf_description()
static void darshan_log_print_pnetcdf_description(int ver)
{
printf("\n# description of PNETCDF counters:\n");
printf("# PNETCDF_INDEP_OPENS: PNETCDF independent file open operation counts.\n");
......
......@@ -37,7 +37,7 @@ static int darshan_log_get_posix_file(darshan_fd fd, void** posix_buf_p);
static int darshan_log_put_posix_file(darshan_fd fd, void* posix_buf, int ver);
static void darshan_log_print_posix_file(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_posix_description(void);
static void darshan_log_print_posix_description(int ver);
static void darshan_log_print_posix_file_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_posix_files(void *rec, void *agg_rec, int init_flag);
......@@ -199,7 +199,7 @@ static void darshan_log_print_posix_file(void *file_rec, char *file_name,
return;
}
static void darshan_log_print_posix_description()
static void darshan_log_print_posix_description(int ver)
{
printf("\n# description of POSIX counters:\n");
printf("# POSIX_*: posix operation counts.\n");
......@@ -227,6 +227,20 @@ static void darshan_log_print_posix_description()
printf("# POSIX_F_*_RANK_TIME: fastest and slowest I/O time for a single rank (for shared files).\n");
printf("# POSIX_F_VARIANCE_RANK_*: variance of total I/O time and bytes moved for all ranks (for shared files).\n");
if(ver <= 1)
{
printf("\n# WARNING: POSIX module log format version 1 has the following limitations:\n");
printf("# - Partial instrumentation of stdio stream I/O functions not parsable by Darshan versions >= 3.1.0\n");
printf("# * Using darshan-logutils versions < 3.1.0, this data can be found in the following POSIX counters:\n");
printf("# * POSIX_FOPENS, POSIX_FREADS, POSIX_FWRITES, POSIX_FSEEKS\n");
}
if(ver <= 2)
{
printf("\n# WARNING: POSIX module log format version <=2 does not support the following counters:\n");
printf("# - POSIX_F_CLOSE_START_TIMESTAMP\n");
printf("# - POSIX_F_OPEN_END_TIMESTAMP\n");
}
return;
}
......
......@@ -36,7 +36,7 @@ static int darshan_log_get_stdio_record(darshan_fd fd, void** stdio_buf_p);
static int darshan_log_put_stdio_record(darshan_fd fd, void* stdio_buf, int ver);
static void darshan_log_print_stdio_record(void *file_rec,
char *file_name, char *mnt_pt, char *fs_type, int ver);
static void darshan_log_print_stdio_description(void);
static void darshan_log_print_stdio_description(int ver);
static void darshan_log_print_stdio_record_diff(void *file_rec1, char *file_name1,
void *file_rec2, char *file_name2);
static void darshan_log_agg_stdio_records(void *rec, void *agg_rec, int init_flag);
......@@ -154,7 +154,7 @@ static void darshan_log_print_stdio_record(void *file_rec, char *file_name,
}
/* print out a description of the STDIO module record fields */
static void darshan_log_print_stdio_description()
static void darshan_log_print_stdio_description(int ver)
{
printf("\n# description of STDIO counters:\n");
printf("# STDIO_{OPENS|WRITES|READS|SEEKS|FLUSHES} are types of operations.\n");
......
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