Rust telemetri istemci kitaplığı

Telemetri istemcisi, veri toplamayı yapılandırmak, metrik yapılandırmalarını yönetmek ve telemetri raporları almak için Telemetri hizmetiyle etkileşimde bulunan bir uygulamadır. İstemciler, hizmetle etkileşim kurmak için libsdv_telemetry_rust_wrapper Rust kitaplığını kullanır.

API yüzeyine genel bakış

API belgeleri için Rust Telemetry İstemci Kitaplığı API Referansı'na bakın.

Kitaplık, temel Telemetri hizmetiyle etkileşim için bir Rust arayüzü sağlar. Kitaplık aşağıdaki alanlardan sorumludur:

  • Hizmet yaşam döngüsü yönetimi: Telemetri hizmetiyle bağlantıyı yönetir.

    • Başlatma: Engelleme çağrısı kullanarak hizmetle bağlantı kurar. Bağlandıktan sonra, sistem durumu ve yeni raporların kullanılabilirliği hakkında asenkron bildirimler almak için geri aramaları kaydedebilirsiniz.
    • Kapatma: Hizmetle bağlantıyı düzgün bir şekilde kesmenin ve ilişkili tüm kaynakları temizlemenin bir yolunu sağlar.
  • Metrik yapılandırması yaşam döngüsü yönetimi: Metrik yapılandırmalarının yaşam döngüsü üzerinde kontrol sağlar.

    • Yönetim: Müşteriler, metrik yapılandırmalarını ekleyebilir, kaldırabilir, etkinleştirebilir ve devre dışı bırakabilir.
    • İnceleme: Etkin ve etkin olmayan yapılandırmaların listesini sorgulayabilirsiniz.
  • Rapor işleme ve alma: Telemetri hizmeti tarafından toplanan verilere erişimi kolaylaştırır.

    • Bildirimler: Yeni bir metrik raporu alınmaya hazır olduğunda geri çağırma işlevini kullanarak istemcileri eşzamansız olarak bilgilendirir.
    • Veri erişimi: Belirli raporları UUID'lerine göre getirme ve mevcut tüm raporların listesini alma yöntemleri sağlar.
  • Durum ve hata raporlama: Telemetri hizmetinin durumu ve durumu hakkında bilgi sağlar.

    • Asenkron durum güncellemeleri: İstemciler, hatalar ve uyarılar dahil olmak üzere gerçek zamanlı durum güncellemelerini özel bir geri çağırma yoluyla alır. Bu sayede, güçlü bir hata işleme uygulayabilir ve hizmetin durumunu izleyebilirsiniz.

Örnek kullanım

Yaşam döngüsünün tamamını gösteren, derlenebilir bir uygulama için örnek istemci uygulamasına bakın: samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs.

Örnek istemci, tam kitaplık API'siyle etkileşimde bulunan bir komut satırı yardımcı programıdır. Örnek, kanalları kullanarak kitaplığın geri çağırmaya dayalı arayüzünü eşzamansız bir Rust çalışma zamanıyla (Tokio) nasıl bağlayacağınızı gösterir.

İstemci şu işlem sırasını gerçekleştirir:

  1. Telemetri hizmetiyle bağlantı kurar ve durum güncellemeleri ile metrik rapor bildirimleri için geri çağırma işlevlerini kaydeder.
  2. Komut satırı bağımsız değişkenleri olarak sağlanan metrik yapılandırma dosyalarını okur, ardından hizmetteki yapılandırmaları ekleyip etkinleştirir.
  3. Hizmetten alınan eşzamansız durum mesajlarını (hatalar veya uyarılar) kaydetmek için arka plan görevi kullanır.
  4. Aşağıdaki işlemleri yaparak veri alma döngüsünü yönetir:
    • Metrik raporunun hazır olduğuna dair bildirimi bekler.
    • Tam metrik raporu verilerini getirir.
    • İsteğe bağlı olarak raporu diske ikili protokol arabelleği dosyası olarak yazar.
  5. İlk metrik raporunu oluşturduktan sonra hizmetten metrik yapılandırmasını kaldırır. Bunun bir demo uygulaması olduğunu ve kendi istemcilerinizin herhangi bir sayıda rapor alabileceğini unutmayın.
  6. Hizmetle bağlantıyı düzgün bir şekilde kapatır.