1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
+ '}';
}
}
|