Объяснение тегов использования данных

Теги представляют собой одну из метрик, по которым будут отслеживаться счетчики использования данных. По умолчанию и неявно тег основан только на UID. 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) — это учетный тег по умолчанию, который содержит общий трафик для этого uid, включая весь нетегированный трафик, и обычно используется для обеспечения соблюдения правил контроля/квоты.

Эти теги можно использовать для разделения сетевого трафика приложения на отдельные логические категории (на уровне сетевых сокетов). Такие теги могут быть удалены, повторно применены или изменены во время выполнения.

Модуль qtaguid реализован на ветке ядра/общих версий Android-3.0.