Bug 1520929 - part 2 - send isWowARM64 through telemetry; r=chutten,data-review=chutten
authorNathan Froyd <froydnj@mozilla.com>
Wed, 03 Apr 2019 04:44:49 -0500
changeset 467676 67a15c8abdbc1575df8059aceb8661e60a465535
parent 467675 d49485b4f4221077442dc994c6e69b11f32ddc64
child 467677 0c6cffcbd368ff7f78436c467029925513f29719
push id35808
push useraciure@mozilla.com
push dateWed, 03 Apr 2019 20:46:05 +0000
treeherdermozilla-central@74be8815ccfc [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerschutten
bugs1520929
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1520929 - part 2 - send isWowARM64 through telemetry; r=chutten,data-review=chutten
toolkit/components/telemetry/app/TelemetryEnvironment.jsm
toolkit/components/telemetry/docs/data/environment.rst
toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
--- a/toolkit/components/telemetry/app/TelemetryEnvironment.jsm
+++ b/toolkit/components/telemetry/app/TelemetryEnvironment.jsm
@@ -1827,16 +1827,17 @@ EnvironmentCache.prototype = {
       os: this._getOSData(),
       hdd: this._getHDDData(),
       gfx: this._getGFXData(),
       appleModelId: getSysinfoProperty("appleModelId", null),
     };
 
     if (AppConstants.platform === "win") {
       data.isWow64 = getSysinfoProperty("isWow64", null);
+      data.isWowARM64 = getSysinfoProperty("isWowARM64", null);
     } else if (AppConstants.platform == "android") {
       data.device = this._getDeviceData();
     }
 
     // Windows 8+
     if (AppConstants.isPlatformAndVersionAtLeast("win", "6.2")) {
       data.sec = this._getSecurityAppData();
     }
--- a/toolkit/components/telemetry/docs/data/environment.rst
+++ b/toolkit/components/telemetry/docs/data/environment.rst
@@ -94,16 +94,17 @@ Structure:
         partnerNames: [
           // list from prefs app.partner.<name>=<name>
         ],
       },
       system: {
         memoryMB: <number>,
         virtualMaxMB: <number>, // windows-only
         isWow64: <bool>, // windows-only
+	isWowARM64: <bool>, // windows-only
         cpu: {
             count: <number>,  // desktop only, e.g. 8, or null on failure - logical cpus
             cores: <number>, // desktop only, e.g., 4, or null on failure - physical cores
             vendor: <string>, // desktop only, e.g. "GenuineIntel", or null on failure
             family: <number>, // desktop only, null on failure
             model: <number, // desktop only, null on failure
             stepping: <number>, // desktop only, null on failure
             l2cacheKB: <number>, // L2 cache size in KB, only on windows & mac
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
@@ -543,16 +543,18 @@ function checkSystemSection(data) {
       // Note this is testing TelemetryEnvironment.js only, not that the
       // values are valid - null is the fallback.
       Assert.ok(f in data.system.cpu, f + " must be available under cpu.");
     }
 
     if (gIsWindows) {
       Assert.equal(typeof data.system.isWow64, "boolean",
              "isWow64 must be available on Windows and have the correct type.");
+      Assert.equal(typeof data.system.isWowARM64, "boolean",
+             "isWowARM64 must be available on Windows and have the correct type.");
       Assert.ok("virtualMaxMB" in data.system, "virtualMaxMB must be available.");
       Assert.ok(Number.isFinite(data.system.virtualMaxMB),
                 "virtualMaxMB must be a number.");
     }
 
     // We insist these are available
     for (let f of ["cores"]) {
       Assert.ok(!(f in data.system.cpu) ||