@salesforce/plugin-telemetry 2.3.7 → 2.3.9-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/commandExecution.js +25 -16
- package/lib/commandExecution.js.map +1 -1
- package/lib/commands/telemetry.js +8 -11
- package/lib/commands/telemetry.js.map +1 -1
- package/lib/debugger.d.ts +2 -3
- package/lib/debugger.js +2 -8
- package/lib/debugger.js.map +1 -1
- package/lib/hooks/telemetryPrerun.js +24 -44
- package/lib/hooks/telemetryPrerun.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -17
- package/lib/index.js.map +1 -1
- package/lib/telemetry.js +55 -53
- package/lib/telemetry.js.map +1 -1
- package/lib/telemetryGlobal.d.ts +1 -1
- package/lib/telemetryGlobal.js +1 -2
- package/lib/telemetryGlobal.js.map +1 -1
- package/lib/uploader.d.ts +2 -1
- package/lib/uploader.js +22 -23
- package/lib/uploader.js.map +1 -1
- package/oclif.lock +8476 -0
- package/oclif.manifest.json +26 -12
- package/package.json +30 -26
- package/processes/upload.js +21 -0
- package/processes/upload +0 -13
package/lib/telemetry.js
CHANGED
|
@@ -1,25 +1,43 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
import cp from 'node:child_process';
|
|
8
|
+
import { randomBytes } from 'node:crypto';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import { dirname } from 'node:path';
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
import { EOL, tmpdir } from 'node:os';
|
|
13
|
+
import { join } from 'node:path';
|
|
14
|
+
import { AsyncCreatable, env } from '@salesforce/kit';
|
|
15
|
+
import { isBoolean, isNumber, isString } from '@salesforce/ts-types';
|
|
16
|
+
import { debug } from './debugger.js';
|
|
17
17
|
const CLI_ID_FILE_NAME = 'CLIID.txt';
|
|
18
18
|
const USAGE_ACKNOWLEDGEMENT_FILE_NAME = 'acknowledgedUsageCollection.json';
|
|
19
|
-
class Telemetry extends
|
|
19
|
+
export default class Telemetry extends AsyncCreatable {
|
|
20
|
+
/**
|
|
21
|
+
* The name of event telemetry type.
|
|
22
|
+
*/
|
|
23
|
+
static EVENT = 'EVENT';
|
|
24
|
+
/**
|
|
25
|
+
* The name of exception telemetry type.
|
|
26
|
+
*/
|
|
27
|
+
static EXCEPTION = 'EXCEPTION';
|
|
28
|
+
/**
|
|
29
|
+
* The temporary directory where telemetry log files are stored.
|
|
30
|
+
*/
|
|
31
|
+
static tmpDir = env.getString('SF_TELEMETRY_PATH', join(tmpdir(), 'sf-telemetry'));
|
|
32
|
+
static cacheDir;
|
|
33
|
+
static executable = 'sfdx';
|
|
34
|
+
static telemetryTmpFile = join(Telemetry.tmpDir, `telemetry-${Telemetry.generateRandomId()}.log`);
|
|
35
|
+
static acknowledged = false;
|
|
36
|
+
firstRun = false;
|
|
37
|
+
fileDescriptor;
|
|
38
|
+
cliId;
|
|
20
39
|
constructor(options) {
|
|
21
40
|
super(options);
|
|
22
|
-
this.firstRun = false;
|
|
23
41
|
if (options.cacheDir && !Telemetry.cacheDir) {
|
|
24
42
|
Telemetry.cacheDir = options.cacheDir;
|
|
25
43
|
}
|
|
@@ -40,28 +58,28 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
40
58
|
return;
|
|
41
59
|
}
|
|
42
60
|
if (!Telemetry.cacheDir) {
|
|
43
|
-
|
|
61
|
+
debug('Unable to check acknowledgment path because Telemetry.cacheDir is not set yet');
|
|
44
62
|
return;
|
|
45
63
|
}
|
|
46
|
-
const acknowledgementFilePath =
|
|
64
|
+
const acknowledgementFilePath = join(Telemetry.cacheDir, USAGE_ACKNOWLEDGEMENT_FILE_NAME);
|
|
47
65
|
try {
|
|
48
66
|
await fs.promises.access(acknowledgementFilePath, fs.constants.R_OK);
|
|
49
|
-
|
|
67
|
+
debug('Usage acknowledgement file already exists');
|
|
50
68
|
}
|
|
51
69
|
catch (error) {
|
|
52
70
|
const err = error;
|
|
53
71
|
if (err.code === 'ENOENT') {
|
|
54
|
-
if (!
|
|
72
|
+
if (!env.getBoolean('SF_TELEMETRY_DISABLE_ACKNOWLEDGEMENT', false)) {
|
|
55
73
|
// eslint-disable-next-line no-console
|
|
56
|
-
console.warn(`You acknowledge and agree that the CLI tool may collect usage information, user environment, and crash reports for the purposes of providing services or functions that are relevant to use of the CLI tool and product improvements.${
|
|
74
|
+
console.warn(`You acknowledge and agree that the CLI tool may collect usage information, user environment, and crash reports for the purposes of providing services or functions that are relevant to use of the CLI tool and product improvements.${EOL}`);
|
|
57
75
|
}
|
|
58
76
|
Telemetry.acknowledged = true;
|
|
59
77
|
await fs.promises.mkdir(Telemetry.cacheDir, { recursive: true });
|
|
60
78
|
await fs.promises.writeFile(acknowledgementFilePath, JSON.stringify({ acknowledged: true }));
|
|
61
|
-
|
|
79
|
+
debug('Wrote usage acknowledgement file', acknowledgementFilePath);
|
|
62
80
|
}
|
|
63
81
|
else {
|
|
64
|
-
|
|
82
|
+
debug('Could not access', acknowledgementFilePath, 'DUE TO:', err.code, err.message);
|
|
65
83
|
}
|
|
66
84
|
}
|
|
67
85
|
}
|
|
@@ -136,7 +154,7 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
136
154
|
}
|
|
137
155
|
}
|
|
138
156
|
static generateRandomId() {
|
|
139
|
-
return
|
|
157
|
+
return randomBytes(20).toString('hex');
|
|
140
158
|
}
|
|
141
159
|
// eslint-disable-next-line class-methods-use-this
|
|
142
160
|
getTelemetryFilePath() {
|
|
@@ -145,12 +163,12 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
145
163
|
getCLIId() {
|
|
146
164
|
if (this.cliId)
|
|
147
165
|
return this.cliId;
|
|
148
|
-
const cliIdPath =
|
|
166
|
+
const cliIdPath = join(Telemetry.cacheDir, CLI_ID_FILE_NAME);
|
|
149
167
|
try {
|
|
150
168
|
this.cliId = fs.readFileSync(cliIdPath, 'utf8');
|
|
151
169
|
}
|
|
152
170
|
catch (err) {
|
|
153
|
-
|
|
171
|
+
debug('Unique CLI ID not found, generating and writing new ID to ', cliIdPath);
|
|
154
172
|
this.cliId = Telemetry.generateRandomId();
|
|
155
173
|
fs.writeFileSync(cliIdPath, this.cliId, 'utf8');
|
|
156
174
|
// If there is not a unique ID for this CLI, consider it a first run.
|
|
@@ -167,7 +185,7 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
167
185
|
const dataToRecord = Object.keys(data).reduce((map, key) => {
|
|
168
186
|
const value = data[key];
|
|
169
187
|
const isException = data.type === Telemetry.EXCEPTION && key === 'error';
|
|
170
|
-
const validType =
|
|
188
|
+
const validType = isString(value) || isBoolean(value) || isNumber(value);
|
|
171
189
|
if (isException || validType) {
|
|
172
190
|
map[key] = value;
|
|
173
191
|
}
|
|
@@ -188,18 +206,18 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
188
206
|
// Replace HOME for GDPR.
|
|
189
207
|
dataToRecord.requestorLocation = locations[1].replace(process.env.HOME ?? '', '');
|
|
190
208
|
}
|
|
191
|
-
|
|
209
|
+
debug('Missing event name!');
|
|
192
210
|
}
|
|
193
211
|
// Unique to this CLI installation
|
|
194
212
|
dataToRecord.cliId = this.getCLIId();
|
|
195
213
|
dataToRecord.ci = Telemetry.guessCISystem();
|
|
196
214
|
dataToRecord.executable = Telemetry.executable;
|
|
197
215
|
try {
|
|
198
|
-
fs.writeSync(this.fileDescriptor, JSON.stringify(dataToRecord) +
|
|
216
|
+
fs.writeSync(this.fileDescriptor, JSON.stringify(dataToRecord) + EOL);
|
|
199
217
|
}
|
|
200
218
|
catch (err) {
|
|
201
219
|
const error = err;
|
|
202
|
-
|
|
220
|
+
debug(`Error saving telemetry line to file: ${error.message}`);
|
|
203
221
|
}
|
|
204
222
|
}
|
|
205
223
|
recordError(error, data) {
|
|
@@ -215,40 +233,40 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
215
233
|
this.record(data);
|
|
216
234
|
}
|
|
217
235
|
async clear() {
|
|
218
|
-
|
|
236
|
+
debug('Deleting the log file', this.getTelemetryFilePath());
|
|
219
237
|
await fs.promises.unlink(this.getTelemetryFilePath());
|
|
220
238
|
}
|
|
221
239
|
async read() {
|
|
222
240
|
try {
|
|
223
|
-
|
|
241
|
+
debug(`Reading ${this.getTelemetryFilePath()}`);
|
|
224
242
|
const data = await fs.promises.readFile(this.getTelemetryFilePath(), 'utf8');
|
|
225
243
|
return data
|
|
226
|
-
.split(
|
|
244
|
+
.split(EOL)
|
|
227
245
|
.filter((line) => !!line)
|
|
228
246
|
.map((line) => JSON.parse(line));
|
|
229
247
|
}
|
|
230
248
|
catch (error) {
|
|
231
249
|
const err = error;
|
|
232
|
-
|
|
250
|
+
debug(`Error reading: ${err.message}`);
|
|
233
251
|
// If anything goes wrong, it just means a couple of lost telemetry events.
|
|
234
252
|
return [];
|
|
235
253
|
}
|
|
236
254
|
}
|
|
237
255
|
upload() {
|
|
238
256
|
// Completely disconnect from this process so it doesn't wait for telemetry to upload
|
|
239
|
-
const processPath = (
|
|
240
|
-
const telemetryDebug =
|
|
257
|
+
const processPath = join(dirname(fileURLToPath(import.meta.url)), '..', 'processes', 'upload.js');
|
|
258
|
+
const telemetryDebug = env.getBoolean('SF_TELEMETRY_DEBUG', false);
|
|
241
259
|
const nodePath = process.argv[0];
|
|
242
260
|
// Don't spawn if we are in telemetry debug. This allows us to run the process manually with --inspect-brk.
|
|
243
261
|
if (!telemetryDebug) {
|
|
244
|
-
|
|
245
|
-
|
|
262
|
+
debug(`Spawning "${nodePath} ${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}"`);
|
|
263
|
+
cp.spawn(nodePath, [processPath, Telemetry.cacheDir, this.getTelemetryFilePath()], {
|
|
246
264
|
detached: true,
|
|
247
265
|
stdio: 'ignore',
|
|
248
266
|
}).unref();
|
|
249
267
|
}
|
|
250
268
|
else {
|
|
251
|
-
|
|
269
|
+
debug(`DEBUG MODE. Run the uploader manually with the following command:${EOL}${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}`);
|
|
252
270
|
}
|
|
253
271
|
}
|
|
254
272
|
async init() {
|
|
@@ -261,29 +279,13 @@ class Telemetry extends kit_1.AsyncCreatable {
|
|
|
261
279
|
catch (error) {
|
|
262
280
|
const err = error;
|
|
263
281
|
if (err.code === 'ENOENT') {
|
|
264
|
-
|
|
282
|
+
debug('Telemetry temp dir does not exist, creating...');
|
|
265
283
|
await fs.promises.mkdir(Telemetry.tmpDir, { recursive: true });
|
|
266
284
|
}
|
|
267
285
|
}
|
|
268
286
|
// Create a file descriptor to be used
|
|
269
287
|
this.fileDescriptor = fs.openSync(this.getTelemetryFilePath(), 'a');
|
|
270
|
-
|
|
288
|
+
debug(`Using telemetry logging file ${this.getTelemetryFilePath()}`);
|
|
271
289
|
}
|
|
272
290
|
}
|
|
273
|
-
exports.default = Telemetry;
|
|
274
|
-
/**
|
|
275
|
-
* The name of event telemetry type.
|
|
276
|
-
*/
|
|
277
|
-
Telemetry.EVENT = 'EVENT';
|
|
278
|
-
/**
|
|
279
|
-
* The name of exception telemetry type.
|
|
280
|
-
*/
|
|
281
|
-
Telemetry.EXCEPTION = 'EXCEPTION';
|
|
282
|
-
/**
|
|
283
|
-
* The temporary directory where telemetry log files are stored.
|
|
284
|
-
*/
|
|
285
|
-
Telemetry.tmpDir = kit_1.env.getString('SF_TELEMETRY_PATH', (0, path_1.join)((0, os_1.tmpdir)(), 'sf-telemetry'));
|
|
286
|
-
Telemetry.executable = 'sfdx';
|
|
287
|
-
Telemetry.telemetryTmpFile = (0, path_1.join)(Telemetry.tmpDir, `telemetry-${Telemetry.generateRandomId()}.log`);
|
|
288
|
-
Telemetry.acknowledged = false;
|
|
289
291
|
//# sourceMappingURL=telemetry.js.map
|
package/lib/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/lib/telemetryGlobal.d.ts
CHANGED
package/lib/telemetryGlobal.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
7
|
+
export {};
|
|
9
8
|
//# sourceMappingURL=telemetryGlobal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetryGlobal.js","sourceRoot":"","sources":["../src/telemetryGlobal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetryGlobal.js","sourceRoot":"","sources":["../src/telemetryGlobal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/lib/uploader.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export declare class Uploader {
|
|
2
2
|
private telemetry;
|
|
3
|
+
private version;
|
|
3
4
|
private constructor();
|
|
4
5
|
/**
|
|
5
6
|
* Sends events from telemetry.
|
|
6
7
|
*/
|
|
7
|
-
static upload(cacheDir: string, telemetryFilePath: string): Promise<void>;
|
|
8
|
+
static upload(cacheDir: string, telemetryFilePath: string, version: string): Promise<void>;
|
|
8
9
|
/**
|
|
9
10
|
* Reads the telemetry events from file and sends them to the telemetry service.
|
|
10
11
|
*/
|
package/lib/uploader.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const telemetry_1 = require("./telemetry");
|
|
12
|
-
const debugger_1 = require("./debugger");
|
|
7
|
+
import { asString } from '@salesforce/ts-types';
|
|
8
|
+
import Telemetry from './telemetry.js';
|
|
9
|
+
import { debug } from './debugger.js';
|
|
13
10
|
const PROJECT = 'salesforce-cli';
|
|
14
11
|
const APP_INSIGHTS_KEY = '2ca64abb-6123-4c7b-bd9e-4fe73e71fe9c';
|
|
15
|
-
class Uploader {
|
|
16
|
-
|
|
12
|
+
export class Uploader {
|
|
13
|
+
telemetry;
|
|
14
|
+
version;
|
|
15
|
+
constructor(telemetry, version) {
|
|
17
16
|
this.telemetry = telemetry;
|
|
17
|
+
this.version = version;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Sends events from telemetry.
|
|
21
21
|
*/
|
|
22
|
-
static async upload(cacheDir, telemetryFilePath) {
|
|
23
|
-
const telemetry = (global.cliTelemetry = await
|
|
24
|
-
const uploader = new Uploader(telemetry);
|
|
22
|
+
static async upload(cacheDir, telemetryFilePath, version) {
|
|
23
|
+
const telemetry = (global.cliTelemetry = await Telemetry.create({ cacheDir, telemetryFilePath }));
|
|
24
|
+
const uploader = new Uploader(telemetry, version);
|
|
25
25
|
await uploader.sendToTelemetry();
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
@@ -40,7 +40,7 @@ class Uploader {
|
|
|
40
40
|
}
|
|
41
41
|
catch (err) {
|
|
42
42
|
const error = err;
|
|
43
|
-
|
|
43
|
+
debug(`Error creating reporter: ${error.message}`);
|
|
44
44
|
// We can't do much without a reporter, so clear the telemetry file and move on.
|
|
45
45
|
await this.telemetry.clear();
|
|
46
46
|
return;
|
|
@@ -48,30 +48,30 @@ class Uploader {
|
|
|
48
48
|
try {
|
|
49
49
|
const events = await this.telemetry.read();
|
|
50
50
|
for (const event of events) {
|
|
51
|
-
event.telemetryVersion =
|
|
52
|
-
const eventType =
|
|
53
|
-
const eventName =
|
|
51
|
+
event.telemetryVersion = this.version;
|
|
52
|
+
const eventType = asString(event.type) ?? Telemetry.EVENT;
|
|
53
|
+
const eventName = asString(event.eventName) ?? 'UNKNOWN';
|
|
54
54
|
delete event.type;
|
|
55
55
|
delete event.eventName;
|
|
56
|
-
if (eventType ===
|
|
56
|
+
if (eventType === Telemetry.EVENT) {
|
|
57
57
|
reporter.sendTelemetryEvent(eventName, event);
|
|
58
58
|
}
|
|
59
|
-
else if (eventType ===
|
|
59
|
+
else if (eventType === Telemetry.EXCEPTION) {
|
|
60
60
|
const error = new Error();
|
|
61
61
|
// We know this is an object because it is logged as such
|
|
62
62
|
const errorObject = event.error;
|
|
63
63
|
delete event.error;
|
|
64
64
|
Object.assign(error, errorObject);
|
|
65
|
-
error.name =
|
|
66
|
-
error.message =
|
|
67
|
-
error.stack =
|
|
65
|
+
error.name = asString(errorObject.name) ?? 'Unknown';
|
|
66
|
+
error.message = asString(errorObject.message) ?? 'Unknown';
|
|
67
|
+
error.stack = asString(errorObject.stack) ?? 'Unknown';
|
|
68
68
|
reporter.sendTelemetryException(error, event);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
catch (err) {
|
|
73
73
|
const error = err;
|
|
74
|
-
|
|
74
|
+
debug(`Error reading or sending telemetry events: ${error.message}`);
|
|
75
75
|
}
|
|
76
76
|
finally {
|
|
77
77
|
try {
|
|
@@ -80,7 +80,7 @@ class Uploader {
|
|
|
80
80
|
}
|
|
81
81
|
catch (err) {
|
|
82
82
|
const error = err;
|
|
83
|
-
|
|
83
|
+
debug(`Error stopping telemetry reporter: ${error.message}`);
|
|
84
84
|
}
|
|
85
85
|
finally {
|
|
86
86
|
// We always want to clear the file.
|
|
@@ -89,5 +89,4 @@ class Uploader {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
exports.Uploader = Uploader;
|
|
93
92
|
//# sourceMappingURL=uploader.js.map
|
package/lib/uploader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
|