Explicação das tags de uso de dados

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.