Tags de uso de dados explicadas

As tags representam uma das métricas com as quais os contadores de uso de dados serão rastreados. Por padrão, e implicitamente, uma tag é baseada apenas no UID. O UID é usado como base para policiamento e não pode ser ignorado. Portanto, uma tag sempre representará pelo menos um UID (uid_tag). Uma tag pode ser aumentada explicitamente com uma "tag de contabilidade" que está associada a um UID. O espaço do usuário pode usar TrafficStats.setThreadStatsTag() para definir a parte acct_tag da tag que é então usada com soquetes: todos os dados pertencentes a esse soquete serão contados na tag. O policiamento é então baseado na parte uid_tag ​​da tag, e as estatísticas são coletadas para a parte acct_tag separadamente.

Sem marcação explícita, o módulo qtaguid assumirá a 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… representam 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 para esse uid, incluindo todo o tráfego não marcado, e normalmente é usada para impor regras de policiamento/cota.

Essas tags podem ser usadas para perfilar o tráfego de rede de um aplicativo em categorias lógicas separadas (no nível de soquete de rede). Essas tags podem ser removidas, reaplicadas ou modificadas durante o tempo de execução.

O módulo qtaguid foi implementado no kernel/ramo comum do android-3.0