[Darshan-commits] [Git][darshan/darshan][dev-stdio] get utils working for stdio module
Philip Carns
xgitlab at cels.anl.gov
Fri Apr 29 16:31:52 CDT 2016
Philip Carns pushed to branch dev-stdio at darshan / darshan
Commits:
841429de by Phil Carns at 2016-04-29T17:31:41-04:00
get utils working for stdio module
- - - - -
3 changed files:
- darshan-runtime/lib/darshan-stdio.c
- darshan-stdio-log-format.h
- darshan-util/darshan-stdio-logutils.c
Changes:
=====================================
darshan-runtime/lib/darshan-stdio.c
=====================================
--- a/darshan-runtime/lib/darshan-stdio.c
+++ b/darshan-runtime/lib/darshan-stdio.c
@@ -35,7 +35,7 @@ DARSHAN_FORWARD_DECL(fopen, FILE*, (const char *path, const char *mode));
DARSHAN_FORWARD_DECL(fopen64, FILE*, (const char *path, const char *mode));
/* The stdio_file_runtime structure maintains necessary runtime metadata
- * for the STDIO file record (darshan_stdio_file structure, defined in
+ * for the STDIO file record (darshan_stdio_record structure, defined in
* darshan-stdio-log-format.h) pointed to by 'file_record'. This metadata
* assists with the instrumenting of specific statistics in the file record.
* 'hlink' is a hash table link structure used to add/remove this record
@@ -44,23 +44,23 @@ DARSHAN_FORWARD_DECL(fopen64, FILE*, (const char *path, const char *mode));
* RATIONALE: the STDIO module needs to track some stateful, volatile
* information about each open file (like the current file offset, most recent
* access time, etc.) to aid in instrumentation, but this information can't be
- * stored in the darshan_stdio_file struct because we don't want it to appear in
+ * stored in the darshan_stdio_record struct because we don't want it to appear in
* the final darshan log file. We therefore associate a stdio_file_runtime
- * struct with each darshan_stdio_file struct in order to track this information.
+ * struct with each darshan_stdio_record struct in order to track this information.
*
* NOTE: There is a one-to-one mapping of stdio_file_runtime structs to
- * darshan_stdio_file structs.
+ * darshan_stdio_record structs.
*
- * NOTE: The stdio_file_runtime struct contains a pointer to a darshan_stdio_file
+ * NOTE: The stdio_file_runtime struct contains a pointer to a darshan_stdio_record
* struct (see the *file_record member) rather than simply embedding an entire
- * darshan_stdio_file struct. This is done so that all of the darshan_stdio_file
+ * darshan_stdio_record struct. This is done so that all of the darshan_stdio_record
* structs can be kept contiguous in memory as a single array to simplify
* reduction, compression, and storage.
*/
struct stdio_file_runtime
{
/* TODO: make sure we need/want all of these fields */
- struct darshan_stdio_file* file_record;
+ struct darshan_stdio_record* file_record;
int64_t offset;
int64_t last_byte_read;
int64_t last_byte_written;
@@ -108,7 +108,7 @@ struct stdio_file_runtime_ref
struct stdio_runtime
{
struct stdio_file_runtime* file_runtime_array;
- struct darshan_stdio_file* file_record_array;
+ struct darshan_stdio_record* file_record_array;
int file_array_size;
int file_array_ndx;
struct stdio_file_runtime* file_hash;
@@ -237,14 +237,14 @@ static void stdio_runtime_initialize()
/* set maximum number of file records according to max memory limit */
/* NOTE: maximum number of records is based on the size of a stdio file record */
/* TODO: should we base memory usage off file record or total runtime structure sizes? */
- stdio_runtime->file_array_size = mem_limit / sizeof(struct darshan_stdio_file);
+ stdio_runtime->file_array_size = mem_limit / sizeof(struct darshan_stdio_record);
stdio_runtime->file_array_ndx = 0;
/* allocate array of runtime file records */
stdio_runtime->file_runtime_array = malloc(stdio_runtime->file_array_size *
sizeof(struct stdio_file_runtime));
stdio_runtime->file_record_array = malloc(stdio_runtime->file_array_size *
- sizeof(struct darshan_stdio_file));
+ sizeof(struct darshan_stdio_record));
if(!stdio_runtime->file_runtime_array || !stdio_runtime->file_record_array)
{
stdio_runtime->file_array_size = 0;
@@ -253,7 +253,7 @@ static void stdio_runtime_initialize()
memset(stdio_runtime->file_runtime_array, 0, stdio_runtime->file_array_size *
sizeof(struct stdio_file_runtime));
memset(stdio_runtime->file_record_array, 0, stdio_runtime->file_array_size *
- sizeof(struct darshan_stdio_file));
+ sizeof(struct darshan_stdio_record));
return;
}
@@ -426,7 +426,7 @@ static void stdio_get_output_data(
assert(stdio_runtime);
*stdio_buf = (void *)(stdio_runtime->file_record_array);
- *stdio_buf_sz = stdio_runtime->file_array_ndx * sizeof(struct darshan_stdio_file);
+ *stdio_buf_sz = stdio_runtime->file_array_ndx * sizeof(struct darshan_stdio_record);
return;
}
=====================================
darshan-stdio-log-format.h
=====================================
--- a/darshan-stdio-log-format.h
+++ b/darshan-stdio-log-format.h
@@ -93,7 +93,7 @@ enum darshan_stdio_f_indices
* - integer I/O counters (operation counts, I/O sizes, etc.)
* - floating point I/O counters (timestamps, cumulative timers, etc.)
*/
-struct darshan_stdio_file
+struct darshan_stdio_record
{
darshan_record_id f_id;
int64_t rank;
=====================================
darshan-util/darshan-stdio-logutils.c
=====================================
--- a/darshan-util/darshan-stdio-logutils.c
+++ b/darshan-util/darshan-stdio-logutils.c
@@ -143,10 +143,10 @@ static void darshan_log_print_stdio_record(void *file_rec, char *file_name,
static void darshan_log_print_stdio_description()
{
printf("\n# description of STDIO counters:\n");
- printf("# STDIO_BARS: number of 'bar' function calls.\n");
- printf("# STDIO_BAR_DAT: value set by last call to function 'bar'.\n");
- printf("# STDIO_F_BAR_TIMESTAMP: timestamp of the first call to function 'bar'.\n");
- printf("# STDIO_F_BAR_DURATION: duration of the last call to function 'bar'.\n");
+ printf("# STDIO_FOPENS: number of 'fopen' function calls.\n");
+ printf("# STDIO_F_OPEN_START_TIMESTAMP: timestamp of the first call to function 'fopen'.\n");
+ printf("# STDIO_F_OPEN_END_TIMESTAMP: timestamp of the completion of the last call to 'fopen'.\n");
+ printf("# STDIO_F_META_TIME: cumulative time spent in metadata operations.\n");
return;
}
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/commit/841429de3ffaaaed5cf574d84e35e78206d62b5a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-commits/attachments/20160429/fdfdfb86/attachment-0001.html>
More information about the Darshan-commits
mailing list