Skip to content

Commit 6ca06dd

Browse files
committed
Update
1 parent eaa6d8d commit 6ca06dd

7 files changed

+9
-37
lines changed

dart/lib/src/sentry_span_operations.dart

-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ import 'package:meta/meta.dart';
44
class SentrySpanOperations {
55
static const String uiLoad = 'ui.load';
66
static const String uiTimeToInitialDisplay = 'ui.load.initial_display';
7-
static const String uiTimeToFullDisplay = 'ui.load.full_display';
87
}

dart/lib/src/sentry_tracer.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,7 @@ class SentryTracer extends ISentrySpan {
362362
Dsn.parse(_hub.options.dsn!).publicKey,
363363
release: _hub.options.release,
364364
environment: _hub.options.environment,
365-
userId: null,
366-
// because of PII not sending it for now
365+
userId: null, // because of PII not sending it for now
367366
userSegment: user?.segment,
368367
transaction:
369368
_isHighQualityTransactionName(transactionNameSource) ? name : null,

flutter/lib/src/navigation/sentry_navigator_observer.dart

+5-7
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,7 @@ class SentryNavigatorObserver extends RouteObserver<PageRoute<dynamic>> {
8686
_hub.options.sdk.addIntegration('UINavigationTracing');
8787
}
8888
_timeToDisplayTracker = timeToDisplayTracker ??
89-
TimeToDisplayTracker(
90-
// TODO: ttfd flag
91-
enableTimeToFullDisplayTracing: false,
92-
);
89+
TimeToDisplayTracker();
9390
}
9491

9592
final Hub _hub;
@@ -202,14 +199,15 @@ class SentryNavigatorObserver extends RouteObserver<PageRoute<dynamic>> {
202199
}
203200

204201
Future<void> _finishTransaction() async {
205-
_timeToDisplayTracker?.clear();
206-
207-
final transaction = _hub.getSpan();
202+
final transaction = _transaction;
203+
_transaction = null;
208204
if (transaction == null || transaction.finished) {
209205
return;
210206
}
211207
transaction.status ??= SpanStatus.ok();
212208
await transaction.finish();
209+
210+
_timeToDisplayTracker?.clear();
213211
}
214212

215213
Future<void> _startTransaction(Route<dynamic>? route) async {

flutter/lib/src/navigation/time_to_display_tracker.dart

+1-21
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,9 @@ class TimeToDisplayTracker {
1414
final SentryNative? _native;
1515
final TimeToInitialDisplayTracker _ttidTracker;
1616

17-
// TODO We can use _hub.options to fetch the ttfd flag
18-
final bool _enableTimeToFullDisplayTracing;
19-
2017
TimeToDisplayTracker({
21-
required bool enableTimeToFullDisplayTracing,
2218
TimeToInitialDisplayTracker? ttidTracker,
2319
}) : _native = SentryFlutter.native,
24-
_enableTimeToFullDisplayTracing = enableTimeToFullDisplayTracing,
2520
_ttidTracker = ttidTracker ?? TimeToInitialDisplayTracker();
2621

2722
Future<void> startTracking(
@@ -36,7 +31,6 @@ class TimeToDisplayTracker {
3631
if (routeName == null) return;
3732

3833
if (isRootScreen && didFetchAppStart == false) {
39-
// Dart cannot infer here that routeName is not nullable
4034
await _trackAppStartTTD(transaction, routeName, arguments);
4135
} else {
4236
await _trackRegularRouteTTD(
@@ -49,38 +43,24 @@ class TimeToDisplayTracker {
4943
/// This method listens for the completion of the app's start process via
5044
/// [AppStartTracker], then:
5145
/// - Starts a transaction with the app start start timestamp
52-
/// - Starts TTID and optionally TTFD spans based on the app start start timestamp
46+
/// - Starts a TTID span based on the app start start timestamp
5347
/// - Finishes the TTID span immediately with the app start end timestamp
5448
///
5549
/// We start and immediately finish the TTID span since we cannot mutate the history of spans.
5650
Future<void> _trackAppStartTTD(
5751
ISentrySpan transaction, String routeName, Object? arguments) async {
5852
final appStartInfo = await NativeAppStartIntegration.getAppStartInfo();
5953
if (appStartInfo == null) return;
60-
61-
if (_enableTimeToFullDisplayTracing) {
62-
// TODO: implement TTFD
63-
}
64-
6554
await _ttidTracker.trackAppStart(transaction, appStartInfo, routeName);
6655
}
6756

6857
/// Starts and finishes Time To Display spans for regular routes meaning routes that are not root.
6958
Future<void> _trackRegularRouteTTD(ISentrySpan transaction, String routeName,
7059
Object? arguments, DateTime startTimestamp) async {
71-
if (_enableTimeToFullDisplayTracing) {
72-
// TODO: implement TTFD
73-
}
74-
7560
await _ttidTracker.trackRegularRoute(
7661
transaction, startTimestamp, routeName);
7762
}
7863

79-
@internal
80-
Future<void> reportFullyDisplayed() async {
81-
// TODO: implement TTFD
82-
}
83-
8464
void clear() {
8565
_ttidTracker.clear();
8666
}

flutter/test/navigation/sentry_display_widget_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ void main() {
8686
expect(tracer.measurements, hasLength(1));
8787
final measurement = tracer.measurements['time_to_initial_display'];
8888
expect(measurement, isNotNull);
89-
expect(measurement?.value, 1000);
89+
expect(measurement?.value, appStartInfo.duration.inMilliseconds);
9090
expect(measurement?.unit, DurationSentryMeasurementUnit.milliSecond);
9191
});
9292
}

flutter/test/navigation/time_to_display_tracker_test.dart

-4
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,12 @@ class Fixture {
123123
late final ttidTracker =
124124
TimeToInitialDisplayTracker(frameCallbackHandler: frameCallbackHandler);
125125

126-
final ttfdAutoFinishAfter = Duration(milliseconds: 500);
127-
128126
ISentrySpan getTransaction({String? name = "Current route"}) {
129127
return hub.startTransaction(name!, 'ui.load', bindToScope: true);
130128
}
131129

132130
TimeToDisplayTracker getSut() {
133131
return TimeToDisplayTracker(
134-
// TODO: ttfd flag
135-
enableTimeToFullDisplayTracing: false,
136132
ttidTracker: ttidTracker,
137133
);
138134
}

flutter/test/sentry_navigator_observer_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -877,7 +877,7 @@ class Fixture {
877877
final timeToInitialDisplayTracker =
878878
TimeToInitialDisplayTracker(frameCallbackHandler: frameCallbackHandler);
879879
final timeToDisplayTracker = TimeToDisplayTracker(
880-
// TODO: ttfd flag
880+
// TODO: ttfd flag via options
881881
enableTimeToFullDisplayTracing: false,
882882
ttidTracker: timeToInitialDisplayTracker,
883883
);

0 commit comments

Comments
 (0)