Skip to content

Commit d5b6703

Browse files
authored
Unified analytics migration for CodeSizeAnalysis (#138351)
Part of tracker issue: - flutter/flutter#128251 This migrates the event being sent when the "--analyze-size" is used in a flutter invocation The only file that had this event being sent from is `packages/flutter_tools/lib/src/base/analyze_size.dart`
1 parent 4499086 commit d5b6703

8 files changed

Lines changed: 20 additions & 0 deletions

File tree

packages/flutter_tools/lib/src/android/gradle.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,7 @@ class AndroidGradleBuilder implements AndroidBuilder {
608608
fileSystem: _fileSystem,
609609
logger: _logger,
610610
flutterUsage: _usage,
611+
analytics: _analytics,
611612
);
612613
final String archName = androidBuildInfo.targetArchs.single.archName;
613614
final BuildInfo buildInfo = androidBuildInfo.buildInfo;

packages/flutter_tools/lib/src/base/analyze_size.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'package:archive/archive.dart';
66
import 'package:archive/archive_io.dart';
77
import 'package:meta/meta.dart';
8+
import 'package:unified_analytics/unified_analytics.dart';
89
import 'package:vm_snapshot_analysis/treemap.dart';
910

1011
import '../convert.dart';
@@ -20,8 +21,10 @@ class SizeAnalyzer {
2021
required FileSystem fileSystem,
2122
required Logger logger,
2223
required Usage flutterUsage,
24+
required Analytics analytics,
2325
Pattern appFilenamePattern = 'libapp.so',
2426
}) : _flutterUsage = flutterUsage,
27+
_analytics = analytics,
2528
_fileSystem = fileSystem,
2629
_logger = logger,
2730
_appFilenamePattern = appFilenamePattern;
@@ -30,6 +33,7 @@ class SizeAnalyzer {
3033
final Logger _logger;
3134
final Pattern _appFilenamePattern;
3235
final Usage _flutterUsage;
36+
final Analytics _analytics;
3337
String? _appFilename;
3438

3539
static const String aotSnapshotFileName = 'aot-snapshot.json';
@@ -88,6 +92,7 @@ class SizeAnalyzer {
8892

8993
assert(_appFilename != null);
9094
CodeSizeEvent(type, flutterUsage: _flutterUsage).send();
95+
_analytics.send(Event.codeSizeAnalysis(platform: type));
9196
return apkAnalysisJson;
9297
}
9398

@@ -141,6 +146,7 @@ class SizeAnalyzer {
141146
precompilerTrace: json.decode(precompilerTrace.readAsStringSync()) as Map<String, Object?>? ?? <String, Object?>{},
142147
);
143148
CodeSizeEvent(kind, flutterUsage: _flutterUsage).send();
149+
_analytics.send(Event.codeSizeAnalysis(platform: kind));
144150
return apkAnalysisJson;
145151
}
146152

packages/flutter_tools/lib/src/commands/build_ios.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,7 @@ abstract class _BuildIOSSubCommand extends BuildSubCommand {
680680
fileSystem: globals.fs,
681681
logger: globals.logger,
682682
flutterUsage: globals.flutterUsage,
683+
analytics: analytics,
683684
appFilenamePattern: 'App'
684685
);
685686
// Only support 64bit iOS code size analysis.

packages/flutter_tools/lib/src/commands/build_linux.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class BuildLinuxCommand extends BuildSubCommand {
9494
fileSystem: globals.fs,
9595
logger: logger,
9696
flutterUsage: globals.flutterUsage,
97+
analytics: analytics,
9798
),
9899
needCrossBuild: needCrossBuild,
99100
targetPlatform: targetPlatform,

packages/flutter_tools/lib/src/commands/build_macos.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class BuildMacosCommand extends BuildSubCommand {
7070
logger: globals.logger,
7171
appFilenamePattern: 'App',
7272
flutterUsage: globals.flutterUsage,
73+
analytics: analytics,
7374
),
7475
);
7576
return FlutterCommandResult.success();

packages/flutter_tools/lib/src/commands/build_windows.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class BuildWindowsCommand extends BuildSubCommand {
6363
logger: globals.logger,
6464
appFilenamePattern: 'app.so',
6565
flutterUsage: globals.flutterUsage,
66+
analytics: analytics,
6667
),
6768
);
6869
return FlutterCommandResult.success();

packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,13 +543,17 @@ void main() {
543543
expect(usage.events, contains(
544544
const TestUsageEvent('code-size-analysis', 'ios'),
545545
));
546+
expect(fakeAnalytics.sentEvents, contains(
547+
Event.codeSizeAnalysis(platform: 'ios')
548+
));
546549
}, overrides: <Type, Generator>{
547550
FileSystem: () => fileSystem,
548551
Logger: () => logger,
549552
ProcessManager: () => processManager,
550553
Platform: () => macosPlatform,
551554
FileSystemUtils: () => FileSystemUtils(fileSystem: fileSystem, platform: macosPlatform),
552555
Usage: () => usage,
556+
Analytics: () => fakeAnalytics,
553557
XcodeProjectInterpreter: () => FakeXcodeProjectInterpreterWithBuildSettings(),
554558
});
555559

packages/flutter_tools/test/general.shard/base/analyze_size_test.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:flutter_tools/src/base/analyze_size.dart';
88
import 'package:flutter_tools/src/base/file_system.dart';
99
import 'package:flutter_tools/src/base/logger.dart';
1010
import 'package:flutter_tools/src/reporting/reporting.dart';
11+
import 'package:unified_analytics/unified_analytics.dart';
1112

1213
import '../../src/common.dart';
1314

@@ -66,6 +67,7 @@ void main() {
6667
logger: logger,
6768
appFilenamePattern: RegExp(r'lib.*app\.so'),
6869
flutterUsage: TestUsage(),
70+
analytics: NoOpAnalytics(),
6971
);
7072

7173
final Archive archive = Archive()
@@ -150,6 +152,7 @@ void main() {
150152
logger: logger,
151153
appFilenamePattern: RegExp(r'lib.*app\.so'),
152154
flutterUsage: TestUsage(),
155+
analytics: NoOpAnalytics(),
153156
);
154157

155158
final Archive archive = Archive()
@@ -192,6 +195,7 @@ void main() {
192195
logger: logger,
193196
appFilenamePattern: RegExp(r'lib.*app\.so'),
194197
flutterUsage: TestUsage(),
198+
analytics: NoOpAnalytics(),
195199
);
196200

197201
final Directory outputDirectory = fileSystem.directory('example/out/foo.app')
@@ -235,6 +239,7 @@ void main() {
235239
logger: logger,
236240
appFilenamePattern: RegExp(r'lib.*app\.so'),
237241
flutterUsage: TestUsage(),
242+
analytics: NoOpAnalytics(),
238243
);
239244

240245
final Directory outputDirectory = fileSystem.directory('example/out/foo.app')..createSync(recursive: true);

0 commit comments

Comments
 (0)