diff options
Diffstat (limited to 'services/java/com/android/server/DiskStatsService.java')
-rw-r--r-- | services/java/com/android/server/DiskStatsService.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/services/java/com/android/server/DiskStatsService.java b/services/java/com/android/server/DiskStatsService.java deleted file mode 100644 index ac25dc5..0000000 --- a/services/java/com/android/server/DiskStatsService.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.server; - -import android.content.Context; -import android.os.Binder; -import android.os.Environment; -import android.os.FileUtils; -import android.os.StatFs; -import android.os.SystemClock; - -import java.io.File; -import java.io.FileDescriptor; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; - -/** - * This service exists only as a "dumpsys" target which reports - * statistics about the status of the disk. - */ -public class DiskStatsService extends Binder { - private static final String TAG = "DiskStatsService"; - - private final Context mContext; - - public DiskStatsService(Context context) { - mContext = context; - } - - @Override - protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { - mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG); - - // Run a quick-and-dirty performance test: write 512 bytes - byte[] junk = new byte[512]; - for (int i = 0; i < junk.length; i++) junk[i] = (byte) i; // Write nonzero bytes - - File tmp = new File(Environment.getDataDirectory(), "system/perftest.tmp"); - FileOutputStream fos = null; - IOException error = null; - - long before = SystemClock.uptimeMillis(); - try { - fos = new FileOutputStream(tmp); - fos.write(junk); - } catch (IOException e) { - error = e; - } finally { - try { if (fos != null) fos.close(); } catch (IOException e) {} - } - - long after = SystemClock.uptimeMillis(); - if (tmp.exists()) tmp.delete(); - - if (error != null) { - pw.print("Test-Error: "); - pw.println(error.toString()); - } else { - pw.print("Latency: "); - pw.print(after - before); - pw.println("ms [512B Data Write]"); - } - - reportFreeSpace(Environment.getDataDirectory(), "Data", pw); - reportFreeSpace(Environment.getDownloadCacheDirectory(), "Cache", pw); - reportFreeSpace(new File("/system"), "System", pw); - - // TODO: Read /proc/yaffs and report interesting values; - // add configurable (through args) performance test parameters. - } - - private void reportFreeSpace(File path, String name, PrintWriter pw) { - try { - StatFs statfs = new StatFs(path.getPath()); - long bsize = statfs.getBlockSize(); - long avail = statfs.getAvailableBlocks(); - long total = statfs.getBlockCount(); - if (bsize <= 0 || total <= 0) { - throw new IllegalArgumentException( - "Invalid stat: bsize=" + bsize + " avail=" + avail + " total=" + total); - } - - pw.print(name); - pw.print("-Free: "); - pw.print(avail * bsize / 1024); - pw.print("K / "); - pw.print(total * bsize / 1024); - pw.print("K total = "); - pw.print(avail * 100 / total); - pw.println("% free"); - } catch (IllegalArgumentException e) { - pw.print(name); - pw.print("-Error: "); - pw.println(e.toString()); - return; - } - } -} |