As tags representam uma das métricas que serão usadas para rastrear os contadores de uso de dados. Por padrão e implicitamente, uma tag é baseada no
UID. O UID é usado como base para a fiscalização e não pode ser
ignorado. Portanto, uma tag sempre vai representar pelo menos um UID (uid_tag). Uma tag pode ser explicitamente aumentada com uma "tag de contabilidade" associada a um UID. O espaço do usuário pode usar
TrafficStats.setThreadStatsTag()
para definir a parte acct_tag da
tag, que é usada com sockets: todos os dados pertencentes a esse
socket são contados em relação à tag. A fiscalização é baseada na
parte uid_tag da tag, e as estatísticas são coletadas separadamente para a parte acct_tag.
Sem a inclusão de tags explícitas, o módulo qtaguid assume o
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…
representa tags explícitas associadas a soquetes específicos.
default_tag (acct_tag=0)
é a tag de contabilidade padrão que contém o tráfego total do uid, incluindo todo o tráfego não marcado, e normalmente é usado para aplicar regras de policiamento/cota.
Essas tags podem ser usadas para criar o perfil do tráfego de rede de um aplicativo em categorias lógicas separadas (em um nível de soquete de rede). Essas tags podem ser removidas, reaplicadas ou modificadas durante a execução.
O módulo qtaguid foi implementado na ramificação kernel/common do android-3.0.