Теги представляют собой один из показателей, по которым отслеживаются счетчики использования данных. По умолчанию тег основан только на UID. UID используется в качестве основы для контроля и не может быть проигнорирован. Таким образом, тег всегда будет представлять хотя бы один идентификатор пользователя (uid_tag). Тег можно дополнить тегом учета, который связан с UID. В пользовательском пространстве можно использовать TrafficStats.setThreadStatsTag(), чтобы задать часть acct_tag тега, который затем используется с сокетами: все данные, относящиеся к этому сокету, будут учитываться в теге. Затем проверка выполняется на основе части тега uid_tag, а статистика собирается отдельно для части acct_tag.
Если теги не заданы, модуль qtaguid будет использовать
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… – явные теги, связанные с определенными сокетами.
default_tag (acct_tag=0) – это тег учета по умолчанию, который содержит общий трафик для определенного идентификатора пользователя, включая весь трафик без тегов. Обычно он используется для применения правил контроля и квот.
Эти теги можно использовать для профилирования сетевого трафика приложения по отдельным логическим категориям (на уровне сетевого сокета). Такие теги можно удалять, добавлять и изменять во время выполнения.
Модуль qtaguid реализован в ветви kernel/common в android-3.0.