darshan-dxt-log-format.h 1.16 KB
Newer Older
1 2 3 4 5
/*
 * Copyright (C) 2016 Intel Corporation.
 * See COPYRIGHT in top-level directory.
 */

6 7
#ifndef __DARSHAN_DXT_LOG_FORMAT_H
#define __DARSHAN_DXT_LOG_FORMAT_H
8

9 10 11
/* current DXT log format version */
#define DXT_POSIX_VER 1
#define DXT_MPIIO_VER 1
12

13 14
#define HOSTNAME_SIZE 64

15
/*
16
 * DXT, the segment_info structure maintains detailed Segment IO tracing
17 18 19 20 21 22 23 24 25 26 27 28
 * information
 */
typedef struct segment_info {
    int64_t offset;
    int64_t length;
    double start_time;
    double end_time;
} segment_info;

#define X(a) a,
#undef X

29 30
/* file record structure for DXT files. a record is created and stored for
 * every DXT file opened by the original application. For the DXT module,
31 32 33 34 35
 * the record includes:
 *      - a darshan_base_record structure, which contains the record id & rank
 *      - integer file I/O statistics (open, read/write counts, etc)
 *      - floating point I/O statistics (timestamps, cumulative timers, etc.)
 */
36
struct dxt_file_record {
37 38
    struct darshan_base_record base_rec;
    int64_t shared_record; /* -1 means it is a shared file record */
39
    char hostname[HOSTNAME_SIZE];
40 41 42 43 44

    int64_t write_count;
    int64_t read_count;
};

45
#endif /* __DARSHAN_DXT_LOG_FORMAT_H */