データ使用量のタグについて

タグは、データ使用量カウンタがトラックされる指標のいずれかを表します。デフォルトでは、タグは暗黙的に UID に基づきます。UID はポリシングのベースとして使用され、無視できません。したがって、タグは常に少なくとも UID(uid_tag)を表します。タグには、UID に関連付けられた「アカウンティング タグ」を明示的に追加できます。ユーザー空間では、TrafficStats.setThreadStatsTag() を使用してタグの acct_tag 部分を設定し、これをソケットで使用できます。そのソケットに属するデータはすべて、タグに対してカウントされます。すると、ポリシングはタグの uid_tag 部分に基づいて行われ、acct_tag 部分の統計情報は個別に収集されます。

明示的なタグ付けがない場合、qtaguid モジュールは default_tag:  {acct_tag=0, uid_tag=10003} を想定します。

    a:  {acct_tag=1, uid_tag=10003}
    b:  {acct_tag=2, uid_tag=10003}
    c:  {acct_tag=3, uid_tag=10003}

a, b, c… は、特定のソケットに関連付けられた明示的なタグを表します。

default_tag (acct_tag=0) はデフォルトのアカウンティング タグであり、タグの付いていないすべてのトラフィックを含め、uid の総トラフィックが含まれます。通常はポリシング / 割り当てルールの適用に使用されます。

これらのタグを使用して、アプリのネットワーク トラフィックを個別の論理カテゴリ(ネットワーク ソケットレベル)にプロファイルできます。このようなタグは、実行時に削除、再適用、または変更できます。

qtaguid モジュールは、android-3.0 の kernel/common ブランチで実装されました。