مثال على عرض نطاق الموقع باستخدام واجهة برمجة التطبيقات accountMetrics

هذه المقالة تشرح مثالاً لاستعلام واجهة برمجة التطبيقات accountMetrics لمراقبة أقصى معدل إرساء و استقبال للبيانات لموقع.

إنشاء الاستعلام

نوصي باستخدام bytesUpstreamMax و bytesDownstreamMax، وهي مقاييس الذروة. تراخيص Cato تعتمد على هذه القيم، وليس معدل الإرساء والاستقبال المتوسط.

هذا هو استعلام لجلب سلسلة زمنية من 10 حاويات للفترة الزمنية من 15:00:00 إلى 15:10:00 في 6 فبراير 2024، للموقع ذو المعرف=12345. 10 حاويات لفترة زمنية مدتها 10 دقائق تعني أن كل حاوية تعادل دقيقة واحدة.

{
    مقاييس الحساب
    (
        معرف_الحساب: 7890
        الفترة_الزمنية: "utc.2024-02-06/{15:00:00--15:10:00}"
        تجميع_الأجهزة: صحيح
        تجميع_الواجهات: صحيح
    ) {
        من
        إلى
        مواقع (معرفات_الموقع:[12345]) {
            واجهات {
                الاسم
                السلسلة_الزمانية (التسميات:[الحد_الأقصى_للبيانات_الصادرة] السلات:10) {
                    التسمية
                    الوحدات
                    البيانات
                }
            }
        }
    }
}

هذا هو شكل الاستعلام في ساحة اللعب API الخاصة بـ GraphQL:

01_accountMetrics.png

الاستجابة الكاملة هي:

{
  "البيانات": {
    "مقاييس_الحساب": {
      "من": "2024-02-06T15:00:00Z",
      "إلى": "2024-02-06T15:10:00Z",
      "المواقع": [
        {
          "واجهات": [
            {
              "الاسم": "الكل",
              "السلسلة_الزمانية": [
                {
                  "التسمية": "الحد_الأقصى_للبيانات_الصادرة",
                  "الوحدات": "بايت",
                  "البيانات": [
                    [
                      1707231600000,
                      6008
                    ],
                    [
                      1707231660000,
                      12802
                    ],
                    [
                      1707231720000,
                      6557
                    ],
                    [
                      1707231780000,
                      3467
                    ],
                    [
                      1707231840000,
                      7168
                    ],
                    [
                      1707231900000,
                      3660
                    ],
                    [
                      1707231960000,
                      6791
                    ],
                    [
                      1707232020000,
                      5839
                    ],
                    [
                      1707232080000,
                      4183
                    ],
                    [
                      1707232140000,
                      4684
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

تفسير نتائج السلسلة الزمنية

الطابع الزمني

كل عنصر من عناصر سلسلة البيانات الزمنية هو عبارة عن قائمة حيث العنصر الأول هو الطابع الزمني لبداية تلك الحاوية، والعنصر الثاني هو المقياس لتلك الحاوية. الطوابع الزمنية بـ UTC، ووقت Unix Epoch بالنانوثانية. أمر Python واحد لتحويل الطابع الزمني في الحاوية الأولى إلى سلسلة يمكن قراءتها بواسطة الإنسان:

python3 -c "import datetime;print(datetime.datetime.fromtimestamp(1707231600000/1000))"

تشغيل هذا الأمر على جهاز Mac يبدو كالتالي:

sh-3.2$ python3 -c "import datetime;print(datetime.datetime.fromtimestamp (1707231600000/1000))"
2024-02-06 15:00:00
sh-3.2$

يمكنك أيضًا تشغيل أمر bash كالتالي:

date -r $((1707231600000/1000))

تلك هي نتائج أمر bash:

Cato-admin-M:tools catoadmin$ date -r $((1707231600000/1000))
الثلاثاء 6 فبراير 2024 15:00:00 GMT

باستخدام هذه التقنيات لتحويل جميع الطوابع الزمنية من المخرجات أعلاه، نجد أنها تتطابق مع بداية الحاويات لكل دقيقة في إطارنا الزمني:

1707231600000 -> 2024-02-06 15:00:00
1707231660000 -> 2024-02-06 15:01:00
1707231720000 -> 2024-02-06 15:02:00
1707231780000 -> 2024-02-06 15:03:00
1707231840000 -> 2024-02-06 15:04:00
1707231900000 -> 2024-02-06 15:05:00
1707231960000 -> 2024-02-06 15:06:00
1707232020000 -> 2024-02-06 15:07:00
1707232080000 -> 2024-02-06 15:08:00
1707232140000 -> 2024-02-06 15:09:00

الحد الأقصى لمعدل الإرسال

العنصر الثاني في كل عنصر من عناصر السلسلة الزمنية هو المقياس الذي في هذه الحالة هو أعلى معدل إرسال في تلك الحاوية. يمكن طلب العديد من المقاييس في استعلام واحد – من الشائع أن تطلب كلاً من bytesUpstreamMax وbytesDownstreamMax. المقياس يعبر دائمًا كسرعة بغض النظر عن معلمة الإدخال perSecond. حقل الوحدات يشير إلى أن هذه مقاييس بالبايتات، لذلك يجب ضربها في 8 للتحويل إلى البتات في الثانية كما هو معتاد.

النظر إلى العنصر الأول في استجابتنا أعلاه:

[
1707231600000,
6008
],

يمكننا تفسير هذا كالتالي:

  • 2024-02-06 15:00:00 UTC كانت بداية هذه الحاوية

  • نعرف من معلماتنا أن هذه حاوية دقيقة واحدة (يمكنك أيضًا طلب أن يعيد API حبيبات الحاوية إذا كنت غير متأكد)

  • خلال هذه الحاوية، كان أعلى معدل نقل 6008 بايت في الثانية. بضربها في 8، نحصل على قيمة ذروة بمعدل 8*6008 = 48,064 بيت في الثانية = 48 كيلوبت في الثانية.

بتطبيق نفس المبدأ على جميع العناصر في سلسلة الزمنية العائدة لدينا، نحصل على هذه القيم:

1707231600000 -> 2024-02-06 15:00:00 48kbps
1707231660000 -> 2024-02-06 15:01:00 102kbps
1707231720000 -> 2024-02-06 15:02:00 52kbps
1707231780000 -> 2024-02-06 15:03:00 27kbps
1707231840000 -> 2024-02-06 15:04:00 57kbps
1707231900000 -> 2024-02-06 15:05:00 29kbps
1707231960000 -> 2024-02-06 15:06:00 54kbps
1707232020000 -> 2024-02-06 15:07:00 46kbps
1707232080000 -> 2024-02-06 15:08:00 33kbps
1707232140000 -> 2024-02-06 15:09:00 37kbps

إذا رسمنا هذه القيم في Excel، سيبدو مخطط الخط مثل هذا:

02_excel.png

لفترة زمنية والموقع المقابلة، يبدو مخطط “الحد الأقصى لمعدل الإرسال – الإرسال” كالتالي:

03_excel.png

للوهلة الأولى تبدو هذه الرسوم البيانية مختلفة بعض الشيء، لكن هذا بسبب أن الرسم البياني لـ CMA يأتي من استعلام بعدد أكبر بكثير من الحاويات – من أجل التوضيح، نحن نستخدم عددًا قليلاً من الحاويات (10) مع استعلام Playground الخاص بنا. إذا وضعنا الرسم البياني لـ Excel من بيانات استعلامنا فوق الرسم البياني لـ CMA، يمكنك رؤية ارتباط قوي:

04-excel.png

هل كان هذا المقال مفيداً؟

0 من 0 وجدوا هذا مفيداً

لا توجد تعليقات