@@ -111,9 +111,6 @@ final class MemoryView extends JPanel {
111
111
112
112
private List <ClassInfo > classes = new ArrayList <>();
113
113
private List <ClassInfo > baseClasses = new ArrayList <>(); // Needed to correctly setup table renderers
114
- // private int totalClasses = -1;
115
- private long totalBytes , baseTotalBytes = -1 ;
116
- private long totalInstances , baseTotalInstances = -1 ;
117
114
118
115
119
116
MemoryView (Application application , AbstractSamplerSupport .Refresher refresher , int mode ,
@@ -153,46 +150,43 @@ boolean isEmpty() {
153
150
154
151
void refresh (HeapHistogram histogram ) {
155
152
if (histogram == null || isPaused ()) return ;
153
+ long bytesMaxValue = 0 ;
154
+ long instancesMaxValue = 0 ;
156
155
forceRefresh = false ;
157
156
158
157
boolean diff = lrDeltasButton .isSelected ();
159
158
if (diff ) {
160
159
if (baseClasses == null ) {
161
160
baseClasses = new ArrayList <>(classes );
162
- baseTotalBytes = totalBytes ;
163
- baseTotalInstances = totalInstances ;
164
161
}
165
162
166
163
Collection <ClassInfo > newClasses = getHistogram (histogram );
167
164
classes = computeDeltaClasses (baseClasses , newClasses );
168
165
169
- // totalClasses = baseClasses.size() - newClasses.size();
170
- totalBytes = getTotalBytes (histogram ) - baseTotalBytes ;
171
- totalInstances = getTotalInstances (histogram ) - baseTotalInstances ;
172
-
173
166
long maxAbsDiffBytes = 0 ;
174
- for (ClassInfo cInfo : classes )
167
+ long maxAbsDiffInstances = 0 ;
168
+ for (ClassInfo cInfo : classes ) {
175
169
maxAbsDiffBytes = Math .max (maxAbsDiffBytes , Math .abs (cInfo .getBytes ()));
176
-
170
+ maxAbsDiffInstances = Math .max (maxAbsDiffInstances , Math .abs (cInfo .getInstancesCount ()));
171
+ }
172
+ bytesMaxValue = maxAbsDiffBytes ;
173
+ instancesMaxValue = maxAbsDiffInstances ;
177
174
} else {
178
175
if (baseClasses != null ) {
179
176
baseClasses = null ;
180
- baseTotalBytes = -1 ;
181
- baseTotalInstances = -1 ;
182
177
}
183
178
classes .clear ();
184
179
classes .addAll (getHistogram (histogram ));
185
180
186
- // totalClasses = classes.size();
187
- totalBytes = getTotalBytes (histogram );
188
- totalInstances = getTotalInstances (histogram );
181
+ bytesMaxValue = getTotalBytes (histogram );
182
+ instancesMaxValue = getTotalInstances (histogram );
189
183
}
190
184
191
185
renderers [0 ].setDiffMode (diff );
192
- renderers [0 ].setMaxValue (totalBytes );
186
+ renderers [0 ].setMaxValue (bytesMaxValue );
193
187
194
188
renderers [1 ].setDiffMode (diff );
195
- renderers [1 ].setMaxValue (totalInstances );
189
+ renderers [1 ].setMaxValue (instancesMaxValue );
196
190
197
191
tableModel .fireTableDataChanged ();
198
192
0 commit comments