Skip to content

Commit bea508e

Browse files
authored
Merge branch 'master' into app_shared_pkg_web
2 parents 50c72a8 + 8efcaed commit bea508e

39 files changed

+521
-193
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
- build_dart2js
5353
- test_ddc
5454
- test_dart2js
55+
- benchmarks_dart2js
5556
steps:
5657
- name: git clone
5758
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac

.github/workflows/flutter-candidate-update.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
workflow_dispatch: # Allows for manual triggering if needed
44
schedule:
55
# * is a special character in YAML so you have to quote this string
6-
- cron: "0 8 * * *" # Run every day at midnight Pacific Time
6+
- cron: "0 8/12 * * *" # Run every day at midnight and noon Pacific Time
77

88
permissions:
99
contents: write

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ of launch configurations for running and debugging DevTools:
8484

8585
### Workflow for making changes
8686

87-
1. Change your local Flutter SDK to the latest flutter candidate branch: `./tool/update_flutter_sdk.sh --local`
87+
1. Change your local Flutter SDK to the latest flutter candidate branch: `devtools_tool update-flutter-sdk --local`
8888
2. Create a branch from your cloned DevTools repo: `git checkout -b myBranch`
8989
3. Ensure your branch, dependencies, and generated code are up-to-date: `devtools_tool sync`
9090
4. Implement your changes, and commit to your branch: `git commit -m “description”`

case_study/memory_leaks/memory_leak_app/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
dev_dependencies:
1212
flutter_test:
1313
sdk: flutter
14-
intl: '>=0.16.1 <0.19.0'
14+
intl: ^0.18.0
1515
http: ^0.13.5
1616

1717
# For information on the generic Dart part of this file, see the

flutter-candidate.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.16.0-16.0.pre
1+
3.16.0-17.0.pre

packages/devtools_app/lib/devtools_app.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export 'src/service/json_to_service_cache.dart';
5757
export 'src/service/resolved_uri_manager.dart';
5858
export 'src/service/service_extensions.dart';
5959
export 'src/service/service_manager.dart';
60+
export 'src/service/service_registrations.dart';
6061
export 'src/service/timeline_streams.dart';
6162
export 'src/service/vm_flags.dart';
6263
export 'src/service/vm_service_wrapper.dart';

packages/devtools_app/lib/src/screens/performance/panes/frame_analysis/frame_hints.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,10 +370,10 @@ class ShaderCompilationHint extends StatelessWidget {
370370
LinkTextSpan(
371371
link: Link(
372372
display: 'Impeller',
373-
url: impellerWikiUrl,
373+
url: impellerDocsUrl,
374374
gaScreenName: gac.performance,
375375
gaSelectedItemDescription:
376-
gac.PerformanceDocs.impellerWikiLink.name,
376+
gac.PerformanceDocs.impellerDocsLink.name,
377377
),
378378
context: context,
379379
),

packages/devtools_app/lib/src/screens/performance/panes/raster_stats/raster_stats.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,48 @@ import '../../../../shared/globals.dart';
1414
import '../../../../shared/primitives/utils.dart';
1515
import '../../../../shared/table/table.dart';
1616
import '../../../../shared/table/table_data.dart';
17+
import '../../performance_utils.dart';
1718
import 'raster_stats_controller.dart';
1819
import 'raster_stats_model.dart';
1920

2021
class RasterStatsView extends StatelessWidget {
2122
const RasterStatsView({
2223
super.key,
2324
required this.rasterStatsController,
25+
required this.impellerEnabled,
2426
});
2527

2628
final RasterStatsController rasterStatsController;
2729

30+
final bool impellerEnabled;
31+
2832
@override
2933
Widget build(BuildContext context) {
34+
if (impellerEnabled) {
35+
return Center(
36+
child: RichText(
37+
textAlign: TextAlign.center,
38+
text: TextSpan(
39+
text: 'The Raster Stats tool is not currently available for the '
40+
'Impeller backend.\nLearn more about the status of ',
41+
style: Theme.of(context).regularTextStyle,
42+
children: [
43+
LinkTextSpan(
44+
link: Link(
45+
display: 'Impeller',
46+
url: impellerDocsUrl,
47+
gaScreenName: gac.performance,
48+
gaSelectedItemDescription:
49+
gac.PerformanceDocs.impellerDocsLinkFromRasterStats.name,
50+
),
51+
context: context,
52+
),
53+
const TextSpan(text: '.'),
54+
],
55+
),
56+
),
57+
);
58+
}
3059
return Column(
3160
children: [
3261
if (!offlineController.offlineMode.value)

packages/devtools_app/lib/src/screens/performance/panes/raster_stats/raster_stats_controller.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ class RasterStatsController extends PerformanceFeatureController {
4141
setData(rasterStats);
4242
} catch (e, st) {
4343
_log.shout('Error collecting raster stats: $e', e, st);
44+
notificationService.pushError(
45+
'Error collecting raster stats: $e',
46+
stackTrace: st.toString(),
47+
);
4448
clearData();
4549
} finally {
4650
_loadingSnapshot.value = false;

packages/devtools_app/lib/src/screens/performance/performance_controller.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'dart:async';
77
import 'package:devtools_app_shared/utils.dart';
88
import 'package:vm_service/vm_service.dart';
99

10+
import '../../service/service_registrations.dart' as registrations;
1011
import '../../shared/diagnostics/inspector_service.dart';
1112
import '../../shared/feature_flags.dart';
1213
import '../../shared/globals.dart';
@@ -98,6 +99,9 @@ class PerformanceController extends DisposableController
9899
/// in selected timeline event, selected frame, etc.).
99100
PerformanceData? offlinePerformanceData;
100101

102+
bool get impellerEnabled => _impellerEnabled;
103+
late final bool _impellerEnabled;
104+
101105
final _initialized = Completer<void>();
102106

103107
Future<void> get initialized => _initialized.future;
@@ -115,6 +119,17 @@ class PerformanceController extends DisposableController
115119
if (!offlineController.offlineMode.value) {
116120
await serviceConnection.serviceManager.onServiceAvailable;
117121

122+
if (serviceConnection.serviceManager.connectedApp?.isFlutterAppNow ??
123+
false) {
124+
final impellerEnabledResponse = await serviceConnection.serviceManager
125+
.callServiceExtensionOnMainIsolate(
126+
registrations.isImpellerEnabled,
127+
);
128+
_impellerEnabled = impellerEnabledResponse.json?['enabled'] == true;
129+
} else {
130+
_impellerEnabled = false;
131+
}
132+
118133
enhanceTracingController.init();
119134

120135
// Listen for Flutter.Frame events with frame timing data.

0 commit comments

Comments
 (0)