#
# metric names and access macros for photosyst.[ch]
#

systmetrics {
	# /proc/stat
	kernel.all.pswitch			CPU_CSW
	kernel.all.intr				CPU_DEVINT
	kernel.all.sysfork			CPU_NPROCS
	kernel.all.load				CPU_LOAD
	kernel.all.cpu.user			CPU_UTIME
	kernel.all.cpu.nice			CPU_NTIME
	kernel.all.cpu.sys			CPU_STIME
	kernel.all.cpu.idle			CPU_ITIME
	kernel.all.cpu.wait.total		CPU_WTIME
	kernel.all.cpu.irq.hard			CPU_HARDIRQ
	kernel.all.cpu.irq.soft			CPU_SOFTIRQ
	kernel.all.cpu.steal			CPU_STEAL
	kernel.all.cpu.guest			CPU_GUEST
	kernel.percpu.cpu.sys			PERCPU_STIME
	kernel.percpu.cpu.user			PERCPU_UTIME
	kernel.percpu.cpu.nice			PERCPU_NTIME
	kernel.percpu.cpu.idle			PERCPU_ITIME
	kernel.percpu.cpu.wait.total		PERCPU_WTIME
	kernel.percpu.cpu.irq.hard		PERCPU_HARDIRQ
	kernel.percpu.cpu.irq.soft		PERCPU_SOFTIRQ
	kernel.percpu.cpu.steal			PERCPU_STEAL
	kernel.percpu.cpu.guest			PERCPU_GUEST
	hinv.cpu.clock				PERCPU_FREQCNT_CNT

	# /proc/vmstat
	swap.pagesin				MEM_SWINS
	swap.pagesout				MEM_SWOUTS
	mem.vmstat.pgscan_direct_dma		MEM_SCAN_DDMA
	mem.vmstat.pgscan_direct_dma32	 	MEM_SCAN_DDMA32
	mem.vmstat.pgscan_direct_high	 	MEM_SCAN_DHIGH
	mem.vmstat.pgscan_direct_movable	MEM_SCAN_DMOVABLE
	mem.vmstat.pgscan_direct_normal	 	MEM_SCAN_DNORMAL
	mem.vmstat.pgscan_kswapd_dma		MEM_SCAN_KDMA
	mem.vmstat.pgscan_kswapd_dma32	 	MEM_SCAN_KDMA32
	mem.vmstat.pgscan_kswapd_high	 	MEM_SCAN_KHIGH
	mem.vmstat.pgscan_kswapd_movable	MEM_SCAN_KMOVABLE
	mem.vmstat.pgscan_kswapd_normal	 	MEM_SCAN_KNORMAL
	mem.vmstat.pgsteal_dma		 	MEM_STEAL_DMA
	mem.vmstat.pgsteal_dma32		MEM_STEAL_DMA32
	mem.vmstat.pgsteal_high			MEM_STEAL_HIGH
	mem.vmstat.pgsteal_movable		MEM_STEAL_MOVABLE
	mem.vmstat.pgsteal_normal		MEM_STEAL_NORMAL
	mem.vmstat.allocstall			MEM_ALLOCSTALL

	# /proc/meminfo
	mem.util.cached				MEM_CACHEMEM
	mem.util.dirty				MEM_CACHEDRT
	mem.physmem				MEM_PHYSMEM
	mem.freemem				MEM_FREEMEM
	mem.util.bufmem				MEM_BUFFERMEM
	mem.util.shmem				MEM_SHMEM
	swap.length				MEM_TOTSWAP
	swap.free				MEM_FREESWAP
	mem.util.slab				MEM_SLABMEM
	mem.util.slabReclaimable		MEM_SLABRECLAIM
	mem.util.committed_AS			MEM_COMMITTED
	mem.util.commitLimit			MEM_COMMITLIM
	mem.util.hugepagesTotal			MEM_TOTHUGEPAGE
	mem.util.hugepagesFree			MEM_FREEHUGEPAGE
	hinv.hugepagesize			HUGEPAGESZ  

	# shmctl(2)
	ipc.shm.rss				MEM_SHMRSS
	ipc.shm.swp				MEM_SHMSWP

	# /proc/net/dev
	network.interface.in.bytes		PERINTF_RBYTE
	network.interface.in.packets		PERINTF_RPACK
	network.interface.in.errors		PERINTF_RERRS
	network.interface.in.drops		PERINTF_RDROP
	network.interface.in.fifo		PERINTF_RFIFO
	network.interface.in.frame		PERINTF_RFRAME
	network.interface.in.compressed		PERINTF_RCOMPR
	network.interface.in.mcasts		PERINTF_RMULTIC
	network.interface.out.bytes		PERINTF_SBYTE
	network.interface.out.packets		PERINTF_SPACK
	network.interface.out.errors		PERINTF_SERRS
	network.interface.out.drops		PERINTF_SDROP
	network.interface.out.fifo		PERINTF_SFIFO
	network.interface.collisions		PERINTF_SCOLLIS
	network.interface.out.carrier		PERINTF_SCARRIER
	network.interface.out.compressed	PERINTF_SCOMPR

	# /proc/net/snmp
	network.ip.forwarding			IPV4_Forwarding
	network.ip.defaultttl			IPV4_DefaultTTL     
	network.ip.inreceives			IPV4_InReceives     
	network.ip.inhdrerrors			IPV4_InHdrErrors    
	network.ip.inaddrerrors			IPV4_InAddrErrors   
	network.ip.forwdatagrams		IPV4_ForwDatagrams  
	network.ip.inunknownprotos		IPV4_InUnknownProtos
	network.ip.indiscards			IPV4_InDiscards     
	network.ip.indelivers			IPV4_InDelivers     
	network.ip.outrequests			IPV4_OutRequests    
	network.ip.outdiscards			IPV4_OutDiscards    
	network.ip.outnoroutes			IPV4_OutNoRoutes    
	network.ip.reasmtimeout			IPV4_ReasmTimeout   
	network.ip.reasmreqds			IPV4_ReasmReqds     
	network.ip.reasmoks			IPV4_ReasmOKs       
	network.ip.reasmfails			IPV4_ReasmFails     
	network.ip.fragoks			IPV4_FragOKs        
	network.ip.fragfails			IPV4_FragFails      
	network.ip.fragcreates			IPV4_FragCreates    
	network.icmp.inmsgs			ICMP4_InMsgs          
	network.icmp.inerrors			ICMP4_InErrors        
	network.icmp.indestunreachs		ICMP4_InDestUnreachs  
	network.icmp.intimeexcds		ICMP4_InTimeExcds     
	network.icmp.inparmprobs		ICMP4_InParmProbs     
	network.icmp.insrcquenchs		ICMP4_InSrcQuenchs    
	network.icmp.inredirects		ICMP4_InRedirects     
	network.icmp.inechos			ICMP4_InEchos         
	network.icmp.inechoreps			ICMP4_InEchoReps      
	network.icmp.intimestamps		ICMP4_InTimestamps    
	network.icmp.intimestampreps		ICMP4_InTimestampReps 
	network.icmp.inaddrmasks		ICMP4_InAddrMasks     
	network.icmp.inaddrmaskreps		ICMP4_InAddrMaskReps  
	network.icmp.outmsgs			ICMP4_OutMsgs         
	network.icmp.outerrors			ICMP4_OutErrors       
	network.icmp.outdestunreachs		ICMP4_OutDestUnreachs 
	network.icmp.outtimeexcds		ICMP4_OutTimeExcds    
	network.icmp.outparmprobs		ICMP4_OutParmProbs    
	network.icmp.outsrcquenchs		ICMP4_OutSrcQuenchs   
	network.icmp.outredirects		ICMP4_OutRedirects    
	network.icmp.outechos			ICMP4_OutEchos        
	network.icmp.outechoreps		ICMP4_OutEchoReps     
	network.icmp.outtimestamps		ICMP4_OutTimestamps   
	network.icmp.outtimestampreps		ICMP4_OutTimestampReps
	network.icmp.outaddrmasks		ICMP4_OutAddrMasks    
	network.icmp.outaddrmaskreps		ICMP4_OutAddrMaskReps 
	network.tcp.rtoalgorithm		TCP_RtoAlgorithm 
	network.tcp.rtomin			TCP_RtoMin       
	network.tcp.rtomax			TCP_RtoMax       
	network.tcp.maxconn			TCP_MaxConn      
	network.tcp.activeopens			TCP_ActiveOpens  
	network.tcp.passiveopens		TCP_PassiveOpens 
	network.tcp.attemptfails		TCP_AttemptFails 
	network.tcp.estabresets			TCP_EstabResets  
	network.tcp.currestab			TCP_CurrEstab    
	network.tcp.insegs			TCP_InSegs       
	network.tcp.outsegs			TCP_OutSegs      
	network.tcp.retranssegs			TCP_RetransSegs  
	network.tcp.inerrs			TCP_InErrs       
	network.tcp.outrsts			TCP_OutRsts      
	network.udp.indatagrams			UDPV4_InDatagrams 
	network.udp.noports			UDPV4_NoPorts     
	network.udp.inerrors			UDPV4_InErrors    
	network.udp.outdatagrams		UDPV4_OutDatagrams

	# /proc/net/snmp6
	network.ip6.inreceives			IPV6_InReceives       
	network.ip6.inhdrerrors			IPV6_InHdrErrors      
	network.ip6.intoobigerrors		IPV6_InTooBigErrors   
	network.ip6.innoroutes			IPV6_InNoRoutes       
	network.ip6.inaddrerrors		IPV6_InAddrErrors     
	network.ip6.inunknownprotos		IPV6_InUnknownProtos  
	network.ip6.intruncatedpkts		IPV6_InTruncatedPkts  
	network.ip6.indiscards			IPV6_InDiscards       
	network.ip6.indelivers			IPV6_InDelivers       
	network.ip6.outforwdatagrams		IPV6_OutForwDatagrams 
	network.ip6.outrequests			IPV6_OutRequests      
	network.ip6.outdiscards			IPV6_OutDiscards      
	network.ip6.outnoroutes			IPV6_OutNoRoutes      
	network.ip6.reasmtimeout		IPV6_ReasmTimeout     
	network.ip6.reasmreqds			IPV6_ReasmReqds       
	network.ip6.reasmoks			IPV6_ReasmOKs         
	network.ip6.reasmfails			IPV6_ReasmFails       
	network.ip6.fragoks			IPV6_FragOKs          
	network.ip6.fragfails			IPV6_FragFails        
	network.ip6.fragcreates			IPV6_FragCreates      
	network.ip6.inmcastpkts			IPV6_InMcastPkts      
	network.ip6.outmcastpkts		IPV6_OutMcastPkts     
	network.icmp6.inmsgs			ICMPV6_InMsgs        
	network.icmp6.inerrors			ICMPV6_InErrors      
	network.icmp6.indestunreachs		ICMPV6_InDestUnreachs
	network.icmp6.inpkttoobigs		ICMPV6_InPktTooBigs  
	network.icmp6.intimeexcds		ICMPV6_InTimeExcds   
	network.icmp6.inparmproblems		ICMPV6_InParmProblems
	network.icmp6.inechos			ICMPV6_InEchos       
	network.icmp6.inechoreplies		ICMPV6_InEchoReplies 
	network.icmp6.ingroupmembqueries	ICMPV6_InGroupMembQueries      
	network.icmp6.ingroupmembresponses	ICMPV6_InGroupMembResponses    
	network.icmp6.ingroupmembreductions	ICMPV6_InGroupMembReductions   
	network.icmp6.inroutersolicits		ICMPV6_InRouterSolicits        
	network.icmp6.inrouteradvertisements	ICMPV6_InRouterAdvertisements  
	network.icmp6.inneighborsolicits	ICMPV6_InNeighborSolicits      
	network.icmp6.inneighboradvertisements	ICMPV6_InNeighborAdvertisements
	network.icmp6.inredirects		ICMPV6_InRedirects    
	network.icmp6.outmsgs			ICMPV6_OutMsgs        
	network.icmp6.outdestunreachs		ICMPV6_OutDestUnreachs
	network.icmp6.outpkttoobigs		ICMPV6_OutPktTooBigs  
	network.icmp6.outtimeexcds		ICMPV6_OutTimeExcds   
	network.icmp6.outparmproblems		ICMPV6_OutParmProblems
	network.icmp6.outechoreplies		ICMPV6_OutEchoReplies 
	network.icmp6.outroutersolicits		ICMPV6_OutRouterSolicits       
	network.icmp6.outneighborsolicits	ICMPV6_OutNeighborSolicits     
	network.icmp6.outneighboradvertisements ICMPV6_OutNeighborAdvertisements
	network.icmp6.outredirects		ICMPV6_OutRedirects   
	network.icmp6.outgroupmembresponses	ICMPV6_OutGroupMembResponses   
	network.icmp6.outgroupmembreductions	ICMPV6_OutGroupMembReductions  
	network.udp6.indatagrams		UDPV6_InDatagrams      
	network.udp6.noports			UDPV6_NoPorts          
	network.udp6.inerrors			UDPV6_InErrors         
	network.udp6.outdatagrams		UDPV6_OutDatagrams     

	# /proc/diskstats or /proc/partitions
	disk.dev.read				PERDISK_NREAD
	disk.dev.blkread			PERDISK_NRSECT
	disk.dev.write				PERDISK_NWRITE
	disk.dev.blkwrite			PERDISK_NWSECT
	disk.dev.avactive			PERDISK_IO_MS
	disk.dev.aveq				PERDISK_AVEQ
	disk.dm.read				PERDM_NREAD
        disk.dm.blkread				PERDM_NRSECT
        disk.dm.write				PERDM_NWRITE
        disk.dm.blkwrite			PERDM_NWSECT
	disk.md.read				PERMD_NREAD
	disk.md.blkread				PERMD_NRSECT
	disk.md.write				PERMD_NWRITE
	disk.md.blkwrite			PERMD_NWSECT

	# /proc/net/rpc/nfsd
	rpc.server.rchits			NFS_RCHITS
	rpc.server.rcmisses			NFS_RCMISS
	rpc.server.rcnocache			NFS_RCNOCACHE
	rpc.server.io_read			NFS_IORD
	rpc.server.io_write			NFS_IOWR
	rpc.server.netcnt			NFS_NETCNT
	rpc.server.netudpcnt			NFS_UDP
	rpc.server.nettcpcnt			NFS_TCP
	rpc.server.nettcpconn			NFS_TCPCONN
	rpc.server.rpccnt			NFS_RPCCNT
	rpc.server.rpcbadfmt			NFS_RPCBADFMT
	rpc.server.rpcbadauth			NFS_RPCBADAUTH
	rpc.server.rpcbadclnt			NFS_RPCBADCLNT
	nfs.server.reqs				NFS_REQS
	nfs3.server.reqs			NFS3_REQS
	nfs4.server.reqs			NFS4_REQS

	# /proc/net/rpc/nfs
	rpc.client.rpccnt			NFC_RPCCNT
	rpc.client.rpcretrans			NFC_RETRANS
	rpc.client.rpcauthrefresh		NFC_AUTHREFRESH
	nfs.client.reqs				NFC_REQS
	nfs3.client.reqs			NFC3_REQS
	nfs4.client.reqs			NFC4_REQS

	# /proc/self/mountstats
	nfsclient.export			PERNFS_EXPORT
	nfsclient.age				PERNFS_AGE
	nfsclient.bytes.read.normal		PERNFS_RDBYTES
	nfsclient.bytes.write.normal		PERNFS_WRBYTES
	nfsclient.bytes.read.direct		PERNFS_DRDBYTES
	nfsclient.bytes.write.direct		PERNFS_DWRBYTES
	nfsclient.bytes.read.server		PERNFS_TOTRDBYTES
	nfsclient.bytes.write.server		PERNFS_TOTWRBYTES
	nfsclient.pages.read			PERNFS_RDPAGES
	nfsclient.pages.write			PERNFS_WRPAGES

	# http status
	apache.total_accesses			WWW_ACCESSES
	apache.total_kbytes			WWW_TOTKBYTES
	apache.uptime				WWW_UPTIME
	apache.busy_servers			WWW_BWORKERS
	apache.idle_servers			WWW_IWORKERS

	# end marker - provides count
	.					SYST_NMETRICS
}
