הכלי ליצירת הגדרות של מדדים (MCG) הוא שירות שמפשט את תהליך היצירה של הגדרות הטלמטריה של SDV. MCG ממיר הגדרות JSON קריאות לאנשים לפורמט קובץ בינארי של MetricsConfiguration מאגר אחסון לפרוטוקולים (protobuf) שנדרש לקמפיינים של טלמטריה ברכב.
MCG הוא שירות אינטרנט שאתם יכולים להשתמש בו באמצעות בקשות HTTP רגילות. הגישה הזו, שמבוססת על API, מאפשרת לכם להשתמש בכלי שורת פקודה כמו curl ליצירה ידנית ולניפוי באגים, או לשלב את MCG כ-backend לכלים מתוחכמים יותר, כמו ממשק גרפי ליצירת תצורות build.
תכונות
שירות הטלמטריה ברכב דורש הודעת protobuf בינארית של MetricsConfiguration. אפשר להציג את ההודעה הזו בפורמט textproto לצורך ניפוי באגים, אבל כדי ליצור את הפורמט הזה באופן ישיר צריך ידע מפורט על המבנה שלו ברמה נמוכה, וזה יכול להיות מייגע ומועד לשגיאות. ה-MCG מייעל את התהליך הזה על ידי העברת יצירת ההגדרות האישיות לפורמט JSON ידידותי למשתמש.
התכונות של MCG:
- הגדרות מבוססות-JSON: אפשר להגדיר את המדדים, כולל מקורות הנתונים, הלוגיקה של העיבוד וכללי הדיווח, בפורמט JSON שקריא לאנשים. לאחר מכן, MCG מקמפל את ההגדרות האלה לפורמט הבינארי הנדרש של protobuf.
- אימות מובנה: תהליך היצירה מאמת באופן אוטומטי את ההגדרות מול הגדרות האותות וכללי הסכימה כדי לזהות שגיאות לפני הפריסה.
- יצירה אוטומטית של סוגי הודעות: אגרגטורים ודוחות מפיקים תוצאות שצריך להגדיר באמצעות מתארי הודעות של protobuf בהגדרת הבינארי הסופית. MCG מסיק את המבנה של התוצאות האלה על סמך סוגי האותות של הקלט והלוגיקה של הצבירה, ויוצר באופן אוטומטי את מתארי ההודעות הנדרשים. כך לא תצטרכו להגדיר באופן ידני סכימות למבני נתונים של דוחות או למבני נתונים זמניים.
- יצירת ביטויים בקלות: דקדוק מותאם אישית שקריא לאנשים להגדרת ביטויים, שמונע בנייה ידנית של עצי ביטויים.
תהליך עבודה
כדי להשתמש ב-MCG ליצירת הגדרות של מדדים, צריך לבצע שני שלבים עיקריים: העלאה חד-פעמית של כל גרסה של Vehicle Signal Catalog שבה אתם מתכוונים להשתמש, ואז כתיבה ויצירה של הגדרות של מדדים ספציפיים.
העלאת הגדרות של אותות: צריך לבצע את השלב הזה רק פעם אחת לכל גרסה של Vehicle Signal Catalog. כדי להפעיל אימות והסקת סוגים, ל-MCG צריכה להיות גישה להגדרות של אותות הרכב שאתם מתכוונים להפנות אליהן בהגדרות האישיות שלכם. ההגדרות האלה כבר אמורות להיות קיימות כקובצי protobuf בפרויקט שלכם, כחלק מקטלוג VSIDL (או שאתם יכולים להשתמש בהגדרות לדוגמה כדי להתנסות). כדי שהם יהיו זמינים ל-MCG, צריך לארוז אותם ב-Vehicle Signal Catalog ולהעלות אותו באמצעות ה-API:
- כדי לארוז את קובצי ה-protobuf ל-FileDescriptorSet, קראו את המאמר יצירת FileDescriptorSet.
- כדי לקודד ב-base64 ולהעלות את הקטלוג, קראו את המאמר הוספה או עדכון של גרסת קטלוג.
כתיבת הגדרה: אחרי שמעלים גרסת קטלוג ל-MCG, אפשר לכתוב מספר כלשהו של הגדרות מדדים שמפנות אליה. בהגדרות ה-JSON, אתם קובעים באילו מקורות נתונים להשתמש, איך לבצע חישובים או צבירות של הנתונים האלה, ואת הטריגרים שקובעים מתי התוצאות נוצרות.
יצירה: שולחים את הגדרת ה-JSON ל-MCG API. ה-API מאמת את ההגדרה ומקמפל אותה לפורמט
MetricsConfiguration. אפשר לבקש את הנתונים האלה כ-protobuf בינארי (application/x-protobuf) לשימוש ברכב, או כ-textproto (text/x-protobuf) לבדיקה או לניפוי באגים.- כדי ליצור, משתמשים ב-POST /api/v2/generate_metrics_config.
במאמרי העזרה של MCG API מפורטים כל נקודות הקצה, הפורמטים של הבקשות והתגובות ודוגמאות לשימוש.
פריסה
כלי MCG הוא שירות מבוסס-ענן, ולכן הוא מיועד לפריסה בסביבת ענן (כמו Google Cloud Run). הוא מספק נקודה מרכזית ליצירת הגדרות ולאימות שלהן בכל הצוותים. להוראות פריסה, ראו פריסה ב-Google Cloud.
לפיתוח ולבדיקה מקומיים, אפשר גם להריץ את MCG כשירות עצמאי במחשב פיתוח. הוראות להגדרה מפורטות בקטע הרצה באופן מקומי.