ไลบรารีของไคลเอ็นต์การตรวจวัดระยะไกลของ Rust

ไคลเอ็นต์การวัดและส่งข้อมูลทางไกลคือแอปที่โต้ตอบกับบริการการวัดและส่งข้อมูลทางไกลเพื่อกำหนดค่าการเก็บรวบรวมข้อมูล จัดการการกำหนดค่าเมตริก และรับรายงานการวัดและส่งข้อมูลทางไกล ไคลเอ็นต์ใช้ไลบรารี libsdv_telemetry_rust_wrapper Rust เพื่อโต้ตอบกับบริการ

ภาพรวมของแพลตฟอร์ม API

ดูเอกสารประกอบเกี่ยวกับ API ได้ที่ข้อมูลอ้างอิง API ของไลบรารีของไคลเอ็นต์การวัดและส่งข้อมูลทางไกล Rust

ไลบรารีมีอินเทอร์เฟซ Rust สำหรับโต้ตอบกับบริการการวัดและส่งข้อมูลทางไกลเบื้องหลัง ไลบรารีมีหน้าที่รับผิดชอบในส่วนต่อไปนี้

  • การจัดการวงจรการใช้งานบริการ: จัดการการเชื่อมต่อกับบริการการวัดและส่งข้อมูลทางไกล

    • การเริ่มต้น: สร้างการเชื่อมต่อกับบริการโดยใช้การเรียกที่บล็อก หลังจากเชื่อมต่อแล้ว คุณสามารถลงทะเบียนการเรียกกลับเพื่อรับการแจ้งเตือนแบบไม่พร้อมกันเกี่ยวกับสถานะระบบและความพร้อมใช้งานของรายงานใหม่
    • การปิดระบบ: มีวิธีตัดการเชื่อมต่อจากบริการอย่างราบรื่นและล้างทรัพยากรที่เชื่อมโยงทั้งหมด
  • การจัดการวงจรการใช้งานการกำหนดค่าเมตริก: ควบคุม วงจรการใช้งานของ การกำหนดค่าเมตริก

    • การจัดการ: ไคลเอ็นต์สามารถเพิ่ม นำออก เปิดใช้งาน และปิดใช้งานการกำหนดค่าเมตริก
    • การตรวจสอบ: คุณสามารถค้นหารายการการกำหนดค่าที่ใช้งานอยู่และไม่ได้ใช้งาน
  • การจัดการและการดึงข้อมูลรายงาน: ช่วยให้เข้าถึงข้อมูลที่บริการการวัดและส่งข้อมูลทางไกลรวบรวมได้ง่ายขึ้น

    • การแจ้งเตือน: แจ้งให้ไคลเอ็นต์ทราบแบบไม่พร้อมกันโดยใช้การเรียกกลับเมื่อรายงานเมตริกใหม่พร้อมสำหรับการดึงข้อมูล
    • การเข้าถึงข้อมูล: มีวิธีดึงข้อมูลรายงานที่เฉพาะเจาะจงตาม UUID และดึงข้อมูลรายการรายงานทั้งหมดที่มี
  • การรายงานสถานะและข้อผิดพลาด: ให้ข้อมูลเชิงลึกเกี่ยวกับสถานะและสถานะของบริการการวัดและส่งข้อมูลทางไกล

    • ข้อมูลอัปเดตสถานะแบบไม่พร้อมกัน: ไคลเอ็นต์จะได้รับการอัปเดตสถานะแบบเรียลไทม์ ซึ่งรวมถึงข้อผิดพลาดและคำเตือน ผ่านการเรียกกลับเฉพาะ ซึ่งช่วยให้คุณใช้การจัดการข้อผิดพลาดที่มีประสิทธิภาพและตรวจสอบสถานะของบริการได้

ตัวอย่างการใช้

ดูแอปที่คอมไพล์ได้ซึ่งแสดงวงจรการใช้งานทั้งหมดได้ที่การใช้งานไคลเอ็นต์ตัวอย่าง samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs

ไคลเอ็นต์ตัวอย่างเป็นยูทิลิตีบรรทัดคำสั่งที่โต้ตอบกับ API ของไลบรารีทั้งหมด ตัวอย่างแสดงวิธีเชื่อมอินเทอร์เฟซที่อิงตามการเรียกกลับของไลบรารีกับรันไทม์ Rust แบบไม่พร้อมกัน (Tokio) โดยใช้แชแนล

ไคลเอ็นต์จะดำเนินการตามลำดับต่อไปนี้

  1. สร้างการเชื่อมต่อกับบริการการวัดและส่งข้อมูลทางไกล และลงทะเบียนการเรียกกลับสำหรับการอัปเดตสถานะและการแจ้งเตือนรายงานเมตริก
  2. อ่านไฟล์การกำหนดค่าเมตริกที่ระบุเป็นอาร์กิวเมนต์บรรทัดคำสั่ง แล้วเพิ่มและเปิดใช้งานการกำหนดค่าในบริการ
  3. ใช้ฟังก์ชันพื้นหลังเพื่อบันทึกข้อความสถานะแบบไม่พร้อมกัน (ข้อผิดพลาดหรือคำเตือน) ที่ได้รับจากบริการ
  4. จัดการลูปการดึงข้อมูลโดยดำเนินการต่อไปนี้
    • รอการแจ้งเตือนว่ารายงานเมตริกพร้อมแล้ว
    • ดึงข้อมูลรายงานเมตริกทั้งหมด
    • เลือกที่จะเขียนรายงานลงดิสก์เป็นไฟล์บัฟเฟอร์โปรโตคอลไบนารี
  5. นำการกำหนดค่าเมตริกออกจากบริการเมื่อสร้างรายงานเมตริกแรก โปรดทราบว่านี่เป็นการใช้งานเดโม และไคลเอ็นต์ของคุณเองจะรับรายงานได้ไม่จำกัดจำนวน
  6. ปิดการเชื่อมต่อกับบริการอย่างราบรื่น