Tags sind einer der Messwerte, anhand derer die Zähler für die Datennutzung erfasst werden. Standardmäßig und implizit basiert ein Tag nur auf der UID. Die UID dient als Grundlage für die Richtlinienüberwachung und darf nicht ignoriert werden. Ein Tag stellt also immer mindestens eine UID (uid_tag) dar. Ein Tag kann explizit um ein „Abrechnungs-Tag“ ergänzt werden, das mit einer UID verknüpft ist. Im User-Space kann TrafficStats.setThreadStatsTag()
verwendet werden, um den acct_tag-Teil des Tags festzulegen, der dann mit Sockets verwendet wird: Alle zu diesem Socket gehörenden Daten werden dem Tag zugeordnet. Die Prüfung erfolgt dann anhand des „uid_tag“-Teils des Tags. Die Statistiken für den „acct_tag“-Teil werden separat erfasst.
Ohne explizites Tagging nimmt das qtaguid-Modul an, dass die 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…
enthalten explizite Tags, die mit bestimmten Sockets verknüpft sind.
default_tag (acct_tag=0)
ist das Standard-Analyse-Tag, das den gesamten Traffic für diese User-ID enthält, einschließlich des nicht getaggten Traffics. Es wird in der Regel verwendet, um Richtlinien zur Verkehrsüberwachung und Kontingente durchzusetzen.
Mit diesen Tags kann der Netzwerkverkehr einer Anwendung in separate logische Kategorien auf Netzwerksocketebene unterteilt werden. Solche Tags können während der Laufzeit entfernt, wieder angewendet oder geändert werden.
Das qtaguid-Modul wurde im kernel/common-Branch von android-3.0 implementiert.