هذا هو الأمر rrdgraph_rpn الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
rrdgraph_rpn - حول RPN Math في الرسم البياني rrdtool
موجز
RPN التعبير:=vname|عامل|قيمنا[,RPN التعبير]
الوصف
إذا كنت قد استخدمت آلة حاسبة تقليدية من HP، فأنت تعرف ذلك بالفعل RPN (عكس البولندية
الرموز). الفكرة وراء RPN هو أن لديك مكدسًا وتدفع بياناتك إلى هذا
كومة. عندما تقوم بتنفيذ عملية ما، فإنها تأخذ نفس عدد العناصر من المكدس
ضروري. يتم الدفع بشكل ضمني، لذلك كلما قمت بتحديد رقم أو متغير، يتم ذلك
يتم دفعه إلى المكدس تلقائيًا.
في نهاية العملية الحسابية يجب أن تكون هناك قيمة واحدة فقط متبقية في المكدس.
هذه هي نتيجة الوظيفة وهذا ما يتم وضعه في vname. إلى CDEF
تعليمات، تتم معالجة المكدس لكل نقطة بيانات على الرسم البياني. فدف تعليمات
العمل على مجموعة بيانات كاملة في تشغيل واحد. علماً أنه حالياً فدف تعليمات الدعم فقط
قائمة محدودة من الوظائف.
مثال: "VDEF:maximum=mydata,MAXIMUM"
سيؤدي هذا إلى تعيين المتغير "الحد الأقصى" والذي يمكنك الآن استخدامه في بقية البرنامج النصي RRD الخاص بك.
مثال: "CDEF:mydatabits=mydata,8,*"
وهذا يعني: دفع المتغير بياناتي، اضغط على الرقم 8، قم بتنفيذ المشغل *. المشغل
يحتاج إلى عنصرين ويستخدمهما لإرجاع قيمة واحدة. ثم يتم تخزين هذه القيمة في
com.mydatabits. كما كنت قد خمنت، هذه التعليمات لا تعني شيئا أكثر من com.mydatabits
= بياناتي * 8. القوة الحقيقية ل RPN يكمن في حقيقة أنه من الواضح دائمًا ما
أجل معالجة الإدخال. بالنسبة للتعبيرات مثل "a = b + 3 * 5" تحتاج إلى ضرب 3
مع 5 أولا قبل أن تضيف b تحصل a. ومع ذلك، مع الأقواس يمكنك تغيير هذا
الترتيب: "أ = (ب + 3) * 5". في RPN، ستفعل "a = b, 3, +, 5, *" دون الحاجة إلى ذلك
أقواس.
OPERATORS
عوامل التشغيل المنطقية
LT ، جنيه ، GT، GE، المعادل ، NE
أقل من، أقل أو يساوي، أكبر من، أكبر أو يساوي، يساوي، لا يساوي كل البوب اثنين
عناصر من المكدس، ومقارنتها بالشرط المحدد وإرجاع 1 إلى صحيح
أو 0 للخطأ. مقارنة ا غير معروف أو لا نهاية القيمة سوف ينتج عنها غير معروف
تم إرجاعها... والتي سيتم التعامل معها أيضًا على أنها كاذبة بواسطة IF مكالمة.
الأمم المتحدة، ISINF
قم بإخراج عنصر واحد من المكدس، وقارنه بـ غير معروف على التوالي ل إيجابي or
سلبي انفينتي. إرجاع 1 للصواب أو 0 للخطأ.
IF
ينبثق ثلاثة عناصر من المكدس. إذا كان العنصر الأخير الذي ظهر هو 0 (خطأ)، فإن
يتم دفع القيمة التي ظهرت أولاً إلى المكدس، وإلا فإن القيمة التي ظهرت في الثانية تكون كذلك
دفع للتراجع. وهذا يعني في الواقع أن أي قيمة غير 0 تعتبر كذلك
صحيح.
مثال: "A,B,C,IF" يجب قراءتها على النحو التالي "إذا (A) ثم (B) وإلا (C)"
مقارنة القيم
MIN ، وفر
ينبثق عنصرين من المكدس ويعيد العنصر الأصغر أو الأكبر على التوالي.
نلاحظ أن لا نهاية أكبر من أي شيء آخر. إذا كان أحد أرقام الإدخال هو
غير معروف ثم ستكون نتيجة العملية غير معروف أيضا.
مينان، ماكسنان
إصدار NAN الآمن من MIN وMAX. إذا كان أحد أرقام الإدخال هو غير معروف ثم
وستكون نتيجة العملية هي الأخرى. إذا كان كلاهما غير معروف، ثم النتيجة
العملية هي غير معروف.
مما سيحدث
ينبثق عنصرين من المكدس ويستخدمهما لتحديد نطاق. ثم ينبثق
عنصر آخر وإذا وقع داخل النطاق يتم دفعه للخلف. إذا لم يكن الأمر كذلك، أ
غير معروف دفعت.
يشمل النطاق المحدد الحدين (أي: رقم يساوي أحد الحدين
سيتم دفع الحدود مرة أخرى). إذا كان أي من الأرقام الثلاثة المعنية هو أي منهما
غير معروف or لا نهاية ستُرجع هذه الوظيفة دائمًا ملفًا غير معروف
مثال: سيتم إرجاع "CDEF:a=alpha,0,100,LIMIT". غير معروف إذا كانت ألفا أقل من 0 أو إذا
وهو أعلى من 100.
الحساب
+, -, *, /, %
إضافة، طرح، ضرب، قسمة، modulo
عدنان
إضافة آمنة لـ NAN. إذا كانت إحدى المعلمات هي NAN/UNKNOWN، فسيتم معاملتها على أنها صفر. إذا كان كل من
المعلمات هي NAN/UNKNOWN، وسيتم إرجاع NAN/UNKNOWN.
الخطيئة، COS ، سجل، EXP ، SQRT
جيب التمام وجيب التمام (الإدخال بالراديان)، السجل وExp (اللوغاريتم الطبيعي)، الجذر التربيعي.
أتان
ظل قوسي (الإخراج بالراديان).
أتان2
قوس الظل لمكونات y,x (الإخراج بالراديان). يؤدي هذا إلى ظهور عنصر واحد من
المكدس، المكون x (جيب التمام)، ثم المكون الثاني، وهو المكون y (جيب التمام).
ثم يقوم بدفع ظل النسبة الخاص بهم، مما يحل الغموض بينهما
الأرباع.
مثال: "CDEF:angle=Y,X,ATAN2,RAD2DEG" سوف يحول مكونات "X,Y" إلى زاوية في
درجة.
أرضية، سقف
تقريب لأسفل أو لأعلى إلى أقرب عدد صحيح.
ديج2راد، RAD2DEG
تحويل الزاوية بالدرجات إلى راديان، أو الراديان إلى درجات.
عضلات المعده
خذ القيمة المطلقة.
تعيين العمليات
نوع، REV
قم بإخراج عنصر واحد من المكدس. هذا ال عد من العناصر التي سيتم فرزها (أو
معكوس). الأعلى عد يتم بعد ذلك فرز العناصر المتبقية (أو عكسها).
مكان على المكدس.
مثال: "CDEF:x=v1,v2,v3,v4,v5,v6,6,SORT,POP,5,REV,POP,+,+,+,4,/" سوف يحسب
متوسط القيم v1 إلى v6 بعد إزالة الأصغر والأكبر.
AVG
انبثاق عنصر واحد (عد) من المكدس. الآن البوب عد العناصر وبناء المتوسط،
تجاهل كافة القيم غير المعروفة في هذه العملية.
مثال: "CDEF:x=a,b,c,d,4,AVG"
MEDIAN
انبثق عنصرًا واحدًا (عد) من المكدس. الآن البوب عد العناصر وإيجاد الوسيط
تجاهل كافة القيم غير المعروفة في هذه العملية. إذا كان هناك عدد زوجي من غير معروف
القيم، سيتم دفع متوسط الوسطين على المكدس.
مثال: "CDEF:x=a,b,c,d,4,MEDIAN"
اتجاه، تريندن
إنشاء متوسط "نافذة منزلقة" لسلسلة بيانات أخرى.
الاستخدام: CDEF: Smoothed=x,1800,TREND
سيؤدي هذا إلى إنشاء نافذة منزلقة مدتها نصف ساعة (1800 ثانية) بمعدل x. المتوسط
يتم حسابه بشكل أساسي كما هو موضح هنا:
+---!---!---!---!---!---!---!---!--->
زيوت ناو
تأخير t0
<-------------->
تأخير t1
<-------------->
تأخير t2
<-------------->
القيمة في العينة (t0) ستكون المتوسط بين (t0-delay) و(t0)
القيمة في العينة (t1) ستكون المتوسط بين (t1-delay) و(t1)
القيمة في العينة (t2) ستكون المتوسط بين (t2-delay) و(t2)
يعتبر TRENDNAN - على عكس TREND - آمنًا لـ NAN. إذا كنت تستخدم TREND وقيمة مصدر واحدة
هو NAN تتأثر النافذة المنزلقة بالكامل. تتجاهل عملية TRENDNAN الكل
قيم NAN في نافذة منزلقة ويحسب متوسط القيم المتبقية.
يتنبأ، التنبؤ سيجما، PREDICPERC
قم بإنشاء متوسط "نافذة منزلقة"/سيجما/نسبة مئوية لسلسلة بيانات أخرى، وذلك أيضًا
ينقل سلسلة البيانات بمقدار معين من الوقت أيضًا
الاستخدام - التحولات الصريحة: "CDEF:predict= ،...،
1>،ن، ,x,PREDICT" "CDEF:sigma= ،...،
1>،ن، ,x,PREDICTSIGMA" "CDEF:perc= ،...،
1>،ن، , ,x,PREDICPERC"
الاستخدام - التحولات المحددة على أنها التحول الأساسي وعدد مرات تطبيق ذلك
"CDEF: توقع = ،-ن، ,x,PREDICT" "CDEF:sigma=
المضاعف>،-ن، ,x,PREDICTSIGMA" "CDEF:sigma=
المضاعف>،-ن، , ,x,PREDICPERC"
مثال: CDEF:predict=172800,86400,2,1800,x,PREDICT
سيؤدي هذا إلى إنشاء نافذة منزلقة مدتها نصف ساعة (1800 ثانية) متوسط/سيجما x
يتم حساب المتوسط بشكل أساسي كما هو موضح هنا:
+---!---!---!---!---!---!---!---!---!---!---!---!- --!---!---!---!---!--->
زيوت ناو
التحول 1 طن0
<----------------------->
نافذة
<-------------->
التحول 2
<----------------------------------------------->
نافذة
<-------------->
التحول 1 طن1
<----------------------->
نافذة
<-------------->
التحول 2
<----------------------------------------------->
نافذة
<-------------->
القيمة في العينة (t0) ستكون المتوسط بين (t0-shift1-window) و(t0-shift1)
وبين (t0-shift2-window) و (t0-shift2)
القيمة في العينة (t1) ستكون المتوسط بين (t1-shift1-window) و(t1-shift1)
وبين (t1-shift2-window) و (t1-shift2)
الوظيفة حسب التصميم NAN-safe. وهذا يسمح أيضًا بالاستقراء في
المستقبل (على سبيل المثال بضعة أيام) - قد تحتاج إلى تحديد سلسلة البيانات مع الخيار الاختياري
start= المعلمة، بحيث تحتوي سلسلة البيانات المصدر على بيانات كافية لتوفير التنبؤ
أيضا في بداية الرسم البياني ...
يمكن أن تتراوح النسبة المئوية بين [-100:+100]. النسب المئوية الإيجابية يقحم
بين القيم بينما السالب سوف يأخذ الأقرب.
مثال: قمت بتشغيل 7 نوبات مع نافذة مدتها 1800 ثانية. على افتراض أن ملف rrd يحتوي على
حجم الخطوة 300 ثانية، وهذا يعني أنه يتعين علينا إجراء الحساب المئوي على أساس
بحد أقصى 42 قيمة مميزة (أقل إذا حصلت على NAN). وهذا يعني أنه في أفضل الأحوال
تحصل على معدل خطوة بين قيم 2.4 بالمائة. لذلك إذا طلبت 99
المئوية، فإنك ستحتاج إلى إلقاء نظرة على القيمة 41.59. كما لدينا فقط
الأعداد الصحيحة، إما القيمة 41 أو 42.
مع النسبة المئوية الإيجابية يتم إجراء الاستيفاء الخطي بين القيمتين
الحصول على القيمة الفعالة.
تُرجع القيمة السالبة أقرب مسافة قيمة - لذلك في الحالة المذكورة أعلاه هي 42
القيمة، والتي تُرجع بشكل فعال النسبة المئوية 100 أو الحد الأقصى للـ 7 السابقة
أيام في النافذة.
هنا مثال، من شأنه إنشاء رسم بياني لمدة 10 أيام يظهر أيضًا التنبؤ لمدة 3 أيام
في المستقبل بقيمة عدم اليقين (كما هو محدد بواسطة avg+-4*sigma) وهذا أيضًا
يوضح ما إذا تم تجاوز التوقع عند نقطة معينة.
rrdtool الرسم البياني image.png --imgformat=PNG \
--البدء=-7 أيام --النهاية=+3 أيام --العرض=1000 --الارتفاع=200 --alt-autoscale-max \
DEF:value=value.rrd:value:AVERAGE:start=-14days \
LINE1:القيمة#ff0000:القيمة \
CDEF: توقع = 86400،-7,1800،XNUMX، القيمة، توقع \
CDEF: سيجما = 86400،-7,1800،XNUMX، القيمة، PREDICTSIGMA \
CDEF:العلوي=توقع،سيجما،3،*،+ \
CDEF:lower=توقع,سيجما,3,*,- \
LINE1:توقع#00ff00:تنبؤ \
LINE1:upper#0000ff:العلوي\ اليقين\ الحد \
LINE1:lower#0000ff:الحد الأدنى\ اليقين\
CDEF:exceeds=value,UN,0,value,lower,upper,LIMIT,UN,IF \
علامة:يتجاوز#aa000080:1 \
CDEF:perc95=86400,-7,1800,95,value,PREDICTPERC \
LINE1:perc95#ffff00:95th_percentile
ملاحظة: أظهرت التجربة أن العامل بين 3 و5 لقياس سيجما يعد أمرًا جيدًا
التمييز للكشف عن السلوك غير الطبيعي. من الواضح أن هذا يعتمد أيضًا على نوع
البيانات ومدى "ضجيج" سلسلة البيانات.
لاحظ أيضًا الاستخدام الصريح لـ start= في CDEF - وهذا ضروري لتحميل كافة ملفات
البيانات الضرورية (حتى لو لم يتم عرضها)
لا يمكن استخدام هذا التنبؤ إلا في الاستقراءات قصيرة المدى - على سبيل المثال بعد بضعة أيام
المستقبل.
قيم خاصة
UNKN
يدفع قيمة غير معروفة على المكدس
الوقود النووي المشع, نيجينف
يدفع قيمة لا نهائية موجبة أو سالبة على المكدس. عندما تكون هذه القيمة
بيانيًا، فإنه يظهر في أعلى الرسم البياني أو أسفله، بغض النظر عن القيمة الفعلية
على المحور y هو.
PREV
يدفع ان غير معروف value إذا كانت هذه هي القيمة الأولى لمجموعة البيانات أو بخلاف ذلك
نتيجة هذا CDEF في الخطوة الزمنية السابقة. هذا يسمح لك بإجراء العمليات الحسابية
عبر البيانات. لا يمكن استخدام هذه الوظيفة في فدف تعليمات.
السابق (اسم)
يدفع ان غير معروف value إذا كانت هذه هي القيمة الأولى لمجموعة البيانات أو بخلاف ذلك
نتيجة متغير vname في الخطوة الزمنية السابقة. هذا يسمح لك أن تفعل
الحسابات عبر البيانات. لا يمكن استخدام هذه الوظيفة في فدف تعليمات.
بالإحصاء
يدفع الرقم 1 إذا كانت هذه هي القيمة الأولى لمجموعة البيانات، والرقم 2 إذا كان كذلك
والثاني، وهكذا. تتيح لك هذه القيمة الخاصة إجراء حسابات بناءً على
موضع القيمة ضمن مجموعة البيانات. لا يمكن استخدام هذه الوظيفة في فدف
تعليمات.
الوقت:
يتم قياس الوقت داخل RRDtool بالثواني منذ العصر. يتم تعريف العصر ليكون
"Thu Jan 1 00:00:00 UTC 1970".
الآن
يدفع الوقت الحالي على المكدس.
عرض الخطوة
مع الخطوة الحالية في ثوان. يمكنك استخدام هذا للعودة من السعر القائم
العروض التقديمية على الأعداد المطلقة
CDEF:abs=rate,STEPWIDTH,*,PREF,ADDNAN
يوم جديد,أسبوع جديد,شهر جديد,السنة الجديدة
سوف تقوم هذه العوامل الثلاثة بإرجاع 1.0 عندما تكون الخطوة هي الأولى من المعطى
فترة. يتم تحديد الفترات وفقًا للمنطقة الزمنية المحلية و"LC_TIME"
الإعدادات.
CDEF:mtotal=rate,STEPWIDTH,*,NEWMONTH,PREV,0,IF,ADDNAN
الوقت
يدفع الوقت الذي تم فيه نقل القيمة المعالجة حاليًا إلى المكدس.
الوقت الطويل
يأخذ الوقت على النحو المحدد من قبل الوقت، يطبق إزاحة المنطقة الزمنية الصالحة في ذلك الوقت
بما في ذلك التوقيت الصيفي إذا كان نظام التشغيل لديك يدعمه، ويدفع النتيجة إلى
كومة. يوجد مثال تفصيلي في قسم الأمثلة أدناه حول كيفية الاستخدام
هذا.
معالجة المكدس مباشرة
دوب, POP ، EXC
قم بتكرار العنصر العلوي، وإزالة العنصر العلوي، واستبدال العنصرين العلويين.
العمق
يدفع العمق الحالي للمكدس إلى المكدس
أ، ب، العمق -> أ، ب، 2
n,COPY
ادفع نسخة من العناصر n العليا إلى المكدس
أ,ب,ج,د,2,نسخ => أ,ب,ج,د,ج,د
n,INDEX
ادفع العنصر n إلى المكدس.
أ، ب، ج، د، 3، إندكس -> أ، ب، ج، د، ب
ن، م،ROLL
قم بتدوير العناصر n العليا للمكدس بمقدار m
أ,ب,ج,د,3,1,ROLL => أ,د,ب,ج
أ,ب,ج,د,3,-1,ROLL => أ,ج,د,ب
المتغيرات
هؤلاء المشغلين يعملون فقط على فدف صياغات. لاحظ أن هذه فقط تعمل حاليًا من أجل
فدف.
الحد الأقصى، الحد الأدنى، المتوسط
تقوم الدالة MAXIMUM وMINIMUM بإرجاع القيمة المقابلة، كما تقوم الدالة MAXIMUM وMINIMUM أيضًا بإرجاع التواجد الأول
من تلك القيمة في عنصر الوقت.
مثال: "VDEF:avg=mydata,AVERAGE"
ستيف
إرجاع الانحراف المعياري للقيم.
مثال: "VDEF:stdev=mydata,STDEV"
آخر أولا
إرجاع القيمة الأخيرة/الأولى غير النانوية أو القيمة اللانهائية لدفق البيانات المحدد،
بما في ذلك الطابع الزمني الخاص به.
مثال: "VDEF:first=mydata,FIRST"
المجموع
إرجاع المعدل من كل فترة زمنية محددة مضروبًا في حجم الخطوة. هذا يمكن،
على سبيل المثال، قم بإرجاع إجمالي وحدات البايت المنقولة عندما تقوم بتسجيل وحدات البايت في الثانية.
يقوم مكون الوقت بإرجاع عدد الثواني.
مثال: "VDEF:total=mydata,TOTAL"
في المئة، بيرسينتان
يجب أن يتبع هذا أ DEF or CDEF vname. vname تم ظهور رقم آخر
وهي نسبة معينة (0..100). ثم يتم فرز مجموعة البيانات والقيمة
يتم اختيار عاد من هذا القبيل نسبة مئوية النسبة المئوية للقيم أقل أو تساوي
النتائج. بالنسبة لبيرسننان غير معروف يتم تجاهل القيم، ولكن بنسبة PERCENT غير معروف القيم
تعتبر أقل من أي عدد منتهٍ لهذا الغرض فإذا كان هذا العامل
إرجاع غير معروف لديك الكثير منها في بياناتك. الوقود النووي المشعالأعداد الأولية هي
أقل أو أكثر من الأعداد المحدودة وتكون دائمًا أكبر من غير معروف أرقام.
(NaN <-INF <القيم المحدودة <INF)
مثال: "VDEF:perc95=mydata,95,PERCENT"
"VDEF:percnan95=mydata,95,PERCENTNAN"
لسلسلوب، لسلينت، لسلكوريل
إرجاع المعلمات ل Lالشرق Squares Lالمعهد الوطني للإحصاء (y = mx +ب) والتي تقارب
مجموعة البيانات المقدمة. LSLSLOPE هو المنحدر (م) من السطر المتعلق بموضع COUNT
من البيانات. LSLINT هو تقاطع y (B)، والتي تصادف أيضًا أنها البيانات الأولى
نقطة على الرسم البياني. LSLCORREL هو معامل الارتباط (المعروف أيضًا باسم معامل بيرسون
معامل الارتباط لحظة المنتج). سيتراوح من 0 إلى +/-1 ويمثل
نوعية الملاءمة للتقريب.
مثال: "VDEF:slope=mydata,LSLSLOPE"
استخدم rrdgraph_rpn عبر الإنترنت باستخدام خدمات onworks.net