File: cfmeta-rrd

package info (click to toggle)
crossfire 1.11.0-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 24,456 kB
  • ctags: 7,800
  • sloc: ansic: 80,483; sh: 11,825; perl: 2,327; lex: 1,946; makefile: 1,149
file content (55 lines) | stat: -rwxr-xr-x 1,396 bytes parent folder | download | duplicates (2)
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
#!/bin/bash
# Crossfire metaserver statistics generator script
# Copyright (c) 2005 Heikki Hokkanen <heikki.hokkanen@tut.fi>
# License: GPLv2

# the stats file format is:
# updatehits:requesthits:totalservers:totalplayers

statsfile=/var/tmp/meta_xfire.stats
rrdfile=cfstats.rrd

if [ ! -f ${rrdfile} ]; then
	# daily (5min), weekly (30min), monthly (2h), yearly (1d)
	# (24*3600)/300 = 288
	# (7*24**3600)/(300*6) = 336
	# (5*7*24*3600)/(7200) = 420
	rrdtool create ${rrdfile} \
		DS:updates:COUNTER:600:0:U \
		DS:requests:COUNTER:600:0:U \
		DS:servers:GAUGE:600:0:U \
		DS:players:GAUGE:600:0:U \
		RRA:AVERAGE:0.5:1:288 \
		RRA:AVERAGE:0.5:6:336 \
		RRA:AVERAGE:0.5:24:420 \
		RRA:AVERAGE:0.5:288:3650 \
		RRA:MAX:0.5:1:288 \
		RRA:MAX:0.5:6:336 \
		RRA:MAX:0.5:24:420 \
		RRA:MAX:0.5:288:3650
fi

# update
def="
	DEF:updates=${rrdfile}:updates:AVERAGE
	DEF:requests=${rrdfile}:requests:AVERAGE
	DEF:servers=${rrdfile}:servers:AVERAGE
	DEF:players=${rrdfile}:players:AVERAGE
	"

gfx="
	LINE1:updates#00CC00:updates
	LINE1:requests#0000CC:hits
	LINE1:servers#00FFFF:servers
	LINE1:players#FF0000:players
	"

if [ "$1" == "graph" ]; then
	rrdtool graph stats-day.png $def $gfx
	rrdtool graph stats-week.png $def $gfx -s '-8days'
	rrdtool graph stats-month.png $def $gfx -s '-1month'
	rrdtool graph stats-year.png $def $gfx -s '-1year'
else
	rrdtool update ${rrdfile} N:$(cat ${statsfile})
fi