Les tags représentent l'une des métriques sur lesquelles les compteurs d'utilisation des données seront suivis. Par défaut et implicitement, une balise ne repose que sur l'UID. L'UID sert de base à la surveillance et ne peut pas être ignoré. Ainsi, une balise représente toujours au moins un UID (uid_tag). Une balise peut être explicitement complétée par une "balise de comptabilité" associée à un UID. L'espace utilisateur peut utiliser TrafficStats.setThreadStatsTag()
pour définir la partie acct_tag de la balise, qui est ensuite utilisée avec les sockets: toutes les données appartenant à ce socket seront comptabilisées par rapport à la balise. La surveillance est ensuite basée sur la partie uid_tag de la balise, et les statistiques sont collectées séparément pour la partie acct_tag.
Sans balisage explicite, le module qtaguid suppose que le 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…
représente des tags explicites associés à des sockets spécifiques.
default_tag (acct_tag=0)
est la balise de comptabilisation par défaut qui contient le trafic total pour cet uid, y compris tout trafic non tagué. Elle est généralement utilisée pour appliquer des règles de surveillance/de quota.
Ces balises peuvent être utilisées pour profiler le trafic réseau d'une application en catégories logiques distinctes (au niveau d'un socket réseau). Ces balises peuvent être supprimées, réappliquées ou modifiées pendant l'exécution.
Le module qtaguid a été implémenté sur la branche kernel/common d'Android-3.0.