@openrewrite/rewrite 8.81.15 → 8.81.17
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/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/server.js +20 -4
- package/dist/rpc/server.js.map +1 -1
- package/package.json +1 -1
- package/src/rpc/server.ts +20 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
8.81.
|
|
1
|
+
8.81.17
|
package/dist/rpc/server.js
CHANGED
|
@@ -64,9 +64,12 @@ require("../javascript");
|
|
|
64
64
|
// Not possible to set the stack size when executing from npx for security reasons
|
|
65
65
|
require('v8').setFlagsFromString('--stack-size=8000');
|
|
66
66
|
function initPyroscope(logger) {
|
|
67
|
-
|
|
67
|
+
// Strip trailing slashes: the SDK builds the ingest URL as `${serverAddress}/ingest`,
|
|
68
|
+
// so a trailing slash produces `//ingest`, which the server normalizes via redirect —
|
|
69
|
+
// and undici downgrades the redirected POST to a GET, silently dropping all profiles.
|
|
70
|
+
const server = (process.env.PYROSCOPE_SERVER_ADDRESS || '').replace(/\/+$/, '');
|
|
68
71
|
if (!server) {
|
|
69
|
-
return;
|
|
72
|
+
return undefined;
|
|
70
73
|
}
|
|
71
74
|
let Pyroscope;
|
|
72
75
|
try {
|
|
@@ -74,7 +77,7 @@ function initPyroscope(logger) {
|
|
|
74
77
|
}
|
|
75
78
|
catch (_a) {
|
|
76
79
|
logger.warn('PYROSCOPE_SERVER_ADDRESS set but @pyroscope/nodejs not installed; profiling disabled');
|
|
77
|
-
return;
|
|
80
|
+
return undefined;
|
|
78
81
|
}
|
|
79
82
|
const tags = { runtime: 'node' };
|
|
80
83
|
for (const pair of (process.env.PYROSCOPE_TAGS || '').split(',')) {
|
|
@@ -87,8 +90,12 @@ function initPyroscope(logger) {
|
|
|
87
90
|
appName: process.env.PYROSCOPE_APPLICATION_NAME || 'modcli',
|
|
88
91
|
serverAddress: server,
|
|
89
92
|
tags,
|
|
93
|
+
wall: {
|
|
94
|
+
collectCpuTime: true,
|
|
95
|
+
},
|
|
90
96
|
});
|
|
91
97
|
Pyroscope.start();
|
|
98
|
+
return Pyroscope;
|
|
92
99
|
}
|
|
93
100
|
async function main() {
|
|
94
101
|
const program = new commander_1.Command();
|
|
@@ -116,12 +123,21 @@ async function main() {
|
|
|
116
123
|
// the host JVM is killed, our stdin closes, vscode-jsonrpc fires onClose,
|
|
117
124
|
// and we exit. Without it, Pyroscope (or any other ref-holder) can keep
|
|
118
125
|
// the event loop alive and orphan this process.
|
|
126
|
+
let pyroscope;
|
|
119
127
|
let shuttingDown = false;
|
|
120
128
|
const shutdown = async () => {
|
|
121
129
|
if (shuttingDown)
|
|
122
130
|
return;
|
|
123
131
|
shuttingDown = true;
|
|
124
132
|
try {
|
|
133
|
+
if (pyroscope) {
|
|
134
|
+
try {
|
|
135
|
+
await pyroscope.stop();
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
// best-effort flush; nothing to do if it fails during shutdown
|
|
139
|
+
}
|
|
140
|
+
}
|
|
125
141
|
if (recipeCleanup) {
|
|
126
142
|
await recipeCleanup();
|
|
127
143
|
}
|
|
@@ -142,7 +158,7 @@ async function main() {
|
|
|
142
158
|
// because the Tracer type has a log method on it that matches this signature.
|
|
143
159
|
log: (msg) => log && options.traceRpcMessages && log.write(`[js trace] ${msg}\n`)
|
|
144
160
|
};
|
|
145
|
-
initPyroscope(logger);
|
|
161
|
+
pyroscope = initPyroscope(logger);
|
|
146
162
|
// Create the connection with the custom logger
|
|
147
163
|
const connection = rpc.createMessageConnection(new rpc.StreamMessageReader(process.stdin), new rpc.StreamMessageWriter(process.stdout), logger);
|
|
148
164
|
if (options.traceRpcMessages) {
|
package/dist/rpc/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,+CAAyC;AACzC,uCAAyB;AACzB,yCAAkC;AAClC,6CAAgC;AAChC,6EAAuE;AAEvE,yDAAyD;AACzD,mBAAiB;AACjB,mBAAiB;AACjB,mBAAiB;AACjB,mBAAiB;AACjB,yBAAuB;AAEvB,kFAAkF;AAClF,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAEtD,SAAS,aAAa,CAAC,MAAkB;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/rpc/server.ts
CHANGED
|
@@ -31,17 +31,20 @@ import "../javascript";
|
|
|
31
31
|
// Not possible to set the stack size when executing from npx for security reasons
|
|
32
32
|
require('v8').setFlagsFromString('--stack-size=8000');
|
|
33
33
|
|
|
34
|
-
function initPyroscope(logger: rpc.Logger):
|
|
35
|
-
|
|
34
|
+
function initPyroscope(logger: rpc.Logger): any {
|
|
35
|
+
// Strip trailing slashes: the SDK builds the ingest URL as `${serverAddress}/ingest`,
|
|
36
|
+
// so a trailing slash produces `//ingest`, which the server normalizes via redirect —
|
|
37
|
+
// and undici downgrades the redirected POST to a GET, silently dropping all profiles.
|
|
38
|
+
const server = (process.env.PYROSCOPE_SERVER_ADDRESS || '').replace(/\/+$/, '');
|
|
36
39
|
if (!server) {
|
|
37
|
-
return;
|
|
40
|
+
return undefined;
|
|
38
41
|
}
|
|
39
42
|
let Pyroscope: any;
|
|
40
43
|
try {
|
|
41
44
|
Pyroscope = require('@pyroscope/nodejs');
|
|
42
45
|
} catch {
|
|
43
46
|
logger.warn('PYROSCOPE_SERVER_ADDRESS set but @pyroscope/nodejs not installed; profiling disabled');
|
|
44
|
-
return;
|
|
47
|
+
return undefined;
|
|
45
48
|
}
|
|
46
49
|
const tags: Record<string, string> = {runtime: 'node'};
|
|
47
50
|
for (const pair of (process.env.PYROSCOPE_TAGS || '').split(',')) {
|
|
@@ -54,8 +57,12 @@ function initPyroscope(logger: rpc.Logger): void {
|
|
|
54
57
|
appName: process.env.PYROSCOPE_APPLICATION_NAME || 'modcli',
|
|
55
58
|
serverAddress: server,
|
|
56
59
|
tags,
|
|
60
|
+
wall: {
|
|
61
|
+
collectCpuTime: true,
|
|
62
|
+
},
|
|
57
63
|
});
|
|
58
64
|
Pyroscope.start();
|
|
65
|
+
return Pyroscope;
|
|
59
66
|
}
|
|
60
67
|
|
|
61
68
|
interface ProgramOptions {
|
|
@@ -95,11 +102,19 @@ async function main() {
|
|
|
95
102
|
// the host JVM is killed, our stdin closes, vscode-jsonrpc fires onClose,
|
|
96
103
|
// and we exit. Without it, Pyroscope (or any other ref-holder) can keep
|
|
97
104
|
// the event loop alive and orphan this process.
|
|
105
|
+
let pyroscope: any;
|
|
98
106
|
let shuttingDown = false;
|
|
99
107
|
const shutdown = async () => {
|
|
100
108
|
if (shuttingDown) return;
|
|
101
109
|
shuttingDown = true;
|
|
102
110
|
try {
|
|
111
|
+
if (pyroscope) {
|
|
112
|
+
try {
|
|
113
|
+
await pyroscope.stop();
|
|
114
|
+
} catch (e: any) {
|
|
115
|
+
// best-effort flush; nothing to do if it fails during shutdown
|
|
116
|
+
}
|
|
117
|
+
}
|
|
103
118
|
if (recipeCleanup) {
|
|
104
119
|
await recipeCleanup();
|
|
105
120
|
}
|
|
@@ -122,7 +137,7 @@ async function main() {
|
|
|
122
137
|
log: (msg: string) => log && options.traceRpcMessages && log.write(`[js trace] ${msg}\n`)
|
|
123
138
|
};
|
|
124
139
|
|
|
125
|
-
initPyroscope(logger);
|
|
140
|
+
pyroscope = initPyroscope(logger);
|
|
126
141
|
|
|
127
142
|
// Create the connection with the custom logger
|
|
128
143
|
const connection = rpc.createMessageConnection(
|