タグは、データ使用量カウンタがトラックされる指標のいずれかを表します。デフォルトでは、タグは暗黙的に 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 ブランチで実装されました。