/*
 * Metrics for NetBSD kernel PMDA
 *
 * Copyright (c) 2012 Ken McDonell  All Rights Reserved.
 * 
 * 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.
 */

/*
 * the domain for the NETBSD PMDA ...
 */
#ifndef NETBSD
#define NETBSD 116
#endif

root {
    hinv
    kernel
    disk
    mem
    network
    filesys
    swap
    pmda
}

hinv {
    ncpu	NETBSD:0:0
    ndisk	NETBSD:1:0
    nfilesys	NETBSD:7:0
    ninterface	NETBSD:3:17
    physmem	NETBSD:0:1
    pagesize	NETBSD:1:3
    machine	NETBSD:1:17	/* alias for kernel.uname.machine on NetBSD */
    cpu
}

hinv.cpu {
    vendor	NETBSD:0:15
    model	NETBSD:0:16
    arch	NETBSD:0:17
}

kernel {
    all
    percpu
    uname
}

kernel.all {
    pswitch	NETBSD:5:1
    syscall	NETBSD:5:2
    intr	NETBSD:5:3
    hz		NETBSD:0:13
    load	NETBSD:1:2
    uptime	NETBSD:1:19
    cpu
}

kernel.all.cpu {
    user	NETBSD:0:3
    nice	NETBSD:0:4
    sys		NETBSD:0:5
    intr	NETBSD:0:6
    idle	NETBSD:0:7
}

kernel.percpu {
    cpu
}

kernel.percpu.cpu {
    user	NETBSD:6:3
    nice	NETBSD:6:4
    sys		NETBSD:6:5
    intr	NETBSD:6:6
    idle	NETBSD:6:7
}

kernel.uname {
    release	NETBSD:1:14
    version	NETBSD:1:15
    sysname	NETBSD:1:16
    machine	NETBSD:1:17
    nodename	NETBSD:1:18
    distro	NETBSD:1:15	/* alias for version on NetBSD */
}

disk {
    dev
    all
}

disk.dev {
    read	NETBSD:2:0
    write	NETBSD:2:1
    total	NETBSD:2:2
    read_bytes	NETBSD:2:3
    write_bytes	NETBSD:2:4
    total_bytes	NETBSD:2:5
}

disk.all {
    read	NETBSD:2:6
    write	NETBSD:2:7
    total	NETBSD:2:8
    read_bytes	NETBSD:2:9
    write_bytes	NETBSD:2:10
    total_bytes	NETBSD:2:11
}

mem {
    util
    freemem	NETBSD:5:6	/* alias for mem.util.freemem */
}

mem.util {
    all		NETBSD:5:4
    used	NETBSD:5:5
    free	NETBSD:5:6
    paging	NETBSD:5:7
    cached	NETBSD:5:8
    wired	NETBSD:5:9
    active	NETBSD:5:10
    inactive	NETBSD:5:11
    zeropages	NETBSD:5:12
    pagedaemonpages	NETBSD:5:13
    kernelpages	NETBSD:5:14
    anonpages	NETBSD:5:15
    filepages	NETBSD:5:16
    execpages	NETBSD:5:17
}

network {
    interface
}

network.interface {
    mtu		NETBSD:3:0
    up		NETBSD:3:1
    baudrate	NETBSD:3:2
    in
    out
    total
}

network.interface.in {
    bytes	NETBSD:3:3
    packets	NETBSD:3:4
    mcasts	NETBSD:3:5
    errors	NETBSD:3:6
    drops	NETBSD:3:7
}

network.interface.out {
    bytes	NETBSD:3:8
    packets	NETBSD:3:9
    mcasts	NETBSD:3:10
    errors	NETBSD:3:11
    collisions	NETBSD:3:12
}

network.interface.total {
    bytes	NETBSD:3:13
    packets	NETBSD:3:14
    mcasts	NETBSD:3:15
    errors	NETBSD:3:16
}

swap {
    length	NETBSD:4:1
    used	NETBSD:4:2
    free	NETBSD:4:3
    in		NETBSD:4:4
    out		NETBSD:4:5
    pagesin	NETBSD:4:6
    pagesout	NETBSD:4:7
}

filesys {
    capacity	NETBSD:7:1
    used	NETBSD:7:2
    free	NETBSD:7:3
    maxfiles	NETBSD:7:4
    usedfiles	NETBSD:7:5
    freefiles	NETBSD:7:6
    mountdir	NETBSD:7:7
    full	NETBSD:7:8
    blocksize	NETBSD:7:9
    avail	NETBSD:7:10
    readonly	NETBSD:7:11
}

pmda {
    uname	NETBSD:1:20
    version	NETBSD:1:21
}

#undef NETBSD
