Skip to content

Commit 5547177

Browse files
hanslalexeagle
authored andcommitted
refactor: use dimensions for some values instead of metrics
This is after a discussion with someone internal. Metrics are good for sums but not for comparisons and search/filtering.
1 parent 00fb4ce commit 5547177

File tree

8 files changed

+23
-25
lines changed

8 files changed

+23
-25
lines changed

packages/angular/cli/commands/definitions.json

+3-6
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,13 @@
4242
"type": "boolean",
4343
"default": false,
4444
"aliases": [ "d" ],
45-
"description": "When true, runs through and reports activity without writing out results.",
46-
"x-user-analytics": 1
45+
"description": "When true, runs through and reports activity without writing out results."
4746
},
4847
"force": {
4948
"type": "boolean",
5049
"default": false,
5150
"aliases": [ "f" ],
52-
"description": "When true, forces overwriting of existing files.",
53-
"x-user-analytics": 2
51+
"description": "When true, forces overwriting of existing files."
5452
}
5553
}
5654
},
@@ -59,8 +57,7 @@
5957
"interactive": {
6058
"type": "boolean",
6159
"default": "true",
62-
"description": "When false, disables interactive input prompts.",
63-
"x-user-analytics": 3
60+
"description": "When false, disables interactive input prompts."
6461
},
6562
"defaults": {
6663
"type": "boolean",

packages/angular/cli/models/analytics.ts

+7-5
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ export class UniversalAnalytics implements analytics.Analytics {
242242
private _ua: ua.Visitor;
243243
private _dirty = false;
244244
private _metrics: (string | number)[] = [];
245+
private _dimensions: (string | number)[] = [];
245246

246247
/**
247248
* @param trackingId The Google Analytics ID.
@@ -267,10 +268,10 @@ export class UniversalAnalytics implements analytics.Analytics {
267268
this._ua.set('aid', _getNodeVersion());
268269

269270
// We set custom metrics for values we care about.
270-
this._metrics[analytics.NgCliAnalyticsMetrics.CpuCount] = _getCpuCount();
271-
this._metrics[analytics.NgCliAnalyticsMetrics.CpuSpeed] = _getCpuSpeed();
272-
this._metrics[analytics.NgCliAnalyticsMetrics.RamInMegabytes] = _getRamSize();
273-
this._metrics[analytics.NgCliAnalyticsMetrics.NodeVersion] = _getNumericNodeVersion();
271+
this._dimensions[analytics.NgCliAnalyticsDimensions.CpuCount] = _getCpuCount();
272+
this._dimensions[analytics.NgCliAnalyticsDimensions.CpuSpeed] = _getCpuSpeed();
273+
this._dimensions[analytics.NgCliAnalyticsDimensions.RamInMegabytes] = _getRamSize();
274+
this._dimensions[analytics.NgCliAnalyticsDimensions.NodeVersion] = _getNumericNodeVersion();
274275
}
275276

276277
/**
@@ -279,8 +280,9 @@ export class UniversalAnalytics implements analytics.Analytics {
279280
*/
280281
private _customVariables(options: analytics.CustomDimensionsAndMetricsOptions) {
281282
const additionals: { [key: string]: boolean | number | string } = {};
282-
this._metrics.forEach((v, i) => additionals['cm' + i] = v);
283+
this._dimensions.forEach((v, i) => additionals['cd' + i] = v);
283284
(options.dimensions || []).forEach((v, i) => additionals['cd' + i] = v);
285+
this._metrics.forEach((v, i) => additionals['cm' + i] = v);
284286
(options.metrics || []).forEach((v, i) => additionals['cm' + i] = v);
285287

286288
return additionals;

packages/angular_devkit/core/src/analytics/index.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,20 @@ export * from './noop';
1717
* WE LIST THOSE DIMENSIONS (AND MORE).
1818
*/
1919
export enum NgCliAnalyticsDimensions {
20+
CpuCount = 1,
21+
CpuSpeed = 2,
22+
RamInMegabytes = 3,
23+
NodeVersion = 4,
2024
NgAddCollection = 6,
2125
NgBuildBuildEventLog = 7,
2226
BuildErrors = 20,
2327
}
2428

2529
export enum NgCliAnalyticsMetrics {
26-
CpuCount = 1,
27-
CpuSpeed = 2,
28-
RamInMegabytes = 3,
29-
NodeVersion = 4,
30+
UNUSED_1 = 1,
31+
UNUSED_2 = 2,
32+
UNUSED_3 = 3,
33+
UNUSED_4 = 4,
3034
BuildTime = 5,
3135
NgOnInitCount = 6,
3236
InitialChunkSize = 7,

packages/schematics/angular/application/schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,7 @@
9292
"skipInstall": {
9393
"description": "Skip installing dependency packages.",
9494
"type": "boolean",
95-
"default": false,
96-
"x-user-analytics": 4
95+
"default": false
9796
},
9897
"lintFix": {
9998
"type": "boolean",

packages/schematics/angular/library/schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@
3737
"skipInstall": {
3838
"description": "When true, does not install dependency packages.",
3939
"type": "boolean",
40-
"default": false,
41-
"x-user-analytics": 4
40+
"default": false
4241
},
4342
"skipTsConfig": {
4443
"type": "boolean",

packages/schematics/angular/ng-new/schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
"skipInstall": {
2727
"description": "When true, does not install dependency packages.",
2828
"type": "boolean",
29-
"default": false,
30-
"x-user-analytics": 4
29+
"default": false
3130
},
3231
"linkCli": {
3332
"description": "When true, links the CLI to the global version (internal development only).",

packages/schematics/angular/universal/schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@
5757
"skipInstall": {
5858
"description": "When true, does not install packages for dependencies.",
5959
"type": "boolean",
60-
"default": false,
61-
"x-user-analytics": 4
60+
"default": false
6261
}
6362
},
6463
"required": [

packages/schematics/angular/workspace/schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
"skipInstall": {
2222
"description": "When true, does not install packages for dependencies.",
2323
"type": "boolean",
24-
"default": false,
25-
"x-user-analytics": 4
24+
"default": false
2625
},
2726
"linkCli": {
2827
"description": "When true, links the CLI to the global version (internal development only).",

0 commit comments

Comments
 (0)