48 lines
1.4 KiB
Python
Executable File
48 lines
1.4 KiB
Python
Executable File
#! /usr/bin/python3
|
|
|
|
import locale
|
|
import random
|
|
import time
|
|
from math import sin
|
|
|
|
import rrdtool
|
|
|
|
start = int(time.time())
|
|
rrd = 'random.rrd'
|
|
|
|
rrdtool.create(rrd,
|
|
'--start', str(start-1),
|
|
'--step', '300',
|
|
'DS:a:GAUGE:600:U:U',
|
|
'DS:b:GAUGE:600:U:U',
|
|
'RRA:AVERAGE:0.5:1:200')
|
|
|
|
for t in range(start, start+200*300, 300):
|
|
rrdtool.update(rrd, '%s:%s:%s' % (
|
|
t,
|
|
random.randint(0, 100),
|
|
sin(t/800.)*50+50))
|
|
|
|
locale.setlocale(locale.LC_ALL, '') # enable localisation
|
|
|
|
rrdtool.graph('stripes.png',
|
|
'--title', 'Stripes Demo',
|
|
'--start', str(start),
|
|
'--end', str(start+400*60),
|
|
'--interlaced',
|
|
'--imgformat', 'PNG',
|
|
'--width=450',
|
|
'DEF:a=%s:a:AVERAGE' % rrd,
|
|
'DEF:b=%s:b:AVERAGE' % rrd,
|
|
'CDEF:alpha=TIME,1200,%,600,LT,a,UNKN,IF',
|
|
'CDEF:beta=TIME,1200,%,600,GE,b,UNKN,IF',
|
|
'AREA:alpha#0022e9:alpha',
|
|
'AREA:beta#00b674:beta',
|
|
'LINE1:b#ff4400:beta envelope\\c',
|
|
'COMMENT:\\s',
|
|
'COMMENT:alpha=TIME,1200,%,600,LT,a,UNKN,IF',
|
|
'COMMENT:beta=TIME,1200,%,600,GE,b,UNKN,IF\\j')
|
|
|
|
print('This script has created stripes.png in the current directory')
|
|
print('This demonstrates the use of the TIME and % RPN operators')
|