diff options
Diffstat (limited to 'mobile/android/thirdparty/com/squareup/picasso/StatsSnapshot.java')
-rw-r--r-- | mobile/android/thirdparty/com/squareup/picasso/StatsSnapshot.java | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/mobile/android/thirdparty/com/squareup/picasso/StatsSnapshot.java b/mobile/android/thirdparty/com/squareup/picasso/StatsSnapshot.java new file mode 100644 index 000000000..5f276ebf2 --- /dev/null +++ b/mobile/android/thirdparty/com/squareup/picasso/StatsSnapshot.java @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2013 Square, Inc. + * + * 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.squareup.picasso; + +import android.util.Log; +import java.io.PrintWriter; +import java.io.StringWriter; + +/** Represents all stats for a {@link Picasso} instance at a single point in time. */ +public class StatsSnapshot { + private static final String TAG = "Picasso"; + + public final int maxSize; + public final int size; + public final long cacheHits; + public final long cacheMisses; + public final long totalOriginalBitmapSize; + public final long totalTransformedBitmapSize; + public final long averageOriginalBitmapSize; + public final long averageTransformedBitmapSize; + public final int originalBitmapCount; + public final int transformedBitmapCount; + + public final long timeStamp; + + public StatsSnapshot(int maxSize, int size, long cacheHits, long cacheMisses, + long totalOriginalBitmapSize, long totalTransformedBitmapSize, long averageOriginalBitmapSize, + long averageTransformedBitmapSize, int originalBitmapCount, int transformedBitmapCount, + long timeStamp) { + this.maxSize = maxSize; + this.size = size; + this.cacheHits = cacheHits; + this.cacheMisses = cacheMisses; + this.totalOriginalBitmapSize = totalOriginalBitmapSize; + this.totalTransformedBitmapSize = totalTransformedBitmapSize; + this.averageOriginalBitmapSize = averageOriginalBitmapSize; + this.averageTransformedBitmapSize = averageTransformedBitmapSize; + this.originalBitmapCount = originalBitmapCount; + this.transformedBitmapCount = transformedBitmapCount; + this.timeStamp = timeStamp; + } + + /** Prints out this {@link StatsSnapshot} into log. */ + public void dump() { + StringWriter logWriter = new StringWriter(); + dump(new PrintWriter(logWriter)); + Log.i(TAG, logWriter.toString()); + } + + /** Prints out this {@link StatsSnapshot} with the the provided {@link PrintWriter}. */ + public void dump(PrintWriter writer) { + writer.println("===============BEGIN PICASSO STATS ==============="); + writer.println("Memory Cache Stats"); + writer.print(" Max Cache Size: "); + writer.println(maxSize); + writer.print(" Cache Size: "); + writer.println(size); + writer.print(" Cache % Full: "); + writer.println((int) Math.ceil((float) size / maxSize * 100)); + writer.print(" Cache Hits: "); + writer.println(cacheHits); + writer.print(" Cache Misses: "); + writer.println(cacheMisses); + writer.println("Bitmap Stats"); + writer.print(" Total Bitmaps Decoded: "); + writer.println(originalBitmapCount); + writer.print(" Total Bitmap Size: "); + writer.println(totalOriginalBitmapSize); + writer.print(" Total Transformed Bitmaps: "); + writer.println(transformedBitmapCount); + writer.print(" Total Transformed Bitmap Size: "); + writer.println(totalTransformedBitmapSize); + writer.print(" Average Bitmap Size: "); + writer.println(averageOriginalBitmapSize); + writer.print(" Average Transformed Bitmap Size: "); + writer.println(averageTransformedBitmapSize); + writer.println("===============END PICASSO STATS ==============="); + writer.flush(); + } + + @Override public String toString() { + return "StatsSnapshot{" + + "maxSize=" + + maxSize + + ", size=" + + size + + ", cacheHits=" + + cacheHits + + ", cacheMisses=" + + cacheMisses + + ", totalOriginalBitmapSize=" + + totalOriginalBitmapSize + + ", totalTransformedBitmapSize=" + + totalTransformedBitmapSize + + ", averageOriginalBitmapSize=" + + averageOriginalBitmapSize + + ", averageTransformedBitmapSize=" + + averageTransformedBitmapSize + + ", originalBitmapCount=" + + originalBitmapCount + + ", transformedBitmapCount=" + + transformedBitmapCount + + ", timeStamp=" + + timeStamp + + '}'; + } +}
\ No newline at end of file |