History log of /frameworks/base/services/java/com/android/server/ThrottleService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e8914c36276710de50b347c1e6aecfa45d6a56cd 02-May-2012 Jeff Sharkey <jsharkey@android.com> Begin collecting xtables iface counters.

Add method to parse new iface_stat_fmt proc stats, or return null
when kernel support is unavailable. Add test and remove older, unused
parsing code. Create new "xt" recorder to persist the new xtables
counters when available.

Add SSID support to NetworkIdentity to fix policy tests.

Bug: 6422414
Change-Id: I77f70e9acb79a559ab626f3af5c4f3599801ed43
/frameworks/base/services/java/com/android/server/ThrottleService.java
558a23200697d306b75750cf4612cf0717e73537 25-Aug-2011 Jeff Sharkey <jsharkey@android.com> Data usage buckets active time, parsing ISE.

When recording data usage, measure the actual active time, since
buckets can be quite long. Offer incrementOperationCount() version
that reads thread stats tag for caller. Rethrow any NPE as ISE
during stats parsing, which callers already handle.

Bug: 5171812, 5184508, 5180659
Change-Id: I6da80ccc0162be68bee279529e3a23b6f98ebd87
/frameworks/base/services/java/com/android/server/ThrottleService.java
b5d55e302d2253e4bfb233ea705caf258cdc4cb9 11-Aug-2011 Jeff Sharkey <jsharkey@android.com> Foreground/background network stats using sets.

Teach NetworkStats about "counter sets" coming from kernel, and use
them to track usage in foreground/background. Add AID_NET_BW_ACCT to
system_server so it can control counter sets.

Move to composite key of NetworkIdentitySet, UID, set, and tag when
recording historical usage. Persisting still clusters by identity,
since that is heaviest object.

Request async stats poll during systemReady() to bootstrap later
delta calculations. Reset kernel counters when UID removed. Update
various tests.

Bug: 5105592, 5146067
Change-Id: Idabec9e3ffcaf212879821515602ecde0a03de8c
/frameworks/base/services/java/com/android/server/ThrottleService.java
12b933d0d9252decaae9fee2456bb1e1cd94c085 15-Jul-2011 JP Abgrall <jpa@google.com> NetworkManagementService: receive bandwidth controller events

This is a 1st pass at receiving events that indicate
some quota has been reached e.g. warning quota, data collection quota,
cutoff quota,...

It needs:
- new kernel with quota2 logging support
- new net:bandwidthcontroller that supports
. quota2,
. setting alerts.
- new NetlinkEvent/NetlinkManager/NetlinkHandler to process
NETLINK NFLOG messages.

Change-Id: Ibfbb13512c5350cdee0e544ec14caa6f59812409
/frameworks/base/services/java/com/android/server/ThrottleService.java
d37948f6ed1667d077e0e3a38808f42f981ddcc2 12-Jul-2011 Jeff Sharkey <jsharkey@android.com> Hide NetworkStatsHistory internals.

Instead of exposing internal storage details, offer getValues()
accessor which populates values into a recycled structure.

Change-Id: I5228d7099a8f61b2018a435a813435a67dae49b4
/frameworks/base/services/java/com/android/server/ThrottleService.java
104344e507610be42fb70c7deda3c422c543bfcb 10-Jul-2011 Jeff Sharkey <jsharkey@android.com> Cached NTP time for system services.

Uses NTP server and timeout from secure settings, or fallback to
defaults in resources. Update various system services to use cached
NTP time when fresh enough, or force updates as needed.

Bug: 4517273
Change-Id: Ie1c4c4883836013d02ca0bbd850cf8949f93b34b
/frameworks/base/services/java/com/android/server/ThrottleService.java
f59c7d0f2ac8d489b6d8118543a57ea4a603eacf 24-Jun-2011 Mike J. Chen <mjchen@google.com> Hookup interface status to other clients

After unreverting the linkstate change patch, hook up notification handlers
that didn't exist when the first patch was created, like
EthernetDataTracker.java and Vpn.java.

For the observers that handle interfaceStatusChanged(), I made
interfaceLinkStatusChanged() call it so they both do the same thing.

Change-Id: I0077e5e5f48f3932ba98f5bf363243892f2de6cc
Signed-off-by: Mike J. Chen <mjchen@google.com>
/frameworks/base/services/java/com/android/server/ThrottleService.java
6143f5f7392fb0d3e5702a46a2415bd0ecb6efb4 24-Jun-2011 Mike J. Chen <mjchen@google.com> Revert "Revert "Propagate new link-status-change message to any NetworkManagementService""

This reverts commit 1a7e67190228a8ff3b92e7e5496a8db8ff306cca.

Bring back the changes from Stan Chesnutt regarding link-status-change
notifications. The comment from the original patch was:

Propagate new link-status-change message to any NetworkManagementService
observers. Also fix the syntax of the "interface-status-change" message. Add
a null handler in the ThrottleService and Tethering classes (plus fix names).

Change-Id: I42cbed692024de32275cad234f42ff23ab7e9d8d
Signed-off-by: Mike J. Chen <mjchen@google.com>
/frameworks/base/services/java/com/android/server/ThrottleService.java
1b5a2a96f793211bfbd39aa29cc41031dfa23950 19-Jun-2011 Jeff Sharkey <jsharkey@android.com> Read "qtaguid" network stats, refactor templates.

Teach NMS to read qtaguid stats from kernel, but fall back to older
stats when kernel doesn't support. Add "tags" to NetworkStats entries
to support qtaguid. To work around double-reporting bug, subtract
tagged stats from TAG_NONE entry.

Flesh out stronger NetworkTemplate. All NetworkStatsService requests
now require a template, and moved matching logic into template.

Record UID stats keyed on complete NetworkIdentitySet definition,
similar to how interface stats are stored. Since previous UID stats
didn't have iface breakdown, discard during file format upgrade.

Change-Id: I0447b5e7d205d73d28e71c889c568e536e91b8e4
/frameworks/base/services/java/com/android/server/ThrottleService.java
9a13f36cddaad01350bdb5f000167811a1d753c9 27-Apr-2011 Jeff Sharkey <jsharkey@android.com> Return NetworkStats bundle from NM service.

Introduce NetworkStats which is a collection of network statistics,
which should match the structure communicated by kernel module through
netd. Will introduce tags and fg/bg stats later. Kept entirely in a
flat data structure to optimize parcel speed.

Initial pass at returning NetworkStats from NetworkManagementService,
both summary and details. Will eventually pull data from kernel module
over netd connection.

Change-Id: I92d9f61678ec8c22e2ce26775fb035a0cf32413f
/frameworks/base/services/java/com/android/server/ThrottleService.java
b7342acebcb7e5dc7da0cda77fbddf50e7dfdd7c 26-Apr-2011 Jeff Sharkey <jsharkey@android.com> Tests for ThrottleService, NTP into TrustedTime.

Wrote initial suite of tests for ThrottleService, checking a variety
of edge cases. Checks going over limits, updating policies, and reset
after cycle elapses.

Moved NTP code in ThrottleService into new TrustedTime interface,
which makes it easier to understand, and allows tests to provide custom
clocks.

Change-Id: I0d62b8b3a169516a2ab2d33025f6fe30dc792be8
/frameworks/base/services/java/com/android/server/ThrottleService.java
1a7e67190228a8ff3b92e7e5496a8db8ff306cca 09-Jan-2011 Wink Saville <wink@google.com> Revert "Propagate new link-status-change message to any NetworkManagementService"

This reverts commit 780dfa42aa8664afa53c30ae669fc0e1f10f6537.
/frameworks/base/services/java/com/android/server/ThrottleService.java
780dfa42aa8664afa53c30ae669fc0e1f10f6537 03-Jan-2011 Stan Chesnutt <chesnutt@google.com> Propagate new link-status-change message to any NetworkManagementService
observers. Also fix the syntax of the "interface-status-change" message. Add
a null handler in the ThrottleService and Tethering classes (plus fix names).

Change-Id: I58cabc7b0ce5662243bc6513b2de4818065e6c52
/frameworks/base/services/java/com/android/server/ThrottleService.java
c76c15e255b01412e5cda33b606d7672713b6665 16-Jun-2010 Robert Greenwalt <robdroid@android.com> Reorder ThrottleService startup to avoid race.

Don't start people reading settings until after the settings (ntp server settings)
are loaded.

bug:2608189
Change-Id: I7dfaa1e9418b98a141d17dc35d22ff42fcfa052f
/frameworks/base/services/java/com/android/server/ThrottleService.java
687f2a07bf76863fba4a7dc1c92ae69cca049039 08-Jun-2010 Robert Greenwalt <robdroid@android.com> resolved conflicts for merge of ee09dc67 to master

Change-Id: I8b0b595580d9c6d44b84e636012705dc913fa6ac
5a671d03e3abe522a761a43b0460f9f3816b14ed 08-Jun-2010 Robert Greenwalt <robdroid@android.com> Cut logging, boost efficiency of ThrottleService

Changed the Alarms to be non-waking.

bug:2748959
bug:2747862
Change-Id: I9e4294162a4fc2f90aed36393b858edcf82aa307
/frameworks/base/services/java/com/android/server/ThrottleService.java
d1c3ea6a2116156629a1a3eaee64d0181e4f52c8 26-May-2010 Robert Greenwalt <robdroid@android.com> resolved conflicts for merge of 3cd6a3e3 to master

Change-Id: If3e45cc3494b2c52a1f1dcc19deff763a50498d7
d1055a250c00b0c2516ec406a8cf9a5ab1c0b7ae 26-May-2010 Robert Greenwalt <robdroid@android.com> Make the NTP Cache max-age gservices-settable

Trying to make Throttle polling more energy efficient.

bug:2708119
Change-Id: I2b75639e202dcbcee11047c43407a22de04ce350
/frameworks/base/services/java/com/android/server/ThrottleService.java
9e3983fbde2f86c116ffbc40491ff7aedd7d2fc7 11-May-2010 Robert Greenwalt <robdroid@android.com> Fix throttle datafile parsing.

"Optimization" yesterday was buggy.
bug:2674511

Change-Id: I3b1dde35a75b2017117c20905fcd82de405d41b5
/frameworks/base/services/java/com/android/server/ThrottleService.java
24488bd0946f2342fcc725ce55c1347c0698b1e9 11-May-2010 Robert Greenwalt <robdroid@android.com> Fix build. Instantiate object before use.

bug:2673562
Change-Id: I1e39f7847c25c5c1923a7b7e864b402c94834528
/frameworks/base/services/java/com/android/server/ThrottleService.java
39e163f45afa1c86be91717c2ed216b66255a65f 08-May-2010 Robert Greenwalt <robdroid@android.com> Reduce lock contention

Reduce the amount of work done inside of synchronized blocks and
force the use of cached ntp data when publicly called.
bug:2662331

Change-Id: Ibafd29ea9e355fa8f875d06ce37870b0c01c57f4
/frameworks/base/services/java/com/android/server/ThrottleService.java
fee4683f47b43626af98ed9aade27917d4da2d8a 06-May-2010 Robert Greenwalt <robdroid@android.com> Fix ThrottleService wifi interaction

When we switch to another network (or even just lose mobile data) the mobile
interface is either brought down or destroyed altogether. That means any
throttling rules we've told the kernel about get lost.

This change notices when our interface comes up and reinstates throttling
if needed.

bug:2660287
Change-Id: I4c6ebf78acc59ed66b95984a1e8b7c2ffbc22dcb
/frameworks/base/services/java/com/android/server/ThrottleService.java
27fba6797b07583ef6c280bc287bf327e47f5e66 26-Apr-2010 Robert Greenwalt <robdroid@android.com> Fix Throttle reset.

The start and end times were precisely the same so, a ">" check needed to be ">=".
Also removed useless code and removed the potential problem where continuous gradual
advancement of your start and end times would prevent resets.

bug:2629717
Change-Id: Ieced1965a5611a9b555e92bcf924ec350f2a80db
/frameworks/base/services/java/com/android/server/ThrottleService.java
cce83379ef5ddd122ffe6fcce431cb86d059a74b 24-Apr-2010 Robert Greenwalt <robdroid@android.com> Handle throttling being disabled via policy change

bug:2622543
Change-Id: Ic0c169094cdb4f80af9cfcbed116f59fda46a421
/frameworks/base/services/java/com/android/server/ThrottleService.java
5bf16d6e8c0afae4e60590ffbdbed1bd6e73ff8b 23-Apr-2010 Robert Greenwalt <robdroid@android.com> Respond to changes in throttle policy.

We were updating limits and such before, but we were not applying them
to the current situation if we were already throttled. Now it can result in
us throttling or changing our throttle rate or unthrottling or even making
the ui come or go (disabling/enable throttling)

bug:2622543
bug:2619879
Change-Id: I64a62634d54f4768ab8625f8d72f9f66a239cb19
/frameworks/base/services/java/com/android/server/ThrottleService.java
fb9896b5cdb149594fa1b36ac77038d90091a957 23-Apr-2010 Robert Greenwalt <robdroid@android.com> Add a Throttle check shortly after boot.

Throttle is useless when ntp and imsi are not yet ready. In the real world
the second check won't happen for 10 minutes letting people do what they want
for 10 minutes each boot. Trim this down with a quicker first check.

bug:2614247
Change-Id: I84ec33f31e8fed37b3933482fbc187b8e9e94e79
/frameworks/base/services/java/com/android/server/ThrottleService.java
bf7de397279519e0144ceb7264003bc2accbb092 22-Apr-2010 Robert Greenwalt <robdroid@android.com> Trim throttle logs.

Removing unwanted sntp logging and throttle logging.

bug:2614927
Change-Id: Ic0b1c3502ebbc1f04130d09d715591af6513f439
/frameworks/base/services/java/com/android/server/ThrottleService.java
05d0673bfc5231f6dea4bc99627bbf44edf3a8d0 19-Apr-2010 Robert Greenwalt <robdroid@android.com> Misc fixes for throttling.

Cleanup of duplicate code
Caching Ntp data so we don't hit the network as often
Clearing out of MRU data when we switch to a new sim
Sending notification after we reset byte counts

bug:2605277
bug:2605272
bug:2597530
bug:2576057
Change-Id: I3df526bae6374f6ae56fed67b0defad2b4fabefd
/frameworks/base/services/java/com/android/server/ThrottleService.java
7171ea8179e09270e4d6ab825a2320816eee39c5 15-Apr-2010 Robert Greenwalt <robdroid@android.com> Make ThrottleService more tamper resistant.

Use elapsed time not wall time for alarms so users can't play with the
system time to get around things.

Also using NTP servers to pull in an authoritative time - if we the build
is configured with an NTP server we will not advance to the next cycle
without it, but we also will not trottle - rather not throttle users
on an error.

Note that the poll alarm is just relative to the last poll time and real
time doesn't matter.

Defining the time-fetching API's as returning time in the system wallclock
range (correcting if we are using NTP time internally).

bug:2597530
Change-Id: I1c0ac0923314c2f8a04edd0b36c4845352eae99a
/frameworks/base/services/java/com/android/server/ThrottleService.java
cf28236b3784e285632e272b99cf1f8fc01f016b 17-Apr-2010 Irfan Sheriff <isheriff@google.com> Dont check on interface value on API

The interface check in API could be used
in future.

Bug: 2576057
Change-Id: Icfb78a88be44d1e6a8350c4b65efe70970e658d8
/frameworks/base/services/java/com/android/server/ThrottleService.java
e6e98823412275d869ec15d71fd11bba98417c45 15-Apr-2010 Robert Greenwalt <robdroid@android.com> Add multi-sim support to ThrottleService.

Uses the last used data until the SIM is available (if ever). Supports data from
several SIMs for all the world travelers out there.

bug: 2576057
Change-Id: I70e34a51f1c2ccda41a480652b0233b68ff3f538
/frameworks/base/services/java/com/android/server/ThrottleService.java
8c7e609b530d5dcb34e02788958a84a99501c332 15-Apr-2010 Robert Greenwalt <robdroid@android.com> Sholes mobile iface comes/goes - handle the reset

The byte counter for the iface goes to zero when it comes back. Catch that and
do the complex math to correct.

Also add a log entry telling us our desired throttle index.

Lastly, reset the sec/msec part of our reset time so that one calc will == another and not
be off by little bits.

bug:25494925
Change-Id: I99525b72a76316a8e601ceb457ca202fae040bae
/frameworks/base/services/java/com/android/server/ThrottleService.java
22b3644ac2027d055a6b187c979ef492ee6fb082 14-Apr-2010 Robert Greenwalt <robdroid@android.com> Update the datause icons.

bug:2576057
Change-Id: Idf57d59aecb9bcff635dafa1e77d90a8737a0c08
/frameworks/base/services/java/com/android/server/ThrottleService.java
b8912f5481f79182184b628d7722e1a5b91b27f6 10-Apr-2010 Robert Greenwalt <robdroid@android.com> Perist Throttle data across reboots

Never got SharedPreferences working for this system service. Didn't really need it anyway.
Using a straight up file now.

bug:2576057
Change-Id: Idad926e8242a85e22718c25f3f6c03e5749badac
/frameworks/base/services/java/com/android/server/ThrottleService.java
d3bb93f6870581eebbf08b5b7fb0a9c5eaad8b16 13-Apr-2010 Robert Greenwalt <robdroid@android.com> Add build config values for data use defaults

Don't use hard coded defaults - use build configs instead.

Iface is now ONLY set by config so gservices doesn't need to.

bug:2576057
Change-Id: I8f9e3bc51af3b1cdf8bb4290a43197d9c01e2a14
/frameworks/base/services/java/com/android/server/ThrottleService.java
2a7b730378a0c9d7c3dfbc47e9862169a149d347 12-Apr-2010 Robert Greenwalt <robdroid@android.com> Fix Throttle Notification intents

Now goes to the correct settings page.

bug:2576057
Change-Id: I21df0e53f7f56ae9bf71f983a3aed200c5ac217d
/frameworks/base/services/java/com/android/server/ThrottleService.java
e2c0ce03631fc81651b8bde578e993c25e3291e9 09-Apr-2010 Robert Greenwalt <robdroid@android.com> Add warning magic to be a bit more reasonable.

Currently warns if you exceed more than 25% and 2*100%*timeUsed/(timeUsed+totalTime)

The formula means that imagining you've got half of the remaining time that you really have,
we will warn you if you would exceed the quota given your rate so far. It's generous during the
early to mid-life and converges back to the limit as your timeUsed approaches totalTime.

bug:2576057
Change-Id: Id189de5b026f927ef478fd212d61d9e4ab5239e6
/frameworks/base/services/java/com/android/server/ThrottleService.java
81aa0971d7a26ae16ed34fc7da97a55d97fb8e74 09-Apr-2010 Robert Greenwalt <robdroid@android.com> Make ThrottleService notice policy changes.

Added ContentObserver to watch relevant Secure Settings.
Also added new policy-change broadcast to let settings know.
Lastly reorged things a bit so that all of our broadcasts are sent at boot so the sticky ones
are populated.

bug:2576057
Change-Id: Ie11ffb057de9c801a5088612cd464ea062f3a666
/frameworks/base/services/java/com/android/server/ThrottleService.java
5f996899b058f0eb6655d3fe3fd3a5d93256e6c5 09-Apr-2010 Robert Greenwalt <robdroid@android.com> Roaming data doesn't count against limits

bug:2576057
Change-Id: I51a66e3b49a62e0186816ec0473814a216184e6b
/frameworks/base/services/java/com/android/server/ThrottleService.java
c9b6851af68bdc20c4903b16c344e9f116647219 08-Apr-2010 Irfan Sheriff <isheriff@google.com> Throttling framework addins

Add ThrottleManager in getSystemService
Add API for URL fetch

Bug: 2576057
Change-Id: Icd25c8b91ea4beea15c74e8ad7292ab48c962253
/frameworks/base/services/java/com/android/server/ThrottleService.java
c87dc6dc90d0953c10051dceb470ff05e2fb9300 09-Apr-2010 Robert Greenwalt <robdroid@android.com> Updating some notificiation UI for Throttling

String update and make one an ongoing notification.

bug:2576057
Change-Id: I7980f110c7eed8e8bf305490eddaa58e2949e3be
/frameworks/base/services/java/com/android/server/ThrottleService.java
9e696c29f06d45d2891e1d38fd8d9033a9e21bb9 01-Apr-2010 Robert Greenwalt <robdroid@android.com> Add service to monitor/control the flow of data.

bug:2576057
Change-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6
/frameworks/base/services/java/com/android/server/ThrottleService.java