Metrik Yapılandırma Oluşturucu (MCG), SDV telemetri yapılandırmaları oluşturmayı kolaylaştıran bir hizmettir. MCG, okunabilir JSON yapılandırmalarını araç içi telemetri kampanyaları için gereken ikili MetricsConfiguration protokol arabelleği (protobuf) dosya biçimine dönüştürür.
MCG, standart HTTP isteklerini kullanarak etkileşimde bulunduğunuz bir web hizmetidir. API tabanlı bu yaklaşım, manuel oluşturma ve hata ayıklama için curl gibi komut satırı araçlarını kullanmanıza veya MCG'yi derleme yapılandırmaları oluşturmaya yönelik grafik arayüz gibi daha gelişmiş araçlar için arka uç olarak entegre etmenize olanak tanır.
Özellikler
Araçtaki telemetri hizmeti için MetricsConfiguration ikili protobuf mesajı gerekir. Bu mesaj, hata ayıklama için textproto biçiminde gösterilebilir ancak bu biçimi doğrudan yazmak, alt düzey yapısı hakkında ayrıntılı bilgi gerektirir ve sıkıcı ve hataya açık olabilir. MCG, yapılandırma yazma işlemini kullanıcı dostu bir JSON biçimine kaydırarak bu süreci kolaylaştırır.
MCG aşağıdaki özellikleri içerir:
- JSON tabanlı yapılandırma: Veri kaynakları, işleme mantığı ve raporlama kuralları dahil olmak üzere metrik yapılandırmaları, okunabilir bir JSON biçiminde tanımlanabilir. MCG, bu biçimi gerekli ikili protobuf biçimine derler.
- Yerleşik doğrulama: Oluşturma işlemi, dağıtımdan önce hataları tespit etmek için yapılandırmaları sinyal tanımlarına ve şema kurallarına göre otomatik olarak doğrular.
- Otomatik mesaj türü oluşturma: Toplayıcılar ve raporlar, nihai ikili yapılandırmada protobuf mesaj tanımlayıcıları kullanılarak tanımlanması gereken sonuçlar üretir. MCG, bu sonuçların yapısını giriş sinyali türlerine ve toplama mantığına göre tahmin eder ve gerekli mesaj tanımlayıcıları otomatik olarak oluşturur. Bu sayede, ara veya rapora özel veri yapıları için şemaları manuel olarak tanımlamanız gerekmez.
- Daha kolay ifade yazma: İfadeleri tanımlamak için özel, kullanıcı tarafından okunabilir bir dil bilgisi, ifade ağaçlarının manuel olarak oluşturulmasını önler.
İş akışı
Metrik yapılandırmaları oluşturmak için MCG'yi kullanmak iki ana aşamadan oluşur: Kullanmak istediğiniz her Araç Sinyal Kataloğu sürümünün tek seferlik yüklenmesi ve ardından bağımsız metrik yapılandırmalarının yazılıp oluşturulması.
Sinyal tanımlarını yükleme: Bu adımın her Araç Sinyal Kataloğu sürümü için yalnızca bir kez gerçekleştirilmesi gerekir. Doğrulama ve tür çıkarımını etkinleştirmek için MCG'nin, yapılandırmalarınızda referans vermek istediğiniz araç sinyali tanımlarına erişimi olmalıdır. Bu tanımlar, VSIDL kataloğunun bir parçası olarak projenizde protobuf dosyaları şeklinde zaten mevcut olmalıdır (veya deneme yapmak için örnek tanımları kullanabilirsiniz). Bu sinyalleri MCG'nin kullanımına sunmak için Araç Sinyal Kataloğu'nda paketleyin ve API'yi kullanarak yükleyin:
- Protobuf dosyalarınızı FileDescriptorSet olarak paketlemek için FileDescriptorSet oluşturma başlıklı makaleyi inceleyin.
- Kataloğu base64 olarak kodlamak ve yüklemek için Katalog sürümü ekleme veya güncelleme başlıklı makaleyi inceleyin.
Yapılandırma yazma: Bir katalog sürümü MCG'ye yüklendikten sonra, bu sürümü referans alan istediğiniz sayıda metrik yapılandırması yazabilirsiniz. JSON yapılandırmasında, hangi veri kaynaklarının kullanılacağını, bu veriler üzerinde hesaplamaların veya toplamaların nasıl yapılacağını ve sonuçların ne zaman oluşturulacağını belirleyen tetikleyicileri tanımlarsınız.
Oluşturma: JSON yapılandırmanızı MCG API'ye gönderin. API, yapılandırmayı doğrular ve
MetricsConfigurationbiçiminde derler. Bu, araçta kullanım için ikili protobuf (application/x-protobuf) veya inceleme ya da hata ayıklama için textproto (text/x-protobuf) olarak istenebilir.- Oluşturmak için POST /api/v2/generate_metrics_config komutunu kullanın.
Tüm uç noktalar, istek ve yanıt biçimleri ve kullanım örnekleri hakkında ayrıntılı bilgi için MCG API referansına bakın.
Dağıtım
Bulutta yerel bir hizmet olan MCG, bulut ortamına (ör. Google Cloud Run) dağıtılacak şekilde tasarlanmıştır. Bu sayede, ekipleriniz genelinde yapılandırma oluşturma ve doğrulama için merkezi bir nokta sağlar. Dağıtım talimatları için Google Cloud'a dağıtma başlıklı makaleyi inceleyin.
Yerel geliştirme ve test için MCG, geliştirici makinesinde bağımsız bir hizmet olarak da çalıştırılabilir. Kurulum talimatları için Yerel olarak çalıştırma başlıklı makaleyi inceleyin.