全部產品
Search
文件中心

Simple Log Service:C SDK

更新時間:Jun 30, 2024

本文介紹使用C Producer SDK的基本操作。

Log ServiceC Producer是用純C編寫的日誌採集用戶端,提供更加精簡的環境依賴以及更低的資源佔用,適用於各類嵌入式/智慧型裝置的日誌採集。

功能特性

  • 非同步

    • 非同步寫入,用戶端線程無阻塞。

  • 彙總&壓縮上傳

    • 支援按逾時時間、日誌數、日誌size彙總資料發送。

    • 支援lz4壓縮。

  • 支援上下文查詢

    • 同一個用戶端產生的日誌在同一上下文中,支援查看某條日誌前後相關日誌。

  • 並發發送

    • 支援可配置的線程池發送。

  • 緩衝

    • 可設定緩衝上限,超過緩衝上限的日誌會寫入失敗。

  • 自訂標識

    • 日誌上傳時預設會帶上ip。

    • 支援設定自訂tag、topic。

功能優勢

  • 用戶端高並發寫入:可配置的發送線程池,支援每秒數十萬條日誌寫入,詳情參見效能測試

  • 低資源消耗:每秒20W日誌寫入只消耗30% CPU;同時在低效能硬體(例如樹莓派)上,每秒產生100條日誌對資源基本無影響。詳情參見效能測試

  • 用戶端日誌不落盤:資料產生後直接通過網路發往服務端。

  • 用戶端計算與 I/O 邏輯分離:日誌非同步輸出,不阻塞背景工作執行緒。

  • 可靠退出:程式退出時,會調用介面將日誌持久化,待下次應用啟動時將資料發送,保證資料可靠性。詳情參見程式可靠退出方案

分支選擇

C Producer根據不同的裝置類型和使用情境做了非常多的定製工作,因此分為幾個分支來支援不同的情境,請根據實際需求選擇。

分支

狀態

功能優勢

建議使用情境

master

可用

原lite分支,相比v1(1.0f)版本依賴、資源佔用、效能等有大幅度提升,是目前SLS效能最強的Producer,推薦使用。

Linux伺服器、嵌入式Linux

live

可用

主要功能和master版本一致,增加最多平台的編譯支援,包括Windows、Mac、Android、IOS等

非master支援的環境

bricks

可用

極致精簡版本,binary和記憶體佔用極低,但是功能非常弱,建議在資源非常受限的情境中使用

資源佔用在10KB以內的情境,例如RTOS

persistent

可用

相比master增加本機快取功能,目前用於Android、IOS移動端版本的Native實現,本機快取功能開啟後只能單線程發送,不建議服務端使用

建議直接使用Android、IOS官方SDK

下載與安裝

源碼及詳細安裝方法請參考Github文檔: