Ito ang command rrdgraph_rpn na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
rrdgraph_rpn - Tungkol sa RPN Math sa rrdtool graph
SINOPSIS
RPN pagpapahayag:=vname|opereytor|halaga[,RPN pagpapahayag]
DESCRIPTION
Kung nakagamit ka na ng tradisyunal na calculator ng HP alam mo na RPN (Baliktad na Polish
Notasyon). Ang ideya sa likod RPN ay mayroon kang isang stack at itulak ang iyong data dito
salansan. Sa tuwing magpapatupad ka ng isang operasyon, kailangan ng maraming elemento mula sa stack
kailangan. Ang pagtulak ay ginagawa nang hindi malinaw, kaya sa tuwing tutukuyin mo ang isang numero o isang variable, ito
ay awtomatikong itinutulak sa stack.
Sa dulo ng pagkalkula ay dapat na isa at isang halaga na lang ang natitira sa stack.
Ito ang kinalabasan ng function at ito ang inilalagay sa vname. Para sa CDEF
mga tagubilin, pinoproseso ang stack para sa bawat punto ng data sa graph. VDEF tagubilin
gumana sa isang buong set ng data sa isang pagtakbo. Tandaan, sa kasalukuyan VDEF mga tagubilin lamang ang suporta
isang limitadong listahan ng mga function.
Halimbawa: "VDEF:maximum=mydata,MAXIMUM"
Itatakda nito ang variable na "maximum" na magagamit mo na ngayon sa natitirang bahagi ng iyong RRD script.
Halimbawa: "CDEF:mydatabits=mydata,8,*"
Ibig sabihin: push variable ang aking data, itulak ang numero 8, i-execute ang operator *. Ang namamahala
nangangailangan ng dalawang elemento at ginagamit ang mga iyon upang ibalik ang isang halaga. Ang halagang ito ay iniimbak sa
mydatabits. Tulad ng maaaring nahulaan mo, ang pagtuturo na ito ay nangangahulugang walang iba kundi mydatabits
= ang aking data * 8. Ang tunay na kapangyarihan ng RPN namamalagi sa katotohanang laging malinaw kung saan
upang iproseso ang input. Para sa mga expression tulad ng "a = b + 3 * 5" kailangan mong i-multiply ang 3
may 5 muna bago mo idagdag b upang makakuha ng mga a. Gayunpaman, sa mga panaklong maaari mong baguhin ito
order: "a = (b + 3) * 5". Sa RPN, gagawin mo ang "a = b, 3, +, 5, *" nang hindi kailangan
panaklong.
OPERATOR
Mga operator ng Boolean
L.T., LE, GT, GE, EQ, NE
Mas mababa sa, Mas kaunti o katumbas, Mas malaki kaysa, Mas malaki o katumbas, Kapantay, Hindi katumbas ng lahat ng pop two
mga elemento mula sa stack, ihambing ang mga ito para sa napiling kundisyon at ibalik ang 1 para sa true
o 0 para sa false. Paghahambing ng isang hindi kilala o isang walang katapusan halaga ay magreresulta sa hindi kilala
ibinalik ... na ituturing ding huwad ng IF tawagan
A, ISINF
Mag-pop ng isang elemento mula sa stack, ihambing ito sa hindi kilala ayon sa pagkakabanggit sa positibo or
negatibo kawalang-hanggan. Nagbabalik ng 1 para sa true o 0 para sa mali.
IF
Nag-pop ng tatlong elemento mula sa stack. Kung ang elementong huling nag-pop ay 0 (false), ang
ang value na unang na-pop ay ibinalik sa stack, kung hindi, ang value na na-pop pangalawa ay
tinulak. Sa katunayan, nangangahulugan ito na ang anumang halaga maliban sa 0 ay itinuturing na
totoo.
Halimbawa: Ang "A,B,C,IF" ay dapat basahin bilang "kung (A) pagkatapos (B) iba pa (C)"
Paghahambing ng mga halaga
MIN, MAX
Nagpa-pop ng dalawang elemento mula sa stack at ibinabalik ang mas maliit o mas malaki, ayon sa pagkakabanggit.
Tandaan na ang walang katapusan ay mas malaki kaysa sa anupaman. Kung ang isa sa mga numero ng input ay
hindi kilala kung gayon ang magiging resulta ng operasyon hindi kilala masyadong.
MINNAN, MAXNAN
NAN-safe na bersyon ng MIN at MAX. Kung ang isa sa mga numero ng input ay hindi kilala pagkatapos ay ang
ang resulta ng operasyon ay ang isa pa. Kung pareho hindi kilala, pagkatapos ay ang resulta ng
ang operasyon ay hindi kilala.
LIMIT
Nagpa-pop ng dalawang elemento mula sa stack at ginagamit ang mga ito upang tukuyin ang isang hanay. Pagkatapos ito pop
isa pang elemento at kung ito ay nahulog sa loob ng hanay, ito ay itinulak pabalik. Kung hindi, an
hindi kilala ay tinulak.
Kasama sa tinukoy na hanay ang dalawang hangganan (kaya: isang numerong katumbas ng isa sa
ang mga hangganan ay itutulak pabalik). Kung alinman sa tatlong numerong kasangkot ay alinman
hindi kilala or walang katapusan ang function na ito ay palaging magbabalik ng isang hindi kilala
Halimbawa: "CDEF:a=alpha,0,100,LIMIT" ay babalik hindi kilala kung ang alpha ay mas mababa sa 0 o kung
ito ay mas mataas sa 100.
Arithmetics
+, -, *, /, %
Magdagdag, magbawas, magparami, hatiin, modulo
ADDNAN
NAN-ligtas na karagdagan. Kung ang isang parameter ay NAN/UNKNOWN, ituturing itong zero. Kung pareho
Ang mga parameter ay NAN/UNKNOWN, NAN/UNKNOWN ay ibabalik.
KASALANAN, COS, LOG, EXP, SQRT
Sine at cosine (input sa radians), log at exp (natural logarithm), square root.
Atan
Arctangent (output sa radians).
ATAN2
Arctangent ng y,x na mga bahagi (output sa radians). Nag-pop ito ng isang elemento mula sa
stack, ang x (cosine) na bahagi, at pagkatapos ay isang segundo, na kung saan ay ang y (sine) na bahagi.
Pagkatapos ay itinutulak nito ang arctangent ng kanilang ratio, nilulutas ang kalabuan sa pagitan
mga kuwadrante.
Halimbawa: Iko-convert ng "CDEF:angle=Y,X,ATAN2,RAD2DEG" ang mga bahagi ng "X,Y" sa isang anggulo sa
degree.
sahig, CEIL
I-round pababa o pataas sa pinakamalapit na integer.
DEG2RAD, RAD2DEG
I-convert ang anggulo sa degrees sa radians, o radians sa degrees.
ABS
Kunin ang ganap na halaga.
Itakda ang Mga Operasyon
PAG-URI, REV
Mag-pop ng isang elemento mula sa stack. Ito ang bilangin ng mga item na pag-uuri-uriin (o
baligtad). Sa itaas bilangin ng mga natitirang elemento ay pinagsunod-sunod (o binabaligtad) sa
ilagay sa stack.
Halimbawa: "CDEF:x=v1,v2,v3,v4,v5,v6,6,SORT,POP,5,REV,POP,+,+,+,4,/" ay magko-compute ng
average ng mga value na v1 hanggang v6 pagkatapos alisin ang pinakamaliit at pinakamalaki.
AVG
Mag-pop ng isang elemento (bilangin) mula sa stack. Ngayon pop bilangin elemento at bumuo ng average,
binabalewala ang lahat ng HINDI ALAM na halaga sa proseso.
Halimbawa: "CDEF:x=a,b,c,d,4,AVG"
MEDIAN
pop isang elemento (bilangin) mula sa stack. Ngayon pop bilangin mga elemento at hanapin ang median,
binabalewala ang lahat ng HINDI ALAM na halaga sa proseso. Kung mayroong kahit na bilang ng mga hindi KILALA
halaga, ang average ng gitnang dalawa ay itulak sa stack.
Halimbawa: "CDEF:x=a,b,c,d,4,MEDIAN"
TREND, TRENDNAN
Gumawa ng average na "sliding window" ng isa pang serye ng data.
Paggamit: CDEF:smoothed=x,1800,TREND
Ito ay lilikha ng kalahating oras (1800 segundo) sliding window average ng x. Ang karaniwan
ay mahalagang nakalkula tulad ng ipinapakita dito:
+---!---!---!---!---!---!---!---!--->
ngayon
antala t0
<--------------->
antala t1
<--------------->
antala t2
<--------------->
Ang halaga sa sample (t0) ang magiging average sa pagitan ng (t0-delay) at (t0)
Ang halaga sa sample (t1) ang magiging average sa pagitan ng (t1-delay) at (t1)
Ang halaga sa sample (t2) ang magiging average sa pagitan ng (t2-delay) at (t2)
Ang TRENDNAN ay - sa kaibahan sa TREND - NAN-safe. Kung gumagamit ka ng TREND at isang source value
ay NAN ang kumpletong sliding window ay apektado. Binabalewala ng operasyon ng TRENDNAN ang lahat
NAN-values sa isang sliding window at kinukuwenta ang average ng mga natitirang halaga.
HUlaan, PREDICTSIGMA, PREDICTPERC
Gumawa ng average/sigma/percentil ng "sliding window" ng isa pang serye ng data, iyon din
inililipat din ang serye ng data sa pamamagitan ng ibinigay na tagal ng oras
Paggamit - tahasang nagsasaad ng mga pagbabago: "CDEF:predict= ,...,
1>,n, ,x,PREDICT" "CDEF:sigma= ,...,
1>,n, ,x,PREDICTSIGMA" "CDEF:perc= ,...,
1>,n, , ,x,PREDICTPERC"
Paggamit - mga shift na tinukoy bilang isang base shift at ilang oras na ito ay inilapat
"CDEF:hulaan= ,-n, ,x,PREDICT" "CDEF:sigma=
multiplier>,-n, ,x,PREDICTSIGMA" "CDEF:sigma=
multiplier>,-n, , ,x,PREDICTPERC"
Halimbawa: CDEF:predict=172800,86400,2,1800,x,PREDICT
Ito ay lilikha ng kalahating oras (1800 segundo) sliding window average/sigma ng x, iyon
Ang average ay mahalagang nakalkula tulad ng ipinapakita dito:
+---!---!---!---!---!---!---!---!---!---!---!---!- --!---!---!---!---!--->
ngayon
shift 1 t0
<----------------------->
bintana
<--------------->
shift 2
<------------------------------------------------>
bintana
<--------------->
shift 1 t1
<----------------------->
bintana
<--------------->
shift 2
<------------------------------------------------>
bintana
<--------------->
Ang halaga sa sample (t0) ang magiging average sa pagitan ng (t0-shift1-window) at (t0-shift1)
at sa pagitan ng (t0-shift2-window) at (t0-shift2)
Ang halaga sa sample (t1) ang magiging average sa pagitan ng (t1-shift1-window) at (t1-shift1)
at sa pagitan ng (t1-shift2-window) at (t1-shift2)
Ang function ay sa pamamagitan ng disenyo NAN-safe. Nagbibigay-daan din ito para sa extrapolation sa
hinaharap (sabihin ng ilang araw) - maaaring kailanganin mong tukuyin ang serye ng data kahit sa opsyonal
start= parameter, upang ang serye ng source data ay may sapat na data upang magbigay ng hula
din sa simula ng isang graph...
Ang percentile ay maaaring nasa pagitan ng [-100:+100]. Ang mga positibong porsyento ay nag-iinterpolate
sa pagitan ng mga halaga habang ang negatibo ay kukuha ng pinakamalapit.
Halimbawa: nagpapatakbo ka ng 7 shift na may window na 1800segundo. Ipagpalagay na ang rrd-file ay may
isang hakbang na sukat na 300 segundo nangangahulugan ito na kailangan nating gawin ang percentile na pagkalkula batay
sa maximum na 42 natatanging halaga (mas mababa kung nakakuha ka ng NAN). ibig sabihin na sa pinakamagandang kaso
makakakuha ka ng step rate sa pagitan ng mga value na 2.4 percent. kaya kung hihilingin mo ang ika-99
percentile, pagkatapos ay kakailanganin mong tingnan ang ika-41.59 na halaga. Tulad ng mayroon lamang tayo
mga integer, alinman sa ika-41 o ika-42 na halaga.
Gamit ang positibong percentile isang linear interpolation sa pagitan ng 2 mga halaga ay ginagawa sa
makuha ang epektibong halaga.
Ang negatibo ay nagbabalik ng pinakamalapit na halaga sa distansya - kaya sa kaso sa itaas ay ika-42
value, na epektibong nagbabalik ng Percentile100 o ang max ng nakaraang 7
araw sa bintana.
Narito ang isang halimbawa, na lilikha ng 10 araw na graph na nagpapakita rin ng hula na 3 araw
sa hinaharap kasama ang halaga ng kawalan ng katiyakan nito (tulad ng tinukoy ng avg+-4*sigma) Ito rin
nagpapakita kung ang hula ay lumampas sa isang tiyak na punto.
rrdtool graph image.png --imgformat=PNG
--start=-7days --end=+3days --width=1000 --height=200 --alt-autoscale-max
DEF:value=value.rrd:value:AVERAGE:start=-14days
LINE1:value#ff0000:value
CDEF:predict=86400,-7,1800,value,PREDICT
CDEF:sigma=86400,-7,1800,value,PREDICTSIGMA
CDEF:upper=predict,sigma,3,*,+
CDEF:lower=predict,sigma,3,*,-
LINE1:predict#00ff00:prediction
LINE1:upper#0000ff:upper\ certainty\ limit
LINE1:lower#0000ff:lower\ certainty\ limit
CDEF:exceeds=value,UN,0,value,lower,upper,LIMIT,UN,IF
TICK:exceeds#aa000080:1
CDEF:perc95=86400,-7,1800,95,value,PREDICTPERC
LINE1:perc95#ffff00:95th_percentile
Tandaan: Ipinakita ng karanasan na ang isang salik sa pagitan ng 3 at 5 sa scale sigma ay isang mahusay
discriminator upang makita ang abnormal na pag-uugali. Malinaw na nakasalalay din ito sa uri ng
data at kung gaano "ingay" ang serye ng data.
Tandaan din ang tahasang paggamit ng start= sa CDEF - ito ay kinakailangan upang mai-load ang lahat ng
kinakailangang data (kahit na hindi ito ipinapakita)
Magagamit lang ang hulang ito para sa mga panandaliang extrapolation - sabihin na ilang araw na
ang kinabukasan.
Mga espesyal na halaga
UNKN
Itinutulak ang hindi kilalang halaga sa stack
INF, NEGINF
Nagtutulak ng positibo o negatibong walang katapusang halaga sa stack. Kapag ang ganoong halaga ay
naka-graph, lumilitaw ito sa itaas o ibaba ng graph, anuman ang aktwal na halaga
sa y-axis ay.
Nakaraan
Tinutulak ang isang hindi kilala halaga kung ito ang unang halaga ng isang set ng data o kung hindi man ang
resulta nito CDEF sa nakaraang hakbang ng oras. Pinapayagan ka nitong gumawa ng mga kalkulasyon
sa kabuuan ng data. Hindi magagamit ang function na ito sa VDEF mga tagubilin.
PREV(vname)
Tinutulak ang isang hindi kilala halaga kung ito ang unang halaga ng isang set ng data o kung hindi man ang
resulta ng variable ng vname sa nakaraang hakbang ng oras. Ito ay nagpapahintulot sa iyo na gawin
mga kalkulasyon sa kabuuan ng data. Hindi magagamit ang function na ito sa VDEF mga tagubilin.
COUNT
Itulak ang numero 1 kung ito ang unang halaga ng set ng data, ang numero 2 kung ito ay
ang pangalawa, at iba pa. Nagbibigay-daan sa iyo ang espesyal na halagang ito na gumawa ng mga kalkulasyon batay sa
posisyon ng halaga sa loob ng set ng data. Hindi magagamit ang function na ito sa VDEF
mga tagubilin.
oras
Ang oras sa loob ng RRDtool ay sinusukat sa mga segundo mula noong panahon. Ang panahon ay tinukoy na
"Thu Jan 1 00:00:00 UTC 1970".
NGAYON
Itinutulak ang kasalukuyang oras sa stack.
STEPWIDTH
Ang kasama ng kasalukuyang hakbang sa mga segundo. Magagamit mo ito para bumalik mula sa batay sa rate
mga presentasyon sa ganap na mga numero
CDEF:abs=rate,STEPWIDTH,*,PREF,ADDNAN
BAGONG ARAW,NEWWEEK,NEWMONTH,BAGONG TAON
Ang tatlong operator na ito ay magbabalik ng 1.0 sa tuwing ang isang hakbang ay ang una sa ibinigay
panahon. Ang mga panahon ay tinutukoy ayon sa lokal na timezone AT ang "LC_TIME"
mga setting.
CDEF:mtotal=rate,STEWIDTH,*,NEWMONTH,PREV,0,IF,ADDNAN
TIME
Itinutulak ang oras na kinuha ang kasalukuyang naprosesong halaga sa stack.
LTIME
Naglalaan ng oras gaya ng tinukoy ni TIME, inilalapat ang time zone offset na wasto sa oras na iyon
kasama ang daylight saving time kung sinusuportahan ito ng iyong OS, at itinutulak ang resulta sa
salansan. Mayroong isang detalyadong halimbawa sa seksyon ng mga halimbawa sa ibaba kung paano gamitin
na ito.
Direktang pinoproseso ang stack
DUP, POP, EXC
Doblehin ang tuktok na elemento, alisin ang tuktok na elemento, palitan ang dalawang nangungunang elemento.
LALIM
itinutulak ang kasalukuyang lalim ng stack papunta sa stack
a,b, LALIM -> a,b,2
n,KOPYA
itulak ang isang kopya ng mga nangungunang n elemento sa stack
a,b,c,d,2,COPY => a,b,c,d,c,d
n,INDEX
itulak ang nth elemento papunta sa stack.
a,b,c,d,3,INDEX -> a,b,c,d,b
n,m,ROLL
paikutin ang tuktok n elemento ng stack ng m
a,b,c,d,3,1,ROLL => a,d,b,c
a,b,c,d,3,-1,ROLL => a,c,d,b
MGA VARIABLE
Gumagana lamang ang mga operator na ito VDEF mga pahayag. Tandaan na sa kasalukuyan LAMANG ang gumagana para sa
VDEF.
MAXIMUM, MINIMUM, AVERAGE
Ibalik ang katumbas na halaga, MAXIMUM at MINIMUM din ibalik ang unang paglitaw
ng halagang iyon sa bahagi ng oras.
Halimbawa: "VDEF:avg=mydata,AVERAGE"
STDEV
Ibinabalik ang karaniwang paglihis ng mga halaga.
Halimbawa: "VDEF:stdev=mydata,STDEV"
HULI UNA
Ibalik ang huli/unang non-nan o walang katapusang halaga para sa napiling stream ng data,
kasama ang timestamp nito.
Halimbawa: "VDEF:first=mydata,FIRST"
TOTAL
Ibinabalik ang rate mula sa bawat tinukoy na time slot na na-multiply sa laki ng hakbang. Pwede ito,
halimbawa, ibalik ang kabuuang mga byte na inilipat kapag nag-log ka ng mga byte bawat segundo.
Ibinabalik ng bahagi ng oras ang bilang ng mga segundo.
Halimbawa: "VDEF:total=mydata,TOTAL"
PERCENT, PERCENTNAN
Dapat itong sundin a DEF or CDEF vname. ang vname ay pop, isa pang numero ay pop
na isang tiyak na porsyento (0..100). Ang set ng data ay pinagsunod-sunod at ang halaga
ibinalik ay pinili tulad na bahagdan porsyento ng mga halaga ay mas mababa o katumbas ng
ang resulta. Para sa PERCENTNAN Hindi kilala ang mga halaga ay binabalewala, ngunit para sa PERCENT Hindi kilala halaga
ay itinuturing na mas mababa kaysa sa anumang may hangganang numero para sa layuning ito kaya kung ang operator na ito
nagbabalik ng hindi kilala medyo marami ka sa mga ito sa iyong data. infmga inite na numero ay
mas maliit, o higit pa, kaysa sa mga may hangganang numero at palaging higit sa Hindi kilala mga numero.
(NaN < -INF < finite values < INF)
Halimbawa: "VDEF:perc95=mydata,95,PERCENT"
"VDEF:percnan95=mydata,95,PERCENTNAN"
LSLSLOPE, LSLINT, LSLCORREL
Ibalik ang mga parameter para sa a Lsilangan Sawayan Line (y = mx +b) na tinatayang ang
ibinigay na dataset. Ang LSLSLOPE ay ang slope (M) ng linyang nauugnay sa COUNT na posisyon
ng data. Ang LSLINT ay ang y-intercept (B), na nangyayari rin bilang unang data
punto sa graph. Ang LSLCORREL ay ang Correlation Coefficient (kilala rin bilang Pearson's
Product Moment Correlation Coefficient). Ito ay mula 0 hanggang +/-1 at kumakatawan
ang kalidad ng akma para sa pagtatantya.
Halimbawa: "VDEF:slope=mydata,LSLSLOPE"
Gumamit ng rrdgraph_rpn online gamit ang mga serbisyo ng onworks.net