ספריית לקוח לטלמטריה ב-Rust

לקוח טלמטריה הוא אפליקציה שמתקשרת עם שירות הטלמטריה כדי להגדיר איסוף נתונים, לנהל הגדרות של מדדים ולקבל דוחות טלמטריה. לקוחות משתמשים בספריית libsdv_telemetry_rust_wrapper Rust כדי ליצור אינטראקציה עם השירות.

סקירה כללית על פלטפורמת ה-API

לעיון בתיעוד ה-API, אפשר לעבור אל מאמרי העזרה של Rust telemetry client library API.

הספרייה מספקת ממשק Rust לאינטראקציה עם שירות הטלמטריה הבסיסי. הספרייה אחראית לתחומים הבאים:

  • ניהול מחזור החיים של השירות: ניהול החיבור לשירות הטלמטריה.

    • הפעלה: יצירת חיבור לשירות באמצעות קריאה חוסמת. אחרי החיבור, אפשר לרשום קריאות חוזרות (callback) כדי לקבל התראות אסינכרוניות על סטטוס המערכת ועל הזמינות של דוחות חדשים.
    • כיבוי: מאפשר להתנתק מהשירות בצורה מסודרת ולמחוק את כל המשאבים שמשויכים אליו.
  • ניהול מחזור החיים של הגדרות מדדים: מאפשר שליטה במחזור החיים של הגדרות מדדים.

    • ניהול: לקוחות יכולים להוסיף, להסיר, להפעיל ולהשבית הגדרות של מדדים.
    • בדיקה: אפשר לשלוח שאילתה כדי לקבל את רשימת ההגדרות הפעילות והלא פעילות.
  • טיפול בדוחות ואחזור שלהם: מאפשר גישה לנתונים שנאספו על ידי שירות הטלמטריה.

    • התראות: המערכת שולחת התראות ללקוחות באופן אסינכרוני באמצעות קריאה חוזרת (callback) בכל פעם שדוח מדדים חדש מוכן לאחזור.
    • גישה לנתונים: מספקת שיטות לאחזור דוחות ספציפיים לפי ה-UUID שלהם ולאחזור רשימה של כל הדוחות הזמינים.
  • דיווח על סטטוס ושגיאות: מספק תובנות לגבי תקינות וסטטוס שירות הטלמטריה.

    • עדכוני סטטוס אסינכרוניים: הלקוחות מקבלים עדכוני סטטוס בזמן אמת, כולל שגיאות ואזהרות, באמצעות קריאה חוזרת ייעודית. כך תוכלו להטמיע טיפול חזק בשגיאות ולנטר את מצב השירות.

דוגמת שימוש

כדי לראות אפליקציה מלאה שאפשר להדר שמדגימה את מחזור החיים המלא, אפשר לעיין בדוגמה להטמעה של לקוח: samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs.

לקוח לדוגמה הוא כלי לשורת הפקודה שמקיים אינטראקציה עם ה-API של הספרייה המלאה. בדוגמה הזו מודגם איך לגשר בין הממשק מבוסס הקריאה החוזרת של הספרייה לבין זמן ריצה אסינכרוני של Rust ‏ (Tokio) באמצעות ערוצים.

הלקוח מבצע את רצף הפעולות הבא:

  1. יוצר חיבור לשירות הטלמטריה ורושם קריאות חוזרות (callback) לעדכוני סטטוס ולהתראות על דוחות מדדים.
  2. קורא קובצי הגדרות של מדדים שסופקו כארגומנטים בשורת הפקודה, ואז מוסיף ומפעיל את ההגדרות בשירות.
  3. משתמש במשימה שפועלת ברקע כדי לרשום ביומן הודעות סטטוס אסינכרוניות (שגיאות או אזהרות) שהתקבלו מהשירות.
  4. הפונקציה מנהלת את לולאת אחזור הנתונים על ידי ביצוע הפעולות הבאות:
    • הפונקציה ממתינה להודעה שדוח המדדים מוכן.
    • מאחזר את נתוני הדוח המלאים של המדדים.
    • אפשר גם לכתוב את הדוח לדיסק כקובץ בינארי של מאגר אחסון לפרוטוקולים.
  5. הפונקציה מסירה את הגדרת המדדים מהשירות אחרי שהיא יוצרת את דוח המדדים הראשון. שימו לב שזוהי הטמעה לדוגמה, והלקוחות שלכם יכולים לקבל כל מספר של דוחות.
  6. סוגר את החיבור לשירות בצורה מסודרת.