Skip to content

Commit 4a18e2a

Browse files
authored
[Feature flag cleanup] Remove memoryObserver flag (#9445)
1 parent 508d1b3 commit 4a18e2a

13 files changed

Lines changed: 19 additions & 81 deletions

File tree

packages/devtools_app/lib/src/framework/framework_core.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import '../service/vm_service_wrapper.dart';
2323
import '../shared/analytics/analytics.dart' as ga;
2424
import '../shared/config_specific/framework_initialize/framework_initialize.dart';
2525
import '../shared/console/eval/eval_service.dart';
26-
import '../shared/feature_flags.dart';
2726
import '../shared/framework/app_error_handling.dart' as error_handling;
2827
import '../shared/framework/framework_controller.dart';
2928
import '../shared/framework/screen_controllers.dart';
@@ -84,9 +83,7 @@ extension FrameworkCore on Never {
8483
// preferences have been initialized.
8584
await extensionService.initialize();
8685

87-
if (FeatureFlags.memoryObserver.isEnabled) {
88-
_memoryObserver.init();
89-
}
86+
_memoryObserver.init();
9087
}
9188

9289
/// Disposes framework level services and managers.
@@ -99,9 +96,7 @@ extension FrameworkCore on Never {
9996
preferences.dispose();
10097
_themeManager?.dispose();
10198
unawaited(dtdManager.dispose());
102-
if (FeatureFlags.memoryObserver.isEnabled) {
103-
_memoryObserver.dispose();
104-
}
99+
_memoryObserver.dispose();
105100
}
106101

107102
static void _initGlobals() {

packages/devtools_app/lib/src/screens/app_size/app_size_controller.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import 'package:vm_snapshot_analysis/utils.dart';
1111
import 'package:vm_snapshot_analysis/v8_profile.dart';
1212

1313
import '../../shared/charts/treemap.dart';
14-
import '../../shared/feature_flags.dart';
1514
import '../../shared/framework/screen.dart';
1615
import '../../shared/framework/screen_controllers.dart';
1716
import '../../shared/primitives/utils.dart';
@@ -772,12 +771,10 @@ class AppSizeController extends DevToolsScreenController {
772771

773772
@override
774773
void releaseMemory({bool partial = false}) {
775-
if (FeatureFlags.memoryObserver.isEnabled) {
776-
// This behavior is the same regardless of the value of `partial`. We can
777-
// implement a partial clearing if it becomes necessary.
778-
clear(AppSizeScreen.analysisTabKey);
779-
clear(AppSizeScreen.diffTabKey);
780-
}
774+
// This behavior is the same regardless of the value of `partial`. We can
775+
// implement a partial clearing if it becomes necessary.
776+
clear(AppSizeScreen.analysisTabKey);
777+
clear(AppSizeScreen.diffTabKey);
781778
}
782779
}
783780

packages/devtools_app/lib/src/screens/logging/logging_controller.dart

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import 'package:vm_service/vm_service.dart';
1818
import '../../service/vm_service_wrapper.dart';
1919
import '../../shared/diagnostics/diagnostics_node.dart';
2020
import '../../shared/diagnostics/inspector_service.dart';
21-
import '../../shared/feature_flags.dart';
2221
import '../../shared/framework/app_error_handling.dart' as error_handling;
2322
import '../../shared/framework/screen.dart';
2423
import '../../shared/framework/screen_controllers.dart';
@@ -805,13 +804,11 @@ class LoggingController extends DevToolsScreenController
805804

806805
@override
807806
void releaseMemory({bool partial = false}) {
808-
if (FeatureFlags.memoryObserver.isEnabled) {
809-
if (partial) {
810-
// Trim logs from the front so that the oldest logs are removed.
811-
_updateData(data.sublist(data.length ~/ 2));
812-
} else {
813-
clear();
814-
}
807+
if (partial) {
808+
// Trim logs from the front so that the oldest logs are removed.
809+
_updateData(data.sublist(data.length ~/ 2));
810+
} else {
811+
clear();
815812
}
816813
}
817814
}

packages/devtools_app/lib/src/screens/memory/framework/memory_controller.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import 'dart:async';
1010
import 'package:devtools_app_shared/utils.dart';
1111
import 'package:flutter/foundation.dart';
1212

13-
import '../../../shared/feature_flags.dart';
1413
import '../../../shared/framework/screen.dart';
1514
import '../../../shared/framework/screen_controllers.dart';
1615
import '../../../shared/globals.dart';
@@ -217,11 +216,9 @@ class MemoryController extends DevToolsScreenController
217216

218217
@override
219218
FutureOr<void> releaseMemory({bool partial = false}) async {
220-
if (FeatureFlags.memoryObserver.isEnabled) {
221-
diff.clearSnapshots(partial: partial);
222-
// Clear all allocation traces since the traces form a single tracing
223-
// profile.
224-
await trace?.clear();
225-
}
219+
diff.clearSnapshots(partial: partial);
220+
// Clear all allocation traces since the traces form a single tracing
221+
// profile.
222+
await trace?.clear();
226223
}
227224
}

packages/devtools_app/lib/src/screens/network/network_controller.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import 'package:vm_service/vm_service.dart';
1111

1212
import '../../shared/config_specific/import_export/import_export.dart';
1313
import '../../shared/config_specific/logger/allowed_error.dart';
14-
import '../../shared/feature_flags.dart';
1514
import '../../shared/framework/screen.dart';
1615
import '../../shared/framework/screen_controllers.dart';
1716
import '../../shared/globals.dart';
@@ -515,9 +514,7 @@ class NetworkController extends DevToolsScreenController
515514

516515
@override
517516
FutureOr<void> releaseMemory({bool partial = false}) async {
518-
if (FeatureFlags.memoryObserver.isEnabled) {
519-
await clear(partial: partial);
520-
}
517+
await clear(partial: partial);
521518
}
522519
}
523520

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import 'package:vm_service/vm_service.dart';
1414

1515
import '../../service/service_registrations.dart' as registrations;
1616
import '../../shared/diagnostics/inspector_service.dart';
17-
import '../../shared/feature_flags.dart';
1817
import '../../shared/framework/screen.dart';
1918
import '../../shared/framework/screen_controllers.dart';
2019
import '../../shared/globals.dart';
@@ -291,9 +290,7 @@ class PerformanceController extends DevToolsScreenController
291290

292291
@override
293292
FutureOr<void> releaseMemory({bool partial = false}) async {
294-
if (FeatureFlags.memoryObserver.isEnabled) {
295-
await clearData(partial: partial, clearVmTimeline: !partial);
296-
}
293+
await clearData(partial: partial, clearVmTimeline: !partial);
297294
}
298295
}
299296

packages/devtools_app/lib/src/screens/profiler/profiler_screen_controller.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:flutter/foundation.dart';
99
import 'package:vm_service/vm_service.dart';
1010

1111
import '../../shared/config_specific/logger/allowed_error.dart';
12-
import '../../shared/feature_flags.dart';
1312
import '../../shared/framework/screen.dart';
1413
import '../../shared/framework/screen_controllers.dart';
1514
import '../../shared/globals.dart';
@@ -188,9 +187,7 @@ class ProfilerScreenController extends DevToolsScreenController
188187

189188
@override
190189
FutureOr<void> releaseMemory({bool partial = false}) async {
191-
if (FeatureFlags.memoryObserver.isEnabled) {
192-
// There is no way to partially release memory for this screen.
193-
await clear();
194-
}
190+
// There is no way to partially release memory for this screen.
191+
await clear();
195192
}
196193
}

packages/devtools_app/lib/src/shared/feature_flags.dart

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,6 @@ bool get enableBeta => enableExperiments || !isExternalBuild;
4444
/// to the [_booleanFlags] or [_flutterChannelFlags] map for debugging
4545
/// purposes.
4646
extension FeatureFlags on Never {
47-
/// Flag to enable the DevTools memory observer, which attempts to help users
48-
/// avoid OOM crashes.
49-
///
50-
/// https://github.com/flutter/devtools/issues/7002
51-
static final memoryObserver = BooleanFeatureFlag(
52-
name: 'memoryObserver',
53-
enabled: true,
54-
);
55-
5647
/// Flag to enable save/load for the Memory screen.
5748
///
5849
/// https://github.com/flutter/devtools/issues/8019
@@ -125,7 +116,6 @@ extension FeatureFlags on Never {
125116
/// When adding a new boolean flag, you are responsible for adding it to this
126117
/// map as well.
127118
static final _booleanFlags = <BooleanFeatureFlag>{
128-
memoryObserver,
129119
memorySaveLoad,
130120
networkSaveLoad,
131121
devToolsExtensions,

packages/devtools_app/test/framework/observer/memory_observer_test.dart

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:async';
66

77
import 'package:devtools_app/devtools_app.dart';
88
import 'package:devtools_app/src/framework/observer/memory_observer.dart';
9-
import 'package:devtools_app/src/shared/feature_flags.dart';
109
import 'package:devtools_app/src/shared/primitives/byte_utils.dart';
1110
import 'package:devtools_app_shared/utils.dart';
1211
import 'package:devtools_test/devtools_test.dart';
@@ -36,10 +35,6 @@ void main() {
3635
return memoryUsageBytes;
3736
}
3837

39-
setUpAll(() {
40-
FeatureFlags.memoryObserver.setEnabledForTests(true);
41-
});
42-
4338
setUp(() {
4439
measurementComplete = Completer();
4540
observer = MemoryObserver(
@@ -57,10 +52,6 @@ void main() {
5752
observer.dispose();
5853
});
5954

60-
tearDownAll(() {
61-
FeatureFlags.memoryObserver.setEnabledForTests(false);
62-
});
63-
6455
test(
6556
'does not add banner message when memory limit is not reached',
6657
() async {

packages/devtools_app/test/screens/cpu_profiler/profiler_screen_controller_test.dart

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import 'package:devtools_app/devtools_app.dart';
66
import 'package:devtools_app/src/screens/profiler/cpu_profiler_controller.dart';
7-
import 'package:devtools_app/src/shared/feature_flags.dart';
87
import 'package:devtools_app_shared/utils.dart';
98
import 'package:devtools_test/devtools_test.dart';
109
import 'package:flutter_test/flutter_test.dart';
@@ -18,7 +17,6 @@ void main() {
1817
late ProfilerScreenController controller;
1918

2019
setUp(() {
21-
FeatureFlags.memoryObserver.setEnabledForTests(true);
2220
final fakeServiceConnection = FakeServiceConnectionManager(
2321
service: FakeServiceManager.createFakeService(
2422
cpuSamples: CpuSamples.parse(goldenCpuSamplesJson),
@@ -63,7 +61,6 @@ void main() {
6361
});
6462

6563
test('releaseMemory', () async {
66-
FeatureFlags.memoryObserver.setEnabledForTests(true);
6764
await controller.cpuProfilerController.loadAllSamples();
6865
expect(controller.cpuProfilerController.dataNotifier.value, isNotNull);
6966
expect(
@@ -75,7 +72,6 @@ void main() {
7572
controller.cpuProfilerController.dataNotifier.value,
7673
CpuProfilerController.baseStateCpuProfileData,
7774
);
78-
FeatureFlags.memoryObserver.setEnabledForTests(false);
7975
});
8076
});
8177
}

0 commit comments

Comments
 (0)