History log of /frameworks/base/core/java/com/android/internal/util/FileRotator.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bbf1861fdd2ba250354c060fe70f0ee7cbe93877 13-Dec-2013 Mikael Gullstrand <mikael.gullstrand@sonymobile.com> Null pointer exception in FileRotator.java

Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
/frameworks/base/core/java/com/android/internal/util/FileRotator.java
6de357e4d10fa5977ab9a6c665dc858765e95d34 09-May-2012 Jeff Sharkey <jsharkey@android.com> Recover from Throwable in FileRotator, dump.

In rewriteSingle(), catch Throwable to rollback to backup file,
instead of just IOException. Also add dumpAll() to pack up contents
for later debugging, and use it when encountering bad stats.

Bug: 6467868
Change-Id: Ic8e287cf5a235706811a304a88d71d11d3a79cd4
/frameworks/base/core/java/com/android/internal/util/FileRotator.java
e7bb71d26943fbb053139e1e34203df4c2afaa9b 29-Feb-2012 Jeff Sharkey <jsharkey@android.com> Disable verbose NetworkStats logging.

Bug: 6076584
Change-Id: I4efcda2b474f623f4fe70db8b43b0aa69017d749
/frameworks/base/core/java/com/android/internal/util/FileRotator.java
63abc37356728c0575d6a62a203102ae6d97953b 12-Jan-2012 Jeff Sharkey <jsharkey@android.com> Move network stats to FileRotator pattern.

Split existing network stats into two separate classes: a recorder
which generates historical data based on periodic counter snapshots,
and a collection of historical data with persistance logic.

Recorder keeps a pending history in memory until outstanding data
crosses a specific threshold. Persisting is handled through a given
FileRotator. This pattern significantly reduces disk churn and
memory overhead. Separate UID data from UID tag data, enabling a
shorter rotation cycle. Migrate existing stats into new structure.

Remove "xt" stats until iptables hooks are ready. Avoid consuming
Entry values when recording into NetworkStatsHistory. Assign
operation counts to default route interface.

Introduce "Rewriter" interface in FileRotator with methods to enable
rewriteAll(). Introduce IndentingPrintWriter to handle indenting in
dump() methods.

Bug: 5386531
Change-Id: Ibe086230a17999a197206ca62d45f266225fdff1
/frameworks/base/core/java/com/android/internal/util/FileRotator.java
a27a3e8ad7d20dea63ef2d5cb8b6ec7e56c20a89 09-Jan-2012 Jeff Sharkey <jsharkey@android.com> Introduce FileRotator.

Utility that rotates files over time, similar to logrotate. There is
a single "active" file, which is periodically rotated into historical
files, and eventually deleted entirely. Files are stored under a
specific directory with a well-known prefix.

Bug: 5386531
Change-Id: I29f821a881247e50ce0f6f73b20bbd020db39e43
/frameworks/base/core/java/com/android/internal/util/FileRotator.java