Rust 遙測用戶端程式庫

遙測用戶端是與遙測服務互動的應用程式,可設定資料收集作業、管理指標設定,以及接收遙測報告。用戶端會使用 libsdv_telemetry_rust_wrapper Rust 程式庫與服務互動。

API 介面總覽

如需 API 說明文件,請參閱 Rust 遙測用戶端程式庫 API 參考資料

這個程式庫提供 Rust 介面,可與基礎遙測服務互動。這個程式庫負責下列領域:

  • 服務生命週期管理:管理與遙測服務的連線。

    • 初始化:使用封鎖呼叫建立與服務的連線。連線後,您可以註冊回呼,接收系統狀態和新報表可用性的非同步通知。
    • 關閉:提供從服務正常中斷連線的方式,並清理所有相關聯的資源。
  • 指標設定生命週期管理:控管指標設定的生命週期。

    • 管理:客戶可以新增、移除、啟用及停用指標設定。
    • 檢查:您可以查詢有效和無效的設定清單。
  • 報告處理和擷取:方便存取遙測服務收集的資料。

    • 通知:每當有新的指標報表可供擷取時,就會使用回呼以非同步方式通知用戶端。
    • 資料存取權:提供依 UUID 擷取特定報表的方法,以及擷取所有可用報表清單的方法。
  • 狀態和錯誤報告:深入瞭解遙測服務的健康狀態和狀態。

    • 非同步狀態更新:用戶端會透過專屬的回呼,即時接收狀態更新,包括錯誤和警告。這有助於您實作健全的錯誤處理機制,並監控服務狀態。

使用範例

如需展示完整生命週期的完整可編譯應用程式,請參閱範例用戶端實作:samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs

範例用戶端是指令列公用程式,可與完整的程式庫 API 互動。這個範例示範如何使用管道,將程式庫的回呼式介面與非同步 Rust 執行階段 (Tokio) 橋接。

用戶端會執行下列作業順序:

  1. 建立與 Telemetry 服務的連線,並註冊回呼,以接收狀態更新和指標報表通知。
  2. 讀取以指令列引數形式提供的指標設定檔,然後在服務中新增及啟用設定。
  3. 使用背景工作記錄從服務收到的非同步狀態訊息 (錯誤或警告)。
  4. 執行下列動作來管理資料擷取迴圈:
    • 等待指標報表準備就緒的通知。
    • 擷取完整的指標報表資料。
    • 視需要將報表寫入磁碟,做為二進位通訊協定緩衝區檔案。
  5. 服務產生第一份指標報表後,就會移除指標設定。請注意,這是示範實作,您自己的用戶端可以接收任意數量的報表。
  6. 按適當流程關閉與服務的連線。