Configurable Publisher Registry kitaplığı, özel telemetri yayıncıları oluşturmanıza ve bunları Configurable Publisher Registry aracılığıyla Telemetri hizmetine kaydetmenize olanak tanır. Kitaplık, temel Binder arayüzünü ve veri serileştirme ile seri durumdan çıkarma işlemlerini soyutlar.
API yüzeyine genel bakış
Kitaplık, temel yapılandırılabilir yayıncı kayıt sistemiyle etkileşim kurmak için Java ve Rust'ta dile özgü arayüzler sağlar. Kütüphane aşağıdaki alanlardan sorumludur:
- Yayıncı tanımı: Bir yayıncının davranışını tanımlamak için Java'da temel sınıflar veya Rust'ta özellikler sağlar.
- Meta veri tanımı: Yayınlanan mesajları tanımlayan protobuf
FileDescriptorSetve yayıncınızın adı da dahil olmak üzere yayıncınızı açıklar. Daha fazla bilgi için Self-describing Messages (Kendini Açıklayan Mesajlar) başlıklı makaleyi inceleyin. Java kullanıyorsanız Java protobuf tanımlayıcı oluşturma aracı, protobuf tanımlayıcı meta verilerini oluşturmanıza yardımcı olabilir. - Veri üretimi: Verilerin abonelik temelinde veya isteğe bağlı olarak üretilmesiyle ilgili mantığı yönetir.
- Yapılandırma işleme: Veri oluşturulurken bir metrik kampanyası tarafından yapılandırılan isteğe bağlı yapılandırma bağımsız değişkenlerini işler.
- Meta veri tanımı: Yayınlanan mesajları tanımlayan protobuf
- Veri kodlama ve kod çözme: İletileri ve yapılandırmaları kablolu biçime dönüştürme ve kablolu biçimden dönüştürme mekanizmaları sunar.
- Codec'ler: Veri serileştirme ve seri durumdan çıkarma için yerleşik ve özel codec'leri içerir.
- Yayıncı kaydı ve yaşam döngüsü: Yayıncı ile Telemetri hizmeti arasındaki bağlantıyı yönetir.
Ayrıntılı örnekler ve tam yaşam döngüsünü gösteren eksiksiz, derlenebilir uygulamalar için kaynak ağacındaki ilgili README.md dosyalarına bakın:
Java kitaplığı:
system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.mdJava örneği:
samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.mdRust kitaplığı:
system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.mdPas örneği:
samples/telemetry/publishers/rust/sample_getter_publisher/README.md