Metrics Configuration Generator (MCG) adalah layanan yang menyederhanakan penulisan konfigurasi telemetri SDV. MCG mengonversi konfigurasi JSON yang dapat dibaca manusia menjadi format file buffer protokol (protobuf) biner MetricsConfiguration yang diperlukan oleh kampanye telemetri dalam kendaraan.
MCG adalah layanan web yang berinteraksi dengan Anda menggunakan permintaan HTTP standar. Pendekatan berbasis API ini memungkinkan Anda menggunakan alat command line seperti curl untuk pembuatan dan proses debug manual, atau mengintegrasikan MCG sebagai backend untuk alat yang lebih canggih, seperti antarmuka grafis untuk membuat konfigurasi.
Fitur
Layanan Telemetry di kendaraan memerlukan pesan protobuf biner MetricsConfiguration. Meskipun pesan ini dapat ditampilkan sebagai format textproto untuk
proses debug, penulisan format ini secara langsung memerlukan pengetahuan mendetail tentang struktur tingkat rendahnya dan dapat merepotkan serta rentan terhadap error. MCG menyederhanakan proses ini dengan mengalihkan penulisan konfigurasi ke format JSON yang mudah digunakan.
MCG mencakup fitur berikut:
- Konfigurasi berbasis JSON: Konfigurasi metrik, termasuk sumber data, logika pemrosesan, dan aturan pelaporan, dapat ditentukan dalam format JSON yang mudah dibaca, yang dikompilasi MCG ke dalam format protobuf biner yang diperlukan.
- Validasi bawaan: Proses pembuatan otomatis memvalidasi konfigurasi terhadap definisi sinyal dan aturan skema untuk mendeteksi error sebelum deployment.
- Pembuatan jenis pesan otomatis: Agregator dan laporan menghasilkan hasil yang harus ditentukan menggunakan deskriptor pesan protobuf dalam konfigurasi biner akhir. MCG menyimpulkan struktur hasil ini berdasarkan jenis sinyal input dan logika agregasi, serta otomatis membuat deskriptor pesan yang diperlukan. Dengan demikian, Anda tidak perlu menentukan skema secara manual untuk struktur data perantara atau khusus laporan.
- Penulisan ekspresi yang lebih mudah: Tata bahasa kustom yang dapat dibaca manusia untuk menentukan ekspresi menghindari pembuatan pohon ekspresi secara manual.
Alur kerja
Penggunaan MCG untuk membuat konfigurasi metrik melibatkan dua fase utama: upload satu kali setiap versi Vehicle Signal Catalog yang ingin Anda gunakan, diikuti dengan penulisan dan pembuatan konfigurasi metrik individual.
Mengupload definisi sinyal: Langkah ini hanya perlu dilakukan satu kali per versi Katalog Sinyal Kendaraan. Untuk mengaktifkan validasi dan inferensi jenis, MCG harus memiliki akses ke definisi sinyal kendaraan yang ingin Anda referensikan dalam konfigurasi Anda. Definisi ini seharusnya sudah ada sebagai file protobuf di project Anda sebagai bagian dari katalog VSIDL (atau Anda dapat menggunakan definisi contoh untuk bereksperimen). Agar tersedia untuk MCG, kemas menjadi Katalog Sinyal Kendaraan dan upload menggunakan API:
- Untuk mengemas file protobuf ke dalam FileDescriptorSet, lihat Membuat FileDescriptorSet.
- Untuk mengenkode dan mengupload katalog ke format base64, lihat Menambahkan atau memperbarui versi katalog.
Konfigurasi penulisan: Setelah versi katalog diupload ke MCG, Anda dapat menulis sejumlah konfigurasi metrik yang merujuk padanya. Dalam konfigurasi JSON, Anda menentukan sumber data yang akan digunakan, cara melakukan penghitungan atau agregasi pada data tersebut, dan pemicu yang menentukan kapan hasil dibuat.
Buat: Kirimkan konfigurasi JSON Anda ke MCG API. API memvalidasi konfigurasi dan mengompilasinya ke dalam format
MetricsConfiguration. Hal ini dapat diminta sebagai protobuf biner (application/x-protobuf) untuk digunakan di kendaraan, atau sebagai textproto (text/x-protobuf) untuk ditinjau atau di-debug.- Untuk membuat, gunakan POST /api/v1/generate_metrics_config.
Untuk mengetahui detail lengkap tentang semua endpoint, format permintaan dan respons, serta contoh penggunaan, lihat referensi API MCG.
Deployment
Sebagai layanan cloud-native, MCG dirancang untuk di-deploy ke lingkungan cloud (seperti Google Cloud Run), yang menyediakan titik pusat untuk pembuatan dan validasi konfigurasi di seluruh tim Anda. Untuk petunjuk deployment, lihat Men-deploy ke Google Cloud.
Untuk pengembangan dan pengujian lokal, MCG juga dapat dijalankan sebagai layanan mandiri di mesin developer. Untuk petunjuk penyiapan, lihat Menjalankan secara lokal.