Explicación de las etiquetas de uso de datos

Las etiquetas representan una de las métricas con las que se realizará el seguimiento de los contadores de uso de datos. Por defecto, e implícitamente, una etiqueta solo se basa en el UID. El UID se utiliza como base para la vigilancia y no se puede ignorar. Entonces, una etiqueta siempre representará al menos un UID (uid_tag). Una etiqueta se puede aumentar explícitamente con una "etiqueta de contabilidad" que está asociada con un UID. El espacio de usuario puede usar TrafficStats.setThreadStatsTag() para establecer la parte de la etiqueta acct_tag que luego se usa con los sockets: todos los datos que pertenecen a ese socket se contarán contra la etiqueta. La vigilancia se basa entonces en la porción uid_tag ​​de la etiqueta, y las estadísticas se recopilan para la porción acct_tag por separado.

Sin etiquetado explícito, el módulo qtaguid asumirá la etiqueta predeterminada 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… representan etiquetas explícitas asociadas con sockets específicos.

default_tag (acct_tag=0) es la etiqueta de contabilidad predeterminada que contiene el tráfico total para ese uid, incluido todo el tráfico sin etiquetar, y generalmente se usa para hacer cumplir las reglas de vigilancia/cuota.

Estas etiquetas se pueden usar para perfilar el tráfico de red de una aplicación en categorías lógicas separadas (a nivel de socket de red). Dichas etiquetas se pueden eliminar, volver a aplicar o modificar durante el tiempo de ejecución.

El módulo qtaguid se ha implementado en kernel/rama común de android-3.0