1
1
import 'dart:async' ;
2
- import 'dart:developer' ;
3
2
import 'dart:ui' ;
4
3
5
4
import 'package:flutter/widgets.dart' ;
@@ -10,8 +9,6 @@ import 'package:instabug_flutter/src/utils/instabug_logger.dart';
10
9
import 'package:instabug_flutter/src/utils/screen_rendering/instabug_widget_binding_observer.dart' ;
11
10
import 'package:meta/meta.dart' ;
12
11
13
- //todo: remove logs
14
-
15
12
@internal
16
13
enum UiTraceType {
17
14
auto,
@@ -65,7 +62,6 @@ class InstabugScreenRenderManager {
65
62
try {
66
63
// passing WidgetsBinding? (nullable) for flutter versions prior than 3.x
67
64
if (! screenRenderEnabled && widgetBinding != null ) {
68
- log ("$tag : init" , name: 'andrew' );
69
65
_widgetsBinding = widgetBinding;
70
66
_addWidgetBindingObserver ();
71
67
await _initStaticValues ();
@@ -84,7 +80,6 @@ class InstabugScreenRenderManager {
84
80
_rasterTime = frameTiming.rasterDuration.inMilliseconds;
85
81
_totalTime = frameTiming.totalSpan.inMilliseconds;
86
82
87
- _displayFrameTimingDetails (frameTiming);
88
83
if (_isUiFrozen) {
89
84
_frozenFramesTotalDurationMs += _buildTime;
90
85
} else if (_isRasterFrozen) {
@@ -126,16 +121,8 @@ class InstabugScreenRenderManager {
126
121
try {
127
122
// Return if frameTimingListener not attached
128
123
if (! screenRenderEnabled || ! _isTimingsListenerAttached) {
129
- log (
130
- "$tag : startScreenRenderCollectorForTraceId returned" ,
131
- name: 'andrew' ,
132
- );
133
124
return ;
134
125
}
135
- log (
136
- "$tag : startScreenRenderCollectorForTraceId $traceId (${type .name })" ,
137
- name: 'andrew' ,
138
- );
139
126
140
127
//Save the memory cached data to be sent to native side
141
128
if (_delayedFrames.isNotEmpty) {
@@ -188,8 +175,6 @@ class InstabugScreenRenderManager {
188
175
_screenRenderForAutoUiTrace.isNotEmpty) {
189
176
_reportScreenRenderForAutoUiTrace (_screenRenderForAutoUiTrace);
190
177
}
191
-
192
- log ("$tag : stopScreenRenderCollector" , name: 'andrew' );
193
178
} catch (error, stackTrace) {
194
179
_logExceptionErrorAndStackTrace (error, stackTrace);
195
180
}
@@ -210,7 +195,6 @@ class InstabugScreenRenderManager {
210
195
_reportScreenRenderForCustomUiTrace (_screenRenderForCustomUiTrace);
211
196
212
197
_screenRenderForCustomUiTrace.clear ();
213
- log ("$tag : endCustom" , name: 'andrew' );
214
198
} catch (error, stackTrace) {
215
199
_logExceptionErrorAndStackTrace (error, stackTrace);
216
200
}
@@ -222,13 +206,10 @@ class InstabugScreenRenderManager {
222
206
_removeFrameTimings ();
223
207
_widgetsBinding = null ;
224
208
screenRenderEnabled = false ;
225
- log ("$tag : dispose" , name: 'andrew' );
226
209
}
227
210
228
211
/// --------------------------- private methods ---------------------
229
212
230
- bool get _isSlow => _isUiSlow || _isRasterSlow;
231
-
232
213
bool get _isUiDelayed => _isUiSlow || _isUiFrozen;
233
214
234
215
bool get _isRasterDelayed => _isRasterSlow || _isRasterFrozen;
@@ -241,8 +222,6 @@ class InstabugScreenRenderManager {
241
222
_rasterTime > _slowFrameThresholdMs &&
242
223
_rasterTime < _frozenFrameThresholdMs;
243
224
244
- bool get _isFrozen => _isUiFrozen || _isRasterFrozen || _isTotalTimeLarge;
245
-
246
225
bool get _isTotalTimeLarge => _totalTime >= _frozenFrameThresholdMs;
247
226
248
227
bool get _isUiFrozen => _buildTime >= _frozenFrameThresholdMs;
@@ -272,7 +251,6 @@ class InstabugScreenRenderManager {
272
251
_slowFrameThresholdMs = _targetMsPerFrame (_deviceRefreshRate);
273
252
_screenRenderForAutoUiTrace = InstabugScreenRenderData (frameData: []);
274
253
_screenRenderForCustomUiTrace = InstabugScreenRenderData (frameData: []);
275
- log ("$tag : _initStaticValues " , name: 'andrew' );
276
254
}
277
255
278
256
/// Add a frame observer by calling [WidgetsBinding.instance.addTimingsCallback]
@@ -282,29 +260,20 @@ class InstabugScreenRenderManager {
282
260
}
283
261
_widgetsBinding? .addTimingsCallback (_timingsCallback);
284
262
_isTimingsListenerAttached = true ;
285
- log ("$tag : _initFrameTimings " , name: 'andrew' );
286
263
}
287
264
288
265
/// Remove the running frame observer by calling [_widgetsBinding.removeTimingsCallback]
289
266
void _removeFrameTimings () {
290
267
if (! _isTimingsListenerAttached) return ; // No timings callback attached.
291
268
_widgetsBinding? .removeTimingsCallback (_timingsCallback);
292
269
_isTimingsListenerAttached = false ;
293
- log (
294
- "$tag : _removeFrameTimings " ,
295
- name: 'andrew' ,
296
- );
297
270
}
298
271
299
272
/// Reset the memory cashed data
300
273
void _resetCachedFrameData () {
301
274
_slowFramesTotalDurationMs = 0 ;
302
275
_frozenFramesTotalDurationMs = 0 ;
303
276
_delayedFrames.clear ();
304
- log (
305
- "$tag : _resetCachedFrameData " ,
306
- name: 'andrew' ,
307
- );
308
277
}
309
278
310
279
/// Save Slow/Frozen Frames data
@@ -318,45 +287,6 @@ class InstabugScreenRenderManager {
318
287
);
319
288
}
320
289
321
- //todo: will be removed (is used for debugging)
322
- void _displayFrameTimingDetails (FrameTiming frameTiming) {
323
- if (_isSlow) {
324
- debugPrint (
325
- '========================= Slow frame detected ⚠️ =========================' ,
326
- );
327
- }
328
- if (_isFrozen) {
329
- debugPrint (
330
- '========================= Frozen frame detected 🚨 =========================' ,
331
- );
332
- }
333
-
334
- if (_isFrozen || _isSlow) {
335
- debugPrint (
336
- "{\n\t $frameTiming \n\t "
337
- "Timestamps(${frameTiming .timestampInMicroseconds (
338
- FramePhase .buildStart ,
339
- )}, ${frameTiming .timestampInMicroseconds (
340
- FramePhase .buildFinish ,
341
- )}, ${frameTiming .timestampInMicroseconds (
342
- FramePhase .rasterStart ,
343
- )}, ${frameTiming .timestampInMicroseconds (
344
- FramePhase .rasterFinish ,
345
- )}, ${frameTiming .timestampInMicroseconds (
346
- FramePhase .vsyncStart ,
347
- )}, ${frameTiming .timestampInMicroseconds (
348
- FramePhase .rasterFinishWallTime ,
349
- )}"
350
- ")\n }\n " ,
351
- );
352
- debugPrint ("Device refresh rate: $_deviceRefreshRate FPS" );
353
- debugPrint (
354
- "Threshold: $_slowFrameThresholdMs ms\n "
355
- "===============================================================================" ,
356
- );
357
- }
358
- }
359
-
360
290
/// Ends custom ui trace with the screen render data that has been collected for it.
361
291
/// params:
362
292
/// [InstabugScreenRenderData] screenRenderData.
@@ -398,10 +328,6 @@ class InstabugScreenRenderManager {
398
328
if (_screenRenderForCustomUiTrace.isActive) {
399
329
_updateCustomUiData ();
400
330
}
401
- log (
402
- "$tag : Captured data is saved " ,
403
- name: 'andrew' ,
404
- );
405
331
}
406
332
407
333
/// Updates the custom UI trace screen render data with the currently collected
0 commit comments