@alwaysmeticulous/cli 2.70.0 → 2.71.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.
|
@@ -17,18 +17,48 @@ const handler = async ({ apiToken, replayId, }) => {
|
|
|
17
17
|
const { fileName: replayMetadataFileName } = await (0, downloading_helpers_1.getOrFetchReplay)(client, replayId);
|
|
18
18
|
logger.info(`Downloaded replay metadata to: ${replayMetadataFileName}`);
|
|
19
19
|
const { fileName: replayFolderFilePath } = await (0, downloading_helpers_1.getOrFetchReplayArchive)(client, replayId);
|
|
20
|
-
// Generate logs.concise.txt
|
|
21
|
-
const logsFile = (0, path_1.join)(replayFolderFilePath, "logs.
|
|
20
|
+
// Generate logs.concise.txt and logs.determinstic.txt files
|
|
21
|
+
const logsFile = (0, path_1.join)(replayFolderFilePath, "logs.ndjson");
|
|
22
22
|
const logsFileExists = await (0, promises_1.access)(logsFile)
|
|
23
23
|
.then(() => true)
|
|
24
24
|
.catch(() => false);
|
|
25
25
|
if (logsFileExists) {
|
|
26
26
|
try {
|
|
27
|
-
const logs =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const logs = (await (0, promises_1.readFile)(logsFile, "utf8"))
|
|
28
|
+
.split("\n")
|
|
29
|
+
.filter((line) => line !== "")
|
|
30
|
+
.map((line) => JSON.parse(line));
|
|
31
|
+
let virtualTime = 0;
|
|
32
|
+
const conciseLogs = logs.map((log) => {
|
|
33
|
+
if (log.type === "virtual-time-change") {
|
|
34
|
+
virtualTime = log.virtualTime;
|
|
35
|
+
return "";
|
|
36
|
+
}
|
|
37
|
+
const commonPostfix = `${log.repetitionCount ? " [x" + log.repetitionCount + "]" : ""} ${log.message}`;
|
|
38
|
+
if (log.source === "application") {
|
|
39
|
+
return `[trace-id: ${log.stackTraceId}] [virtual: ${virtualTime}ms] [application]${commonPostfix}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return `[trace-id: ${log.stackTraceId}] [virtual: ${virtualTime}ms, real: ${log.realTime}ms]${commonPostfix}`;
|
|
43
|
+
}
|
|
30
44
|
});
|
|
31
45
|
await (0, promises_1.writeFile)((0, path_1.join)(replayFolderFilePath, "logs.concise.txt"), conciseLogs.join("\n"));
|
|
46
|
+
// Useful for diffing one set of logs against another (excludes the real timestamps, which are non-deterministic)
|
|
47
|
+
virtualTime = 0;
|
|
48
|
+
const deterministicLogs = logs.map((log) => {
|
|
49
|
+
if (log.type === "virtual-time-change") {
|
|
50
|
+
virtualTime = log.virtualTime;
|
|
51
|
+
return "";
|
|
52
|
+
}
|
|
53
|
+
const commonPostfix = `${log.repetitionCount ? " [x" + log.repetitionCount + "]" : ""} ${log.message}`;
|
|
54
|
+
if (log.source === "application") {
|
|
55
|
+
return `[virtual: ${virtualTime}ms] [application]${commonPostfix}`;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return `[virtual: ${virtualTime}ms]${commonPostfix}`;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
await (0, promises_1.writeFile)((0, path_1.join)(replayFolderFilePath, "logs.deterministic.txt"), deterministicLogs.join("\n"));
|
|
32
62
|
}
|
|
33
63
|
catch (err) {
|
|
34
64
|
logger.error("Error creating concise version of logs file", err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-replay.command.js","sourceRoot":"","sources":["../../../src/commands/download-replay/download-replay.command.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA0D;AAC1D,+BAA4B;
|
|
1
|
+
{"version":3,"file":"download-replay.command.js","sourceRoot":"","sources":["../../../src/commands/download-replay/download-replay.command.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.71.0",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,18 +24,19 @@
|
|
|
24
24
|
"cli:debug": "echo '\n\nVisit chrome://inspect in Chrome and attach the debugger\n\n' && node --inspect-brk dist/main.js",
|
|
25
25
|
"cli:dev": "ts-node src/main.ts",
|
|
26
26
|
"cli:dev-localhost": "METICULOUS_API_URL=http://localhost:3001/api/ ts-node src/main.ts",
|
|
27
|
+
"cli:dev-staging": "METICULOUS_API_URL=https://staging-backend.alb.meticulous.ai/api/ ts-node src/main.ts",
|
|
27
28
|
"test": "jest --passWithNoTests",
|
|
28
29
|
"depcheck": "depcheck --ignore-patterns=dist"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@alwaysmeticulous/api": "^2.
|
|
32
|
-
"@alwaysmeticulous/client": "^2.
|
|
33
|
-
"@alwaysmeticulous/common": "^2.
|
|
34
|
-
"@alwaysmeticulous/downloading-helpers": "^2.
|
|
35
|
-
"@alwaysmeticulous/record": "^2.
|
|
32
|
+
"@alwaysmeticulous/api": "^2.71.0",
|
|
33
|
+
"@alwaysmeticulous/client": "^2.71.0",
|
|
34
|
+
"@alwaysmeticulous/common": "^2.71.0",
|
|
35
|
+
"@alwaysmeticulous/downloading-helpers": "^2.71.0",
|
|
36
|
+
"@alwaysmeticulous/record": "^2.71.0",
|
|
36
37
|
"@alwaysmeticulous/replay-debugger-ui": "^2.46.0",
|
|
37
|
-
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.
|
|
38
|
-
"@alwaysmeticulous/sdk-bundles-api": "^2.
|
|
38
|
+
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.71.0",
|
|
39
|
+
"@alwaysmeticulous/sdk-bundles-api": "^2.71.0",
|
|
39
40
|
"@alwaysmeticulous/sentry": "^2.40.0",
|
|
40
41
|
"@sentry/node": "^7.36.0",
|
|
41
42
|
"loglevel": "^1.8.0",
|
|
@@ -79,5 +80,5 @@
|
|
|
79
80
|
"coverageDirectory": "../coverage",
|
|
80
81
|
"testEnvironment": "node"
|
|
81
82
|
},
|
|
82
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "2f17f5cb81840f0c392103d686eeaf9738cba1be"
|
|
83
84
|
}
|