Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 /*
2 * Copyright (C) 2013 Square, Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package com.squareup.picasso;
18 import android.util.Log;
19 import java.io.PrintWriter;
20 import java.io.StringWriter;
22 /** Represents all stats for a {@link Picasso} instance at a single point in time. */
23 public class StatsSnapshot {
24 private static final String TAG = "Picasso";
26 public final int maxSize;
27 public final int size;
28 public final long cacheHits;
29 public final long cacheMisses;
30 public final long totalOriginalBitmapSize;
31 public final long totalTransformedBitmapSize;
32 public final long averageOriginalBitmapSize;
33 public final long averageTransformedBitmapSize;
34 public final int originalBitmapCount;
35 public final int transformedBitmapCount;
37 public final long timeStamp;
39 public StatsSnapshot(int maxSize, int size, long cacheHits, long cacheMisses,
40 long totalOriginalBitmapSize, long totalTransformedBitmapSize, long averageOriginalBitmapSize,
41 long averageTransformedBitmapSize, int originalBitmapCount, int transformedBitmapCount,
42 long timeStamp) {
43 this.maxSize = maxSize;
44 this.size = size;
45 this.cacheHits = cacheHits;
46 this.cacheMisses = cacheMisses;
47 this.totalOriginalBitmapSize = totalOriginalBitmapSize;
48 this.totalTransformedBitmapSize = totalTransformedBitmapSize;
49 this.averageOriginalBitmapSize = averageOriginalBitmapSize;
50 this.averageTransformedBitmapSize = averageTransformedBitmapSize;
51 this.originalBitmapCount = originalBitmapCount;
52 this.transformedBitmapCount = transformedBitmapCount;
53 this.timeStamp = timeStamp;
54 }
56 /** Prints out this {@link StatsSnapshot} into log. */
57 public void dump() {
58 StringWriter logWriter = new StringWriter();
59 dump(new PrintWriter(logWriter));
60 Log.i(TAG, logWriter.toString());
61 }
63 /** Prints out this {@link StatsSnapshot} with the the provided {@link PrintWriter}. */
64 public void dump(PrintWriter writer) {
65 writer.println("===============BEGIN PICASSO STATS ===============");
66 writer.println("Memory Cache Stats");
67 writer.print(" Max Cache Size: ");
68 writer.println(maxSize);
69 writer.print(" Cache Size: ");
70 writer.println(size);
71 writer.print(" Cache % Full: ");
72 writer.println((int) Math.ceil((float) size / maxSize * 100));
73 writer.print(" Cache Hits: ");
74 writer.println(cacheHits);
75 writer.print(" Cache Misses: ");
76 writer.println(cacheMisses);
77 writer.println("Bitmap Stats");
78 writer.print(" Total Bitmaps Decoded: ");
79 writer.println(originalBitmapCount);
80 writer.print(" Total Bitmap Size: ");
81 writer.println(totalOriginalBitmapSize);
82 writer.print(" Total Transformed Bitmaps: ");
83 writer.println(transformedBitmapCount);
84 writer.print(" Total Transformed Bitmap Size: ");
85 writer.println(totalTransformedBitmapSize);
86 writer.print(" Average Bitmap Size: ");
87 writer.println(averageOriginalBitmapSize);
88 writer.print(" Average Transformed Bitmap Size: ");
89 writer.println(averageTransformedBitmapSize);
90 writer.println("===============END PICASSO STATS ===============");
91 writer.flush();
92 }
94 @Override public String toString() {
95 return "StatsSnapshot{"
96 + "maxSize="
97 + maxSize
98 + ", size="
99 + size
100 + ", cacheHits="
101 + cacheHits
102 + ", cacheMisses="
103 + cacheMisses
104 + ", totalOriginalBitmapSize="
105 + totalOriginalBitmapSize
106 + ", totalTransformedBitmapSize="
107 + totalTransformedBitmapSize
108 + ", averageOriginalBitmapSize="
109 + averageOriginalBitmapSize
110 + ", averageTransformedBitmapSize="
111 + averageTransformedBitmapSize
112 + ", originalBitmapCount="
113 + originalBitmapCount
114 + ", transformedBitmapCount="
115 + transformedBitmapCount
116 + ", timeStamp="
117 + timeStamp
118 + '}';
119 }
120 }