/*
 * Copyright (c) 2013 - 2018 Red Hat.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */

/*
 * Changed GFS2:*:* to root number 115 to remove ASCII parse errors during
 * install of PMDA whilst testing.
 */
gfs2 {
    glocks
    holders
    sbstats		GFS2:*:*
    glstats
    tracepoints
    worst_glock		GFS2:*:*
    latency
    control
}

gfs2.glocks {
    total		GFS2:0:0
    shared		GFS2:0:1
    unlocked		GFS2:0:2
    deferred		GFS2:0:3
    exclusive		GFS2:0:4
    flags
}

gfs2.glocks.flags {
    locked		GFS2:0:5
    demote		GFS2:0:6
    demote_pending	GFS2:0:7
    demote_progress	GFS2:0:8
    dirty		GFS2:0:9
    log_flush		GFS2:0:10
    invalidate		GFS2:0:11
    reply_pending	GFS2:0:12
    initial		GFS2:0:13
    frozen		GFS2:0:14
    queued		GFS2:0:15
    object_attached	GFS2:0:16
    blocking_request	GFS2:0:17
    lru			GFS2:0:18
}

gfs2.holders {
    total		GFS2:0:19
    shared		GFS2:0:20
    unlocked		GFS2:0:21
    defered		GFS2:0:22
    exclusive		GFS2:0:23
    flags
}

gfs2.holders.flags {
    async		GFS2:0:24
    any			GFS2:0:25
    no_cache		GFS2:0:26
    no_expire		GFS2:0:27
    exact		GFS2:0:28
    first		GFS2:0:29
    holder		GFS2:0:30
    priority		GFS2:0:31
    try			GFS2:0:32
    try_1cb		GFS2:0:33
    wait		GFS2:0:34
}

gfs2.glstats {
    total		GFS2:2:0
    trans		GFS2:2:1
    inode		GFS2:2:2
    rgrp		GFS2:2:3
    meta		GFS2:2:4
    iopen		GFS2:2:5
    flock		GFS2:2:6
    quota		GFS2:2:8
    journal		GFS2:2:9
}

gfs2.tracepoints {
    glock_state_change
    glock_put
    demote_rq
    promote
    glock_queue
    glock_lock_time
    pin
    log_flush
    log_block
    ail_flush
    block_alloc
    bmap
    rs
}

gfs2.tracepoints.glock_state_change {
    total		GFS2:3:0
    null_lock		GFS2:3:1
    concurrent_read	GFS2:3:2
    concurrent_write	GFS2:3:3
    protected_read	GFS2:3:4
    protected_write	GFS2:3:5
    exclusive		GFS2:3:6
    glocks
}

gfs2.tracepoints.glock_state_change.glocks {
    changed_target	GFS2:3:7
    missed_target	GFS2:3:8
}

gfs2.tracepoints.glock_put {
    total		GFS2:3:9
    null_lock		GFS2:3:10
    concurrent_read	GFS2:3:11
    concurrent_write	GFS2:3:12
    protected_read	GFS2:3:13
    protected_write	GFS2:3:14
    exclusive		GFS2:3:15
}

gfs2.tracepoints.demote_rq {
    total		GFS2:3:16
    null_lock		GFS2:3:17
    concurrent_read	GFS2:3:18
    concurrent_write	GFS2:3:19
    protected_read	GFS2:3:20
    protected_write	GFS2:3:21
    exclusive		GFS2:3:22
    requested
}

gfs2.tracepoints.demote_rq.requested {
    remote		GFS2:3:23
    local		GFS2:3:24
}

gfs2.tracepoints.promote {
    total		GFS2:3:25
    first
    other
}

gfs2.tracepoints.promote.first {
    null_lock		GFS2:3:26
    concurrent_read	GFS2:3:27
    concurrent_write	GFS2:3:28
    protected_read	GFS2:3:29
    protected_write	GFS2:3:30
    exclusive		GFS2:3:31
}

gfs2.tracepoints.promote.other {
    null_lock		GFS2:3:32
    concurrent_read	GFS2:3:33
    concurrent_write	GFS2:3:34
    protected_read	GFS2:3:35
    protected_write	GFS2:3:36
    exclusive		GFS2:3:37
}

gfs2.tracepoints.glock_queue {
    total		GFS2:3:38
    queue
    dequeue
}

gfs2.tracepoints.glock_queue.queue {
    total		GFS2:3:39
    null_lock		GFS2:3:40
    concurrent_read	GFS2:3:41
    concurrent_write	GFS2:3:42
    protected_read	GFS2:3:43
    protected_write	GFS2:3:44
    exclusive		GFS2:3:45
}

gfs2.tracepoints.glock_queue.dequeue {
    total		GFS2:3:46
    null_lock		GFS2:3:47
    concurrent_read	GFS2:3:48
    concurrent_write	GFS2:3:49
    protected_read	GFS2:3:50
    protected_write	GFS2:3:51
    exclusive		GFS2:3:52
}

gfs2.tracepoints.glock_lock_time {
    total		GFS2:3:53
    trans		GFS2:3:54
    inode		GFS2:3:55
    rgrp		GFS2:3:56
    meta		GFS2:3:57
    iopen		GFS2:3:58
    flock		GFS2:3:59
    quota		GFS2:3:60
    journal		GFS2:3:61
}

gfs2.tracepoints.pin {
    total		GFS2:3:62
    pin_total		GFS2:3:63
    unpin_total		GFS2:3:64
    longest_pinned	GFS2:3:65
}

gfs2.tracepoints.log_flush {
    total		GFS2:3:66
}

gfs2.tracepoints.log_block {
    total		GFS2:3:67
}

gfs2.tracepoints.ail_flush {
    total		GFS2:3:68
}

gfs2.tracepoints.block_alloc {
    total		GFS2:3:69
    free		GFS2:3:70
    used		GFS2:3:71
    dinode		GFS2:3:72
    unlinked		GFS2:3:73
}

gfs2.tracepoints.bmap {
    total		GFS2:3:74
    create		GFS2:3:75
    nocreate		GFS2:3:76
}

gfs2.tracepoints.rs {
    total		GFS2:3:77
    del			GFS2:3:78
    tdel		GFS2:3:79
    ins			GFS2:3:80
    clm			GFS2:3:81
}

gfs2.latency {
    grant
    demote
    queue
}

gfs2.latency.grant {
    all			GFS2:5:0
    null_lock		GFS2:5:1
    concurrent_read	GFS2:5:2
    concurrent_write	GFS2:5:3
    protected_read	GFS2:5:4
    protected_write	GFS2:5:5
    exclusive		GFS2:5:6
}

gfs2.latency.demote {
    all			GFS2:5:7
    null_lock		GFS2:5:8
    concurrent_read	GFS2:5:9
    concurrent_write	GFS2:5:10
    protected_read	GFS2:5:11
    protected_write	GFS2:5:12
    exclusive		GFS2:5:13
}

gfs2.latency.queue {
    all			GFS2:5:14
    null_lock		GFS2:5:15
    concurrent_read	GFS2:5:16
    concurrent_write	GFS2:5:17
    protected_read	GFS2:5:18
    protected_write	GFS2:5:19
    exclusive		GFS2:5:20
}

gfs2.control {
    tracepoints
    buffer_size_kb      GFS2:6:14
    global_tracing	GFS2:6:15
    worst_glock		GFS2:6:16
    latency		GFS2:6:17
    glock_threshold	GFS2:6:18
}

gfs2.control.tracepoints {
    all			GFS2:6:0
    glock_state_change	GFS2:6:1
    glock_put		GFS2:6:2
    demote_rq		GFS2:6:3
    promote		GFS2:6:4
    glock_queue		GFS2:6:5
    glock_lock_time	GFS2:6:6
    pin			GFS2:6:7
    log_flush		GFS2:6:8
    log_blocks		GFS2:6:9
    ail_flush		GFS2:6:10
    block_alloc		GFS2:6:11
    bmap		GFS2:6:12
    rs			GFS2:6:13
}
