[Hilog] 宏蒙システムログのソースコード解析

[Hilog] 宏蒙システムログのソースコード解析

  • Hilog は C/S 構造を採用しており、Hilogd がサーバーとしてロギング機能を提供します。クライアントは API 呼び出しを通じて HiLogd を処理します (最終的にはソケットを通じて通信します)。簡単なブロック図は以下の通りです。
    ここに画像の説明を挿入します
  • ここからが主な分析です。 Hilog の読み取り、書き込み、圧縮、ディスク作成、およびこれらのプロセスにおける Hilog と Android ログの違い。

HiLogログ書き込み処理

HiLog 書き込みプロセスと Android Log の主な違いは次のとおりです。

  1. バッファがいっぱいになった場合のクリーンアップのプロセス、higlog には Android の白黒リストがありません、およびログ内で最も多くの入力が含まれる uid をクリーンアップするプロセス。 Hilog は、同じドメイン内の古いログの 5% をクリーンアップします。
  2. ドメイン フロー制御のサポート: 単一ドメインの固定時間間隔内では、固定トラフィックのみの書き込みが許可されます。トラフィックを超過した後、メッセージをドロップします。
    ここに画像の説明を挿入します

HiLogログ読み込み処理

  • HiLogを読む場合は基本的に違いはありません。
    ここに画像の説明を挿入します

HiLog ログの圧縮とディスクへのダウンロード

  • HiLog ログの配置と Android の違い:
  1. 圧縮とダウンロードをサポートします。まずバッファを圧縮し、次に圧縮されたバッファをファイルにダウンロードします。
  2. HiLogD 直接ディスク配置: Android ログはクライアント側にログを読み取る必要があり、クライアント側がディスク配置を実行します。 HiLog はサーバー上で直接配置を実行します。
    ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/zxc024000/article/details/132226198