darshan-mdhim-log-format.h 1.81 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * Copyright (C) 2015 University of Chicago.
 * See COPYRIGHT notice in top-level directory.
 *
 */

#ifndef __DARSHAN_MDHIM_LOG_FORMAT_H
#define __DARSHAN_MDHIM_LOG_FORMAT_H

/* current log format version, to support backwards compatibility */
#define DARSHAN_MDHIM_VER 1

#define MDHIM_COUNTERS \
    /* number of 'put' function calls */\
    X(MDHIM_PUTS) \
    /* larget payload for a 'put' */ \
    X(MDHIM_PUT_MAX_SIZE)\
    /* number of 'get' function calls */\
    X(MDHIM_GETS) \
    /* largest get */ \
    X(MDHIM_GET_MAX_SIZE) \
    /* end of counters */ \
    X(MDHIM_NUM_INDICES)

#define MDHIM_F_COUNTERS \
    /* timestamp of the first call to a 'put' function */\
    X(MDHIM_F_PUT_TIMESTAMP) \
    /* timer indicating duration of call to 'foo' with max MDHIM_PUT_MAX_DAT value */\
    X(MDHIM_F_PUT_MAX_DURATION) \
    X(MDHIM_F_GET_TIMESTAMP) \
    X(MDHIM_F_GET_MAX_DURATION) \
    /* end of counters */\
    X(MDHIM_F_NUM_INDICES)

#define X(a) a,
/* integer counters for the "NULL" example module */
enum darshan_mdhim_indices
{
    MDHIM_COUNTERS
};

/* floating point counters for the "NULL" example module */
enum darshan_mdhim_f_indices
{
    MDHIM_F_COUNTERS
};
#undef X

/* the darshan_mdhim_record structure encompasses the high-level data/counters
 * which would actually be logged to file by Darshan for the "MDHIM"
 * module. This implementation logs the following data for each
 * record:
 *      - a darshan_base_record structure, which contains the record id & rank
 *      - integer I/O counters (operation counts, I/O sizes, etc.)
 *      - floating point I/O counters (timestamps, cumulative timers, etc.)
 */
struct darshan_mdhim_record
{
    struct darshan_base_record base_rec;
    int64_t counters[MDHIM_NUM_INDICES];
    double fcounters[MDHIM_F_NUM_INDICES];
};

#endif /* __DARSHAN_MDHIM_LOG_FORMAT_H */