Persist "tagged" network stats along with UIDs.
Now stores tags other than TAG_NONE (0x0), which are useful for app debugging. Combine UID and tag together into single long key, and expose tag data through AIDL when requested. Change NMS to track TAG_NONE as total UID traffic, matching the kernel definition. Added TAG_MAX_HISTORY to control how long tag-granularity statistics are stored; overall UID usage is still kept for UID_MAX_HISTORY. Fix bug to trim NetworkStatsHistory outside normal polling loops to catch non-active networks and UIDs. Test to verify UID and tag packing, and to verify that UID traffic on two networks are combined to match MOBILE_ALL template. Change-Id: If0e039416d9e7f63b1a39e04cddfb1133b5a78ee
This commit is contained in:
@@ -26,11 +26,11 @@ interface INetworkStatsService {
|
||||
/** Return historical stats for traffic that matches template. */
|
||||
NetworkStatsHistory getHistoryForNetwork(in NetworkTemplate template);
|
||||
/** Return historical stats for specific UID traffic that matches template. */
|
||||
NetworkStatsHistory getHistoryForUid(in NetworkTemplate template, int uid);
|
||||
NetworkStatsHistory getHistoryForUid(in NetworkTemplate template, int uid, int tag);
|
||||
|
||||
/** Return usage summary for traffic that matches template. */
|
||||
NetworkStats getSummaryForNetwork(in NetworkTemplate template, long start, long end);
|
||||
/** Return usage summary per UID for traffic that matches template. */
|
||||
NetworkStats getSummaryForAllUid(in NetworkTemplate template, long start, long end);
|
||||
NetworkStats getSummaryForAllUid(in NetworkTemplate template, long start, long end, boolean includeTags);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user