Veri kaynakları

SDV Telemetry, birden fazla veri kaynağı türünü destekler. Bu sayfada, bu türlere ve Telemetri'nin veri kaynağı türü başına desteklediği özelliklere genel bir bakış sunulmaktadır.

Veri kaynağı uygulamaları için örnek kodlar system/software_defined_vehicle/samples/telemetry dizininde mevcuttur.

Metrik yapılandırmalarındaki veri kaynağı tanımı

Metrik yapılandırmaları, metriklerin toplanacağı bir veya daha fazla veri kaynağını tanımlar. Her veri kaynağı source_identifier ile tanımlanır. source_identifier biçimi, veri kaynağına bağlıdır:

Veri kaynağı Biçim Açıklama Örnekler
SDV hizmeti Protobuf mesaj adı Tam nitelikli protobuf mesajı adı. Hizmetin birden fazla örneği varsa hizmet birimi adını dikey çizgiyle (|) ayırarak ekleyin. "com.sdv.google.example.TellTale|com-sdv-google-example-tell-tale-status-hibeam"
Hizmet Birimi Adı ile Tam Nitelikli Örnek Adı (FQIN) Dikey çizgiyle (|) ayrılmış FQIN ve hizmet birimi adı. "vm-cdc:com.google.android.sdv.pubsub.SomeService/instance1|tire-pressure"
Yapılandırılabilir Yayıncı Kayıt Defteri tabanlı yayıncı Yayıncı adı Yayıncıyı Yapılandırılabilir Yayıncı Kayıt Defteri'ne kaydetmek için kullanılan tam serviceName. Herhangi bir dize geçerlidir.

Her veri kaynağı için ileti alımını parametreleştirmek üzere aşağıdaki seçenekleri kullanabilirsiniz. Aynı veri kaynağını, aynı metrik yapılandırmasında farklı seçeneklerle birden çok kez tanımlayabilirsiniz. Örneğin, uç işleme işleminizin bir bölümünde, uç işleme işleminizin diğer bölümlerinden farklı bir alt örnekleme aralığı kullanabilirsiniz.

Seçenek Tür Açıklama
connection_type SUBSCRIPTION veya ON_DEMAND SUBSCRIPTION olarak ayarlanırsa Telemetri hizmeti, veri kaynağına abone olur. ON_DEMAND olarak ayarlanırsa Telemetri hizmeti, iletileri veri kaynağından yalnızca talep üzerine getirir.
configuration google.protobuf.Any Ayarlanırsa Telemetri hizmeti, yapılandırma nesnesini veri kaynağıyla iletişim kurarken veri kaynağına iletir.
sub_sampling_interval google.protobuf.Duration Ayarlanırsa iletiler alt örneklenir. Böylece Telemetri hizmeti, en fazla sub_sampling_interval sürede bir ileti işler.
fetch_last_message bool Ayarlandıysa Telemetri hizmeti, veri kaynağına abone olurken son yayınlanan mesajı alır. Bu mesaj geçmişte yayınlanmış olsa bile.

Veri kaynağının türüne bağlı olarak (aşağıdaki bölümlere bakın) Telemetri hizmeti yalnızca bir parametre alt kümesini destekler. Aşağıdaki tabloda genel bir bakış sunulmaktadır.

Seçenek RPC SDV hizmeti Yayınlama/abone olma (pub/sub) SDV hizmeti Yapılandırılabilir yayıncı kayıt defteri tabanlı yayıncılar
connection_type: SUBSCRIPTION Desteklenir 1 Destekleniyor Destekleniyor
connection_type: ON_DEMAND Desteklenen 2 Destekleniyor Desteklenen 3
configuration Destekleniyor Geçerli değil Destekleniyor
sub_sampling_interval Desteklenmiyor Desteklenir 4 Desteklenmiyor
fetch_last_message Desteklenmiyor Desteklenir 5 Desteklenmiyor
1 CreateSubscription yöntemini uygularsanız desteklenir.
2 GetLatestMessage yöntemi uygulanırsa desteklenir.
3 PublisherInfo.supportsGet, true ise desteklenir.
4 connection_type: SUBSCRIPTION için desteklenir, connection_type: ON_DEMAND için geçerli değildir.
5 connection_type: SUBSCRIPTION için desteklenir, connection_type: ON_DEMAND için geçerli değildir.

SDV hizmetleri (SDV iletişim yığını üzerinden)

Telemetry hizmeti, diğer SDV hizmetlerinden veri toplayabilir. Hem RPC hem de pub/sub SDV hizmetleri desteklenir. Telemetry hizmeti, derleme sırasında abone olacağı hizmetlerin listesini bilmediğinden SDV hizmetlerinden alınan mesajların kodunu çözmek için Protobuf yansıtmasına güvenir.

SDV hizmetleri varsayılan olarak yansıtma meta verileri sağlamaz. Bir SDV hizmetinin telemetri veri kaynağı olarak kullanılabilmesi için hizmetin VSIDL kataloğunun çalışma zamanı yapılandırması oluşturma özelliğini etkinleştirmeniz gerekir. Daha fazla bilgi için VSIDL Provider Guide for Service Bundle Developers başlıklı makaleyi inceleyin.

Yalnızca test ve değerlendirme amacıyla, hizmet paketi tanımında register_reflection_metadata seçeneğini true olarak ayarlayabilirsiniz. Daha fazla bilgi için Hizmet paketi başlıklı makaleyi inceleyin.

RPC SDV hizmetleri

Telemetri, RPC SDV hizmetleri için sınırlı destek sunar. Daha fazla bilgi için RPC hizmetlerini tanımlama başlıklı makaleyi inceleyin. Bir RPC SDV hizmetinden veri toplamak için hizmetin aşağıdaki RPC yöntemlerinden birini veya her ikisini de kullanıma sunması gerekir:

  • CreateSubscription, kullanıcı tanımlı yanıtlar akışı döndürür:

    rpc CreateSubscription(<configuration>) returns (stream <response>)
    
  • GetLatestMessage kullanıcı tanımlı bir yanıt döndürür:

    rpc GetLatestMessage(<configuration>) returns (<response>)
    

Veri kaynağınızın davranışını parametrelendirmek için yapılandırma bağımsız değişkenini kullanabilirsiniz. Örneğin, farklı bir yayınlama sıklığı istemek veya abone olmak istediğiniz öğeyi (ör. lastik basıncını hangi lastikten okuyacağınız) seçmek için bu bağımsız değişkeni kullanabilirsiniz.

Bir RPC SDV hizmetini metrik yapılandırmasında veri kaynağı olarak tanımlarken, veri kaynağı tanımında bu RPC için bağımsız değişken olarak kullanılan bir configuration değeri belirtebilirsiniz. Telemetri hizmeti, yapılandırma nesnesini şeffaf bir şekilde işler ve tanımladığınız her şeyi geçirir.

Her iki yöntem için de yapılandırma bağımsız değişkeninin türü google.protobuf.Any veya kullanıcı tanımlı bir tür olabilir. Her iki yöntemi de sağlarsanız bağımsız değişken türleri aynı olmalıdır. Bu RPC yöntemleri için yapılandırma bağımsız değişkenine ihtiyacınız yoksa google.protobuf.Empty kullanın.

Metrik yapılandırmasının veri kaynağı tanımında belirtilen connection_type değerine bağlı olarak Telemetri hizmeti, CreateSubscription (connection_type: SUBSCRIPTION için) veya GetLatestMessage (connection_type: ON_DEMAND için) değerini çağırır.

Pub/Sub SDV hizmetleri

Telemetri, VSIDL'de tanımlanan ve SDV hizmetleri tarafından kullanıma sunulan yayın/abone olma kanallarının izlenmesini tam olarak destekler. Ek yapılandırma gerekmez. Daha fazla bilgi için Hizmet paketine yayıncı ekleme başlıklı makaleyi inceleyin.

Telemetry, pub/sub kanallarına abone olmanın yanı sıra bir kanalda yayınlanan en son mesajın isteğe bağlı olarak alınmasını da destekler.

Yapılandırılabilir Yayıncı Kayıt Defteri

SDV iletişim yığınını kullanarak SDV hizmetlerinden veri toplamanın yanı sıra Telemetry, yayıncıları Telemetry hizmetinin Yapılandırılabilir Yayıncı Kayıt Defteri'ne kaydeden uygulama ve hizmetlerden veri toplamayı da destekler. Bu özellik, SDV iletişim yığınının kullanılamadığı IVI'de en kullanışlıdır.

Yapılandırılabilir Yayıncı Kayıt Defteri, SDV hizmet paketleri yazmak zorunda kalmadan hata ayıklama ve prototip oluşturma için de yararlı olabilir. Daha fazla bilgi için Yapılandırılabilir Yayıncı Kayıt Defteri başlıklı makaleyi inceleyin.