เครื่องมือสร้างการกำหนดค่าเมตริก (MCG) เป็นบริการที่ช่วยให้การเขียนการกำหนดค่าการตรวจวัดระยะไกลของ SDV ง่ายขึ้น MCG จะแปลงการกำหนดค่า JSON ที่มนุษย์อ่านได้เป็นรูปแบบไฟล์บัฟเฟอร์โปรโตคอล (protobuf) MetricsConfiguration แบบไบนารีที่แคมเปญการตรวจวัดระยะไกลในยานพาหนะต้องใช้
MCG เป็นบริการบนเว็บที่คุณโต้ตอบด้วยโดยใช้คำขอ HTTP มาตรฐาน แนวทางที่อิงตาม API นี้ช่วยให้คุณใช้เครื่องมือบรรทัดคำสั่ง เช่น curl สำหรับการสร้างและการแก้ไขข้อบกพร่องด้วยตนเอง หรือผสานรวม MCG เป็นแบ็กเอนด์สำหรับเครื่องมือที่ซับซ้อนมากขึ้น เช่น อินเทอร์เฟซแบบกราฟิกสำหรับการสร้างการกำหนดค่าบิลด์
ฟีเจอร์
บริการ Telemetry ในรถยนต์ต้องใช้ข้อความ Protobuf แบบไบนารี MetricsConfiguration แม้ว่าข้อความนี้จะแสดงเป็นรูปแบบ textproto สำหรับการแก้ไขข้อบกพร่องได้ แต่การเขียนรูปแบบนี้โดยตรงต้องใช้ความรู้โดยละเอียดเกี่ยวกับโครงสร้างระดับต่ำ และอาจน่าเบื่อและมีแนวโน้มที่จะเกิดข้อผิดพลาด MCG ช่วยปรับปรุงกระบวนการนี้โดยเปลี่ยนการเขียนการกำหนดค่าเป็นรูปแบบ JSON ที่ใช้ง่าย
MCG มีฟีเจอร์ต่อไปนี้
- การกำหนดค่าที่อิงตาม JSON: การกำหนดค่าเมตริก ซึ่งรวมถึงแหล่งข้อมูล ตรรกะการประมวลผล และกฎการรายงาน สามารถกำหนดได้ในรูปแบบ JSON ที่มนุษย์อ่านได้ ซึ่ง MCG จะคอมไพล์เป็นรูปแบบ Protobuf แบบไบนารีที่จำเป็น
- การตรวจสอบความถูกต้องในตัว: กระบวนการสร้างจะตรวจสอบความถูกต้องของการกำหนดค่าโดยอัตโนมัติเทียบกับคำจำกัดความของสัญญาณและกฎสคีมาเพื่อตรวจหาข้อผิดพลาดก่อนการติดตั้งใช้งาน
- การสร้างประเภทข้อความอัตโนมัติ: ตัวรวบรวมและรายงานจะสร้างผลลัพธ์ที่ต้องกำหนดโดยใช้ข้อบ่งชี้ข้อความ protobuf ในการกำหนดค่าไบนารีขั้นสุดท้าย MCG จะอนุมานโครงสร้างของผลลัพธ์เหล่านี้ตามประเภทสัญญาณอินพุตและตรรกะการรวม และสร้างข้อบ่งชี้ข้อความที่จำเป็นโดยอัตโนมัติ ซึ่งจะช่วยให้คุณไม่ต้องกำหนดสคีมาสำหรับโครงสร้างข้อมูลระดับกลางหรือระดับรายงานด้วยตนเอง
- การเขียนนิพจน์ที่ง่ายขึ้น: ไวยากรณ์ที่มนุษย์อ่านได้ที่กำหนดเองสำหรับการกำหนดนิพจน์จะช่วยหลีกเลี่ยงการสร้างแผนผังนิพจน์ด้วยตนเอง
เวิร์กโฟลว์
การใช้ MCG เพื่อสร้างการกำหนดค่าเมตริกประกอบด้วย 2 ระยะหลักๆ ได้แก่ การอัปโหลด Vehicle Signal Catalog แต่ละเวอร์ชันที่คุณต้องการใช้เพียงครั้งเดียว ตามด้วยการเขียนและสร้างการกำหนดค่าเมตริกแต่ละรายการ
อัปโหลดคำจำกัดความของสัญญาณ: ขั้นตอนนี้ต้องทำเพียงครั้งเดียวต่อ Vehicle Signal Catalog แต่ละเวอร์ชัน หากต้องการเปิดใช้การตรวจสอบความถูกต้องและการอนุมานประเภท MCG ต้องมีสิทธิ์เข้าถึงคำจำกัดความของสัญญาณยานพาหนะที่คุณต้องการอ้างอิงในการกำหนดค่า คำจำกัดความเหล่านี้ควรมีอยู่แล้วในรูปแบบไฟล์ protobuf ในโปรเจ็กต์ของคุณซึ่งเป็นส่วนหนึ่งของแคตตาล็อก VSIDL (หรือคุณจะใช้คำจำกัดความตัวอย่างเพื่อทดสอบก็ได้) หากต้องการให้ MCG ใช้งานได้ ให้รวมสัญญาณเหล่านั้นไว้ในแคตตาล็อกสัญญาณของยานพาหนะ แล้วอัปโหลดโดยใช้ 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 เป็นบริการแบบสแตนด์อโลนในคอมพิวเตอร์สำหรับการพัฒนาซอฟต์แวร์ได้ด้วย ดูวิธีการตั้งค่าได้ที่เรียกใช้ในเครื่อง