@netlify/plugin-nextjs 5.0.0-rc.5 → 5.0.0-rc.7
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 -0
- package/dist/build/content/next-shims/telemetry-storage.cjs +55 -0
- package/dist/build/content/prerendered.js +3 -1
- package/dist/build/content/server.js +5 -1
- package/dist/build/content/static.js +3 -1
- package/dist/build/functions/server.js +4 -2
- package/dist/build/templates/handler-monorepo.tmpl.js +20 -14
- package/dist/build/templates/handler.tmpl.js +19 -14
- package/dist/esm-chunks/chunk-4635LKT6.js +244 -0
- package/dist/esm-chunks/{chunk-W7XTKMHH.js → chunk-757FQQND.js} +56 -44
- package/dist/esm-chunks/chunk-GV3YIJ33.js +110 -0
- package/dist/esm-chunks/{chunk-637Y3P2U.js → chunk-M2ZKGJAI.js} +1 -2
- package/dist/esm-chunks/chunk-PDPDW32D.js +89 -0
- package/dist/esm-chunks/{chunk-GQ6KIYPX.js → chunk-Y3K5Q6FP.js} +13 -12
- package/dist/esm-chunks/chunk-YSGPGDIG.js +278 -0
- package/dist/esm-chunks/{package-67C5TREY.js → package-NR7AMHPP.js} +3 -3
- package/dist/index.js +52 -32
- package/dist/run/handlers/cache.cjs +48 -842
- package/dist/run/handlers/request-context.cjs +4 -2
- package/dist/run/handlers/server.js +31 -35
- package/dist/run/handlers/tracer.cjs +927 -0
- package/dist/run/handlers/tracing.js +75 -78
- package/dist/run/headers.js +1 -1
- package/dist/run/next.cjs +6 -767
- package/package.json +1 -1
- package/dist/esm-chunks/chunk-CSTSA3JJ.js +0 -217
- package/dist/esm-chunks/chunk-VSH4JS2L.js +0 -125
- package/dist/esm-chunks/chunk-WFVNEURA.js +0 -94
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
esm_exports,
|
|
9
|
-
init_esm
|
|
10
|
-
|
|
11
|
-
} from "../../esm-chunks/chunk-GQ6KIYPX.js";
|
|
9
|
+
init_esm
|
|
10
|
+
} from "../../esm-chunks/chunk-Y3K5Q6FP.js";
|
|
12
11
|
import {
|
|
13
12
|
require_semver
|
|
14
13
|
} from "../../esm-chunks/chunk-PJG75HGC.js";
|
|
@@ -17361,8 +17360,8 @@ var require_root = __commonJS({
|
|
|
17361
17360
|
return resource;
|
|
17362
17361
|
}();
|
|
17363
17362
|
proto.trace = function() {
|
|
17364
|
-
var
|
|
17365
|
-
|
|
17363
|
+
var trace = {};
|
|
17364
|
+
trace.v1 = function() {
|
|
17366
17365
|
var v1 = {};
|
|
17367
17366
|
v1.TracesData = function() {
|
|
17368
17367
|
function TracesData(properties) {
|
|
@@ -18819,13 +18818,13 @@ var require_root = __commonJS({
|
|
|
18819
18818
|
}();
|
|
18820
18819
|
return v1;
|
|
18821
18820
|
}();
|
|
18822
|
-
return
|
|
18821
|
+
return trace;
|
|
18823
18822
|
}();
|
|
18824
18823
|
proto.collector = function() {
|
|
18825
18824
|
var collector = {};
|
|
18826
18825
|
collector.trace = function() {
|
|
18827
|
-
var
|
|
18828
|
-
|
|
18826
|
+
var trace = {};
|
|
18827
|
+
trace.v1 = function() {
|
|
18829
18828
|
var v1 = {};
|
|
18830
18829
|
v1.TraceService = function() {
|
|
18831
18830
|
function TraceService(rpcImpl, requestDelimited, responseDelimited) {
|
|
@@ -19159,7 +19158,7 @@ var require_root = __commonJS({
|
|
|
19159
19158
|
}();
|
|
19160
19159
|
return v1;
|
|
19161
19160
|
}();
|
|
19162
|
-
return
|
|
19161
|
+
return trace;
|
|
19163
19162
|
}();
|
|
19164
19163
|
collector.metrics = function() {
|
|
19165
19164
|
var metrics = {};
|
|
@@ -24686,12 +24685,12 @@ var require_logging = __commonJS({
|
|
|
24686
24685
|
}
|
|
24687
24686
|
}
|
|
24688
24687
|
var allEnabled = enabledTracers.has("all");
|
|
24689
|
-
function
|
|
24688
|
+
function trace(severity, tracer, text) {
|
|
24690
24689
|
if (isTracerEnabled(tracer)) {
|
|
24691
24690
|
(0, exports2.log)(severity, (/* @__PURE__ */ new Date()).toISOString() + " | v" + clientVersion + " " + process_1.pid + " | " + tracer + " | " + text);
|
|
24692
24691
|
}
|
|
24693
24692
|
}
|
|
24694
|
-
exports2.trace =
|
|
24693
|
+
exports2.trace = trace;
|
|
24695
24694
|
function isTracerEnabled(tracer) {
|
|
24696
24695
|
return !disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer));
|
|
24697
24696
|
}
|
|
@@ -26192,7 +26191,7 @@ var require_resolving_load_balancer = __commonJS({
|
|
|
26192
26191
|
var uri_parser_1 = require_uri_parser();
|
|
26193
26192
|
var load_balancer_child_handler_1 = require_load_balancer_child_handler();
|
|
26194
26193
|
var TRACER_NAME = "resolving_load_balancer";
|
|
26195
|
-
function
|
|
26194
|
+
function trace(text) {
|
|
26196
26195
|
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
26197
26196
|
}
|
|
26198
26197
|
var NAME_MATCH_LEVEL_ORDER = [
|
|
@@ -26292,7 +26291,7 @@ var require_resolving_load_balancer = __commonJS({
|
|
|
26292
26291
|
createSubchannel: channelControlHelper.createSubchannel.bind(channelControlHelper),
|
|
26293
26292
|
requestReresolution: () => {
|
|
26294
26293
|
if (this.backoffTimeout.isRunning()) {
|
|
26295
|
-
|
|
26294
|
+
trace("requestReresolution delayed by backoff timer until " + this.backoffTimeout.getEndTime().toISOString());
|
|
26296
26295
|
this.continueResolving = true;
|
|
26297
26296
|
} else {
|
|
26298
26297
|
this.updateResolution();
|
|
@@ -26367,7 +26366,7 @@ var require_resolving_load_balancer = __commonJS({
|
|
|
26367
26366
|
this.backoffTimeout.runOnce();
|
|
26368
26367
|
}
|
|
26369
26368
|
updateState(connectivityState, picker) {
|
|
26370
|
-
|
|
26369
|
+
trace((0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[connectivityState]);
|
|
26371
26370
|
if (connectivityState === connectivity_state_1.ConnectivityState.IDLE) {
|
|
26372
26371
|
picker = new picker_1.QueuePicker(this, picker);
|
|
26373
26372
|
}
|
|
@@ -35088,7 +35087,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35088
35087
|
var net_1 = __require("net");
|
|
35089
35088
|
var backoff_timeout_1 = require_backoff_timeout();
|
|
35090
35089
|
var TRACER_NAME = "dns_resolver";
|
|
35091
|
-
function
|
|
35090
|
+
function trace(text) {
|
|
35092
35091
|
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
35093
35092
|
}
|
|
35094
35093
|
exports2.DEFAULT_PORT = 443;
|
|
@@ -35109,7 +35108,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35109
35108
|
this.isNextResolutionTimerRunning = false;
|
|
35110
35109
|
this.isServiceConfigEnabled = true;
|
|
35111
35110
|
this.returnedIpResult = false;
|
|
35112
|
-
|
|
35111
|
+
trace("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
|
|
35113
35112
|
const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
|
|
35114
35113
|
if (hostPort === null) {
|
|
35115
35114
|
this.ipResult = null;
|
|
@@ -35166,7 +35165,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35166
35165
|
startResolution() {
|
|
35167
35166
|
if (this.ipResult !== null) {
|
|
35168
35167
|
if (!this.returnedIpResult) {
|
|
35169
|
-
|
|
35168
|
+
trace("Returning IP address for target " + (0, uri_parser_1.uriToString)(this.target));
|
|
35170
35169
|
setImmediate(() => {
|
|
35171
35170
|
this.listener.onSuccessfulResolution(this.ipResult, null, null, null, {});
|
|
35172
35171
|
});
|
|
@@ -35178,7 +35177,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35178
35177
|
return;
|
|
35179
35178
|
}
|
|
35180
35179
|
if (this.dnsHostname === null) {
|
|
35181
|
-
|
|
35180
|
+
trace("Failed to parse DNS address " + (0, uri_parser_1.uriToString)(this.target));
|
|
35182
35181
|
setImmediate(() => {
|
|
35183
35182
|
this.listener.onError({
|
|
35184
35183
|
code: constants_1.Status.UNAVAILABLE,
|
|
@@ -35191,7 +35190,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35191
35190
|
if (this.pendingLookupPromise !== null) {
|
|
35192
35191
|
return;
|
|
35193
35192
|
}
|
|
35194
|
-
|
|
35193
|
+
trace("Looking up DNS hostname " + this.dnsHostname);
|
|
35195
35194
|
this.latestLookupResult = null;
|
|
35196
35195
|
const hostname = this.dnsHostname;
|
|
35197
35196
|
this.pendingLookupPromise = dnsLookupPromise(hostname, { all: true });
|
|
@@ -35207,7 +35206,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35207
35206
|
addresses: [address]
|
|
35208
35207
|
}));
|
|
35209
35208
|
const allAddressesString = "[" + subchannelAddresses.map((addr) => addr.host + ":" + addr.port).join(",") + "]";
|
|
35210
|
-
|
|
35209
|
+
trace("Resolved addresses for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + allAddressesString);
|
|
35211
35210
|
if (this.latestLookupResult.length === 0) {
|
|
35212
35211
|
this.listener.onError(this.defaultResolutionError);
|
|
35213
35212
|
return;
|
|
@@ -35217,7 +35216,7 @@ var require_resolver_dns = __commonJS({
|
|
|
35217
35216
|
if (this.pendingLookupPromise === null) {
|
|
35218
35217
|
return;
|
|
35219
35218
|
}
|
|
35220
|
-
|
|
35219
|
+
trace("Resolution error for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + err.message);
|
|
35221
35220
|
this.pendingLookupPromise = null;
|
|
35222
35221
|
this.stopNextResolutionTimer();
|
|
35223
35222
|
this.listener.onError(this.defaultResolutionError);
|
|
@@ -35273,9 +35272,9 @@ var require_resolver_dns = __commonJS({
|
|
|
35273
35272
|
if (this.pendingLookupPromise === null) {
|
|
35274
35273
|
if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) {
|
|
35275
35274
|
if (this.isNextResolutionTimerRunning) {
|
|
35276
|
-
|
|
35275
|
+
trace('resolution update delayed by "min time between resolutions" rate limit');
|
|
35277
35276
|
} else {
|
|
35278
|
-
|
|
35277
|
+
trace("resolution update delayed by backoff timer until " + this.backoff.getEndTime().toISOString());
|
|
35279
35278
|
}
|
|
35280
35279
|
this.continueResolving = true;
|
|
35281
35280
|
} else {
|
|
@@ -35334,7 +35333,7 @@ var require_http_proxy = __commonJS({
|
|
|
35334
35333
|
var url_1 = __require("url");
|
|
35335
35334
|
var resolver_dns_1 = require_resolver_dns();
|
|
35336
35335
|
var TRACER_NAME = "proxy";
|
|
35337
|
-
function
|
|
35336
|
+
function trace(text) {
|
|
35338
35337
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
35339
35338
|
}
|
|
35340
35339
|
function getProxyInfo() {
|
|
@@ -35383,7 +35382,7 @@ var require_http_proxy = __commonJS({
|
|
|
35383
35382
|
if (userCred) {
|
|
35384
35383
|
result.creds = userCred;
|
|
35385
35384
|
}
|
|
35386
|
-
|
|
35385
|
+
trace("Proxy server " + result.address + " set by environment variable " + envVar);
|
|
35387
35386
|
return result;
|
|
35388
35387
|
}
|
|
35389
35388
|
function getNoProxyHostList() {
|
|
@@ -35394,7 +35393,7 @@ var require_http_proxy = __commonJS({
|
|
|
35394
35393
|
envVar = "no_proxy";
|
|
35395
35394
|
}
|
|
35396
35395
|
if (noProxyStr) {
|
|
35397
|
-
|
|
35396
|
+
trace("No proxy server list set by environment variable " + envVar);
|
|
35398
35397
|
return noProxyStr.split(",");
|
|
35399
35398
|
} else {
|
|
35400
35399
|
return [];
|
|
@@ -35423,7 +35422,7 @@ var require_http_proxy = __commonJS({
|
|
|
35423
35422
|
const serverHost = hostPort.host;
|
|
35424
35423
|
for (const host of getNoProxyHostList()) {
|
|
35425
35424
|
if (host === serverHost) {
|
|
35426
|
-
|
|
35425
|
+
trace("Not using proxy for target in no_proxy list: " + (0, uri_parser_1.uriToString)(target));
|
|
35427
35426
|
return noProxyResult;
|
|
35428
35427
|
}
|
|
35429
35428
|
}
|
|
@@ -35475,7 +35474,7 @@ var require_http_proxy = __commonJS({
|
|
|
35475
35474
|
}
|
|
35476
35475
|
options.headers = headers;
|
|
35477
35476
|
const proxyAddressString = (0, subchannel_address_1.subchannelAddressToString)(address);
|
|
35478
|
-
|
|
35477
|
+
trace("Using proxy " + proxyAddressString + " to connect to " + options.path);
|
|
35479
35478
|
return new Promise((resolve, reject) => {
|
|
35480
35479
|
const request = http.request(options);
|
|
35481
35480
|
request.once("connect", (res, socket, head) => {
|
|
@@ -35483,21 +35482,21 @@ var require_http_proxy = __commonJS({
|
|
|
35483
35482
|
request.removeAllListeners();
|
|
35484
35483
|
socket.removeAllListeners();
|
|
35485
35484
|
if (res.statusCode === 200) {
|
|
35486
|
-
|
|
35485
|
+
trace("Successfully connected to " + options.path + " through proxy " + proxyAddressString);
|
|
35487
35486
|
if ("secureContext" in connectionOptions) {
|
|
35488
35487
|
const targetPath = (0, resolver_1.getDefaultAuthority)(parsedTarget);
|
|
35489
35488
|
const hostPort2 = (0, uri_parser_1.splitHostPort)(targetPath);
|
|
35490
35489
|
const remoteHost = (_a2 = hostPort2 === null || hostPort2 === void 0 ? void 0 : hostPort2.host) !== null && _a2 !== void 0 ? _a2 : targetPath;
|
|
35491
35490
|
const cts = tls.connect(Object.assign({ host: remoteHost, servername: remoteHost, socket }, connectionOptions), () => {
|
|
35492
|
-
|
|
35491
|
+
trace("Successfully established a TLS connection to " + options.path + " through proxy " + proxyAddressString);
|
|
35493
35492
|
resolve({ socket: cts, realTarget: parsedTarget });
|
|
35494
35493
|
});
|
|
35495
35494
|
cts.on("error", (error) => {
|
|
35496
|
-
|
|
35495
|
+
trace("Failed to establish a TLS connection to " + options.path + " through proxy " + proxyAddressString + " with error " + error.message);
|
|
35497
35496
|
reject();
|
|
35498
35497
|
});
|
|
35499
35498
|
} else {
|
|
35500
|
-
|
|
35499
|
+
trace("Successfully established a plaintext connection to " + options.path + " through proxy " + proxyAddressString);
|
|
35501
35500
|
resolve({
|
|
35502
35501
|
socket,
|
|
35503
35502
|
realTarget: parsedTarget
|
|
@@ -38974,7 +38973,7 @@ var require_server_interceptors = __commonJS({
|
|
|
38974
38973
|
var unzip = (0, util_1.promisify)(zlib.unzip);
|
|
38975
38974
|
var inflate = (0, util_1.promisify)(zlib.inflate);
|
|
38976
38975
|
var TRACER_NAME = "server_call";
|
|
38977
|
-
function
|
|
38976
|
+
function trace(text) {
|
|
38978
38977
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
38979
38978
|
}
|
|
38980
38979
|
var ServerListenerBuilder = class {
|
|
@@ -39275,7 +39274,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39275
39274
|
});
|
|
39276
39275
|
this.stream.once("close", () => {
|
|
39277
39276
|
var _a;
|
|
39278
|
-
|
|
39277
|
+
trace("Request to method " + ((_a = this.handler) === null || _a === void 0 ? void 0 : _a.path) + " stream closed with rstCode " + this.stream.rstCode);
|
|
39279
39278
|
if (this.callEventTracker && !this.streamEnded) {
|
|
39280
39279
|
this.streamEnded = true;
|
|
39281
39280
|
this.callEventTracker.onStreamEnd(false);
|
|
@@ -39302,7 +39301,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39302
39301
|
}
|
|
39303
39302
|
const metadata = metadata_1.Metadata.fromHttp2Headers(headers);
|
|
39304
39303
|
if (logging.isTracerEnabled(TRACER_NAME)) {
|
|
39305
|
-
|
|
39304
|
+
trace("Request to " + this.handler.path + " received headers " + JSON.stringify(metadata.toJSON()));
|
|
39306
39305
|
}
|
|
39307
39306
|
const timeoutHeader = metadata.get(GRPC_TIMEOUT_HEADER);
|
|
39308
39307
|
if (timeoutHeader.length > 0) {
|
|
@@ -39441,7 +39440,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39441
39440
|
if (this.checkCancelled()) {
|
|
39442
39441
|
return;
|
|
39443
39442
|
}
|
|
39444
|
-
|
|
39443
|
+
trace("Request to " + this.handler.path + " received data frame of size " + data.length);
|
|
39445
39444
|
const rawMessages = this.decoder.write(data);
|
|
39446
39445
|
for (const messageBytes of rawMessages) {
|
|
39447
39446
|
this.stream.pause();
|
|
@@ -39473,7 +39472,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39473
39472
|
this.maybePushNextMessage();
|
|
39474
39473
|
}
|
|
39475
39474
|
start(listener) {
|
|
39476
|
-
|
|
39475
|
+
trace("Request to " + this.handler.path + " start called");
|
|
39477
39476
|
if (this.checkCancelled()) {
|
|
39478
39477
|
return;
|
|
39479
39478
|
}
|
|
@@ -39516,7 +39515,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39516
39515
|
return;
|
|
39517
39516
|
}
|
|
39518
39517
|
this.maybeSendMetadata();
|
|
39519
|
-
|
|
39518
|
+
trace("Request to " + this.handler.path + " sent data frame of size " + response.length);
|
|
39520
39519
|
this.stream.write(response, (error) => {
|
|
39521
39520
|
var _a;
|
|
39522
39521
|
if (error) {
|
|
@@ -39537,7 +39536,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39537
39536
|
return;
|
|
39538
39537
|
}
|
|
39539
39538
|
this.notifyOnCancel();
|
|
39540
|
-
|
|
39539
|
+
trace("Request to method " + ((_a = this.handler) === null || _a === void 0 ? void 0 : _a.path) + " ended with status code: " + constants_1.Status[status.code] + " details: " + status.details);
|
|
39541
39540
|
if (this.stream.headersSent) {
|
|
39542
39541
|
if (!this.wantTrailers) {
|
|
39543
39542
|
this.wantTrailers = true;
|
|
@@ -39564,7 +39563,7 @@ var require_server_interceptors = __commonJS({
|
|
|
39564
39563
|
}
|
|
39565
39564
|
}
|
|
39566
39565
|
startRead() {
|
|
39567
|
-
|
|
39566
|
+
trace("Request to " + this.handler.path + " startRead called");
|
|
39568
39567
|
if (this.checkCancelled()) {
|
|
39569
39568
|
return;
|
|
39570
39569
|
}
|
|
@@ -40835,7 +40834,7 @@ var require_load_balancer_pick_first = __commonJS({
|
|
|
40835
40834
|
var subchannel_address_1 = require_subchannel_address();
|
|
40836
40835
|
var net_1 = __require("net");
|
|
40837
40836
|
var TRACER_NAME = "pick_first";
|
|
40838
|
-
function
|
|
40837
|
+
function trace(text) {
|
|
40839
40838
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
40840
40839
|
}
|
|
40841
40840
|
var TYPE_NAME = "pick_first";
|
|
@@ -41054,7 +41053,7 @@ var require_load_balancer_pick_first = __commonJS({
|
|
|
41054
41053
|
clearTimeout(this.connectionDelayTimeout);
|
|
41055
41054
|
this.currentSubchannelIndex = subchannelIndex;
|
|
41056
41055
|
if (this.children[subchannelIndex].subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.IDLE) {
|
|
41057
|
-
|
|
41056
|
+
trace("Start connecting to subchannel with address " + this.children[subchannelIndex].subchannel.getAddress());
|
|
41058
41057
|
process.nextTick(() => {
|
|
41059
41058
|
var _a2;
|
|
41060
41059
|
(_a2 = this.children[subchannelIndex]) === null || _a2 === void 0 ? void 0 : _a2.subchannel.startConnecting();
|
|
@@ -41068,7 +41067,7 @@ var require_load_balancer_pick_first = __commonJS({
|
|
|
41068
41067
|
if (this.currentPick && subchannel.realSubchannelEquals(this.currentPick)) {
|
|
41069
41068
|
return;
|
|
41070
41069
|
}
|
|
41071
|
-
|
|
41070
|
+
trace("Pick subchannel with address " + subchannel.getAddress());
|
|
41072
41071
|
this.stickyTransientFailureMode = false;
|
|
41073
41072
|
this.removeCurrentPick();
|
|
41074
41073
|
this.currentPick = subchannel;
|
|
@@ -41082,7 +41081,7 @@ var require_load_balancer_pick_first = __commonJS({
|
|
|
41082
41081
|
this.calculateAndReportNewState();
|
|
41083
41082
|
}
|
|
41084
41083
|
updateState(newState, picker) {
|
|
41085
|
-
|
|
41084
|
+
trace(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
|
|
41086
41085
|
this.currentState = newState;
|
|
41087
41086
|
this.channelControlHelper.updateState(newState, picker);
|
|
41088
41087
|
}
|
|
@@ -41361,7 +41360,7 @@ var require_resolver_ip = __commonJS({
|
|
|
41361
41360
|
var uri_parser_1 = require_uri_parser();
|
|
41362
41361
|
var logging = require_logging();
|
|
41363
41362
|
var TRACER_NAME = "ip_resolver";
|
|
41364
|
-
function
|
|
41363
|
+
function trace(text) {
|
|
41365
41364
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
41366
41365
|
}
|
|
41367
41366
|
var IPV4_SCHEME = "ipv4";
|
|
@@ -41374,7 +41373,7 @@ var require_resolver_ip = __commonJS({
|
|
|
41374
41373
|
this.endpoints = [];
|
|
41375
41374
|
this.error = null;
|
|
41376
41375
|
this.hasReturnedResult = false;
|
|
41377
|
-
|
|
41376
|
+
trace("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
|
|
41378
41377
|
const addresses = [];
|
|
41379
41378
|
if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) {
|
|
41380
41379
|
this.error = {
|
|
@@ -41409,7 +41408,7 @@ var require_resolver_ip = __commonJS({
|
|
|
41409
41408
|
});
|
|
41410
41409
|
}
|
|
41411
41410
|
this.endpoints = addresses.map((address) => ({ addresses: [address] }));
|
|
41412
|
-
|
|
41411
|
+
trace("Parsed " + target.scheme + " address list " + addresses);
|
|
41413
41412
|
}
|
|
41414
41413
|
updateResolution() {
|
|
41415
41414
|
if (!this.hasReturnedResult) {
|
|
@@ -41452,7 +41451,7 @@ var require_load_balancer_round_robin = __commonJS({
|
|
|
41452
41451
|
var subchannel_address_1 = require_subchannel_address();
|
|
41453
41452
|
var load_balancer_pick_first_1 = require_load_balancer_pick_first();
|
|
41454
41453
|
var TRACER_NAME = "round_robin";
|
|
41455
|
-
function
|
|
41454
|
+
function trace(text) {
|
|
41456
41455
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
41457
41456
|
}
|
|
41458
41457
|
var TYPE_NAME = "round_robin";
|
|
@@ -41541,7 +41540,7 @@ var require_load_balancer_round_robin = __commonJS({
|
|
|
41541
41540
|
}
|
|
41542
41541
|
}
|
|
41543
41542
|
updateState(newState, picker) {
|
|
41544
|
-
|
|
41543
|
+
trace(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
|
|
41545
41544
|
if (newState === connectivity_state_1.ConnectivityState.READY) {
|
|
41546
41545
|
this.currentReadyPicker = picker;
|
|
41547
41546
|
} else {
|
|
@@ -41557,7 +41556,7 @@ var require_load_balancer_round_robin = __commonJS({
|
|
|
41557
41556
|
}
|
|
41558
41557
|
updateAddressList(endpointList, lbConfig) {
|
|
41559
41558
|
this.resetSubchannelList();
|
|
41560
|
-
|
|
41559
|
+
trace("Connect to endpoint list " + endpointList.map(subchannel_address_1.endpointToString));
|
|
41561
41560
|
this.updatesPaused = true;
|
|
41562
41561
|
this.children = endpointList.map((endpoint) => new load_balancer_pick_first_1.LeafLoadBalancer(endpoint, this.childChannelControlHelper, this.options));
|
|
41563
41562
|
for (const child of this.children) {
|
|
@@ -41603,7 +41602,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41603
41602
|
var subchannel_interface_1 = require_subchannel_interface();
|
|
41604
41603
|
var logging = require_logging();
|
|
41605
41604
|
var TRACER_NAME = "outlier_detection";
|
|
41606
|
-
function
|
|
41605
|
+
function trace(text) {
|
|
41607
41606
|
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME, text);
|
|
41608
41607
|
}
|
|
41609
41608
|
var TYPE_NAME = "outlier_detection";
|
|
@@ -41873,20 +41872,20 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41873
41872
|
if (!successRateConfig) {
|
|
41874
41873
|
return;
|
|
41875
41874
|
}
|
|
41876
|
-
|
|
41875
|
+
trace("Running success rate check");
|
|
41877
41876
|
const targetRequestVolume = successRateConfig.request_volume;
|
|
41878
41877
|
let addresesWithTargetVolume = 0;
|
|
41879
41878
|
const successRates = [];
|
|
41880
41879
|
for (const [endpoint, mapEntry] of this.entryMap.entries()) {
|
|
41881
41880
|
const successes = mapEntry.counter.getLastSuccesses();
|
|
41882
41881
|
const failures = mapEntry.counter.getLastFailures();
|
|
41883
|
-
|
|
41882
|
+
trace("Stats for " + (0, subchannel_address_1.endpointToString)(endpoint) + ": successes=" + successes + " failures=" + failures + " targetRequestVolume=" + targetRequestVolume);
|
|
41884
41883
|
if (successes + failures >= targetRequestVolume) {
|
|
41885
41884
|
addresesWithTargetVolume += 1;
|
|
41886
41885
|
successRates.push(successes / (successes + failures));
|
|
41887
41886
|
}
|
|
41888
41887
|
}
|
|
41889
|
-
|
|
41888
|
+
trace("Found " + addresesWithTargetVolume + " success rate candidates; currentEjectionPercent=" + this.getCurrentEjectionPercent() + " successRates=[" + successRates + "]");
|
|
41890
41889
|
if (addresesWithTargetVolume < successRateConfig.minimum_hosts) {
|
|
41891
41890
|
return;
|
|
41892
41891
|
}
|
|
@@ -41899,7 +41898,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41899
41898
|
const successRateVariance = successRateDeviationSum / successRates.length;
|
|
41900
41899
|
const successRateStdev = Math.sqrt(successRateVariance);
|
|
41901
41900
|
const ejectionThreshold = successRateMean - successRateStdev * (successRateConfig.stdev_factor / 1e3);
|
|
41902
|
-
|
|
41901
|
+
trace("stdev=" + successRateStdev + " ejectionThreshold=" + ejectionThreshold);
|
|
41903
41902
|
for (const [address, mapEntry] of this.entryMap.entries()) {
|
|
41904
41903
|
if (this.getCurrentEjectionPercent() >= this.latestConfig.getMaxEjectionPercent()) {
|
|
41905
41904
|
break;
|
|
@@ -41910,12 +41909,12 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41910
41909
|
continue;
|
|
41911
41910
|
}
|
|
41912
41911
|
const successRate = successes / (successes + failures);
|
|
41913
|
-
|
|
41912
|
+
trace("Checking candidate " + address + " successRate=" + successRate);
|
|
41914
41913
|
if (successRate < ejectionThreshold) {
|
|
41915
41914
|
const randomNumber = Math.random() * 100;
|
|
41916
|
-
|
|
41915
|
+
trace("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + successRateConfig.enforcement_percentage);
|
|
41917
41916
|
if (randomNumber < successRateConfig.enforcement_percentage) {
|
|
41918
|
-
|
|
41917
|
+
trace("Ejecting candidate " + address);
|
|
41919
41918
|
this.eject(mapEntry, ejectionTimestamp);
|
|
41920
41919
|
}
|
|
41921
41920
|
}
|
|
@@ -41929,7 +41928,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41929
41928
|
if (!failurePercentageConfig) {
|
|
41930
41929
|
return;
|
|
41931
41930
|
}
|
|
41932
|
-
|
|
41931
|
+
trace("Running failure percentage check. threshold=" + failurePercentageConfig.threshold + " request volume threshold=" + failurePercentageConfig.request_volume);
|
|
41933
41932
|
let addressesWithTargetVolume = 0;
|
|
41934
41933
|
for (const mapEntry of this.entryMap.values()) {
|
|
41935
41934
|
const successes = mapEntry.counter.getLastSuccesses();
|
|
@@ -41947,16 +41946,16 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41947
41946
|
}
|
|
41948
41947
|
const successes = mapEntry.counter.getLastSuccesses();
|
|
41949
41948
|
const failures = mapEntry.counter.getLastFailures();
|
|
41950
|
-
|
|
41949
|
+
trace("Candidate successes=" + successes + " failures=" + failures);
|
|
41951
41950
|
if (successes + failures < failurePercentageConfig.request_volume) {
|
|
41952
41951
|
continue;
|
|
41953
41952
|
}
|
|
41954
41953
|
const failurePercentage = failures * 100 / (failures + successes);
|
|
41955
41954
|
if (failurePercentage > failurePercentageConfig.threshold) {
|
|
41956
41955
|
const randomNumber = Math.random() * 100;
|
|
41957
|
-
|
|
41956
|
+
trace("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + failurePercentageConfig.enforcement_percentage);
|
|
41958
41957
|
if (randomNumber < failurePercentageConfig.enforcement_percentage) {
|
|
41959
|
-
|
|
41958
|
+
trace("Ejecting candidate " + address);
|
|
41960
41959
|
this.eject(mapEntry, ejectionTimestamp);
|
|
41961
41960
|
}
|
|
41962
41961
|
}
|
|
@@ -41987,7 +41986,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
41987
41986
|
}
|
|
41988
41987
|
runChecks() {
|
|
41989
41988
|
const ejectionTimestamp = /* @__PURE__ */ new Date();
|
|
41990
|
-
|
|
41989
|
+
trace("Ejection timer running");
|
|
41991
41990
|
this.switchAllBuckets();
|
|
41992
41991
|
if (!this.latestConfig) {
|
|
41993
41992
|
return;
|
|
@@ -42007,7 +42006,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
42007
42006
|
const returnTime = new Date(mapEntry.currentEjectionTimestamp.getTime());
|
|
42008
42007
|
returnTime.setMilliseconds(returnTime.getMilliseconds() + Math.min(baseEjectionTimeMs * mapEntry.ejectionTimeMultiplier, Math.max(baseEjectionTimeMs, maxEjectionTimeMs)));
|
|
42009
42008
|
if (returnTime < /* @__PURE__ */ new Date()) {
|
|
42010
|
-
|
|
42009
|
+
trace("Unejecting " + address);
|
|
42011
42010
|
this.uneject(mapEntry);
|
|
42012
42011
|
}
|
|
42013
42012
|
}
|
|
@@ -42019,7 +42018,7 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
42019
42018
|
}
|
|
42020
42019
|
for (const endpoint of endpointList) {
|
|
42021
42020
|
if (!this.entryMap.has(endpoint)) {
|
|
42022
|
-
|
|
42021
|
+
trace("Adding map entry for " + (0, subchannel_address_1.endpointToString)(endpoint));
|
|
42023
42022
|
this.entryMap.set(endpoint, {
|
|
42024
42023
|
counter: new CallCounter(),
|
|
42025
42024
|
currentEjectionTimestamp: null,
|
|
@@ -42033,18 +42032,18 @@ var require_load_balancer_outlier_detection = __commonJS({
|
|
|
42033
42032
|
this.childBalancer.updateAddressList(endpointList, childPolicy, attributes);
|
|
42034
42033
|
if (lbConfig.getSuccessRateEjectionConfig() || lbConfig.getFailurePercentageEjectionConfig()) {
|
|
42035
42034
|
if (this.timerStartTime) {
|
|
42036
|
-
|
|
42035
|
+
trace("Previous timer existed. Replacing timer");
|
|
42037
42036
|
clearTimeout(this.ejectionTimer);
|
|
42038
42037
|
const remainingDelay = lbConfig.getIntervalMs() - ((/* @__PURE__ */ new Date()).getTime() - this.timerStartTime.getTime());
|
|
42039
42038
|
this.startTimer(remainingDelay);
|
|
42040
42039
|
} else {
|
|
42041
|
-
|
|
42040
|
+
trace("Starting new timer");
|
|
42042
42041
|
this.timerStartTime = /* @__PURE__ */ new Date();
|
|
42043
42042
|
this.startTimer(lbConfig.getIntervalMs());
|
|
42044
42043
|
this.switchAllBuckets();
|
|
42045
42044
|
}
|
|
42046
42045
|
} else {
|
|
42047
|
-
|
|
42046
|
+
trace("Counting disabled. Cancelling timer.");
|
|
42048
42047
|
this.timerStartTime = null;
|
|
42049
42048
|
clearTimeout(this.ejectionTimer);
|
|
42050
42049
|
for (const mapEntry of this.entryMap.values()) {
|
|
@@ -43177,8 +43176,8 @@ var require_root3 = __commonJS({
|
|
|
43177
43176
|
return resource;
|
|
43178
43177
|
}();
|
|
43179
43178
|
proto.trace = function() {
|
|
43180
|
-
var
|
|
43181
|
-
|
|
43179
|
+
var trace = {};
|
|
43180
|
+
trace.v1 = function() {
|
|
43182
43181
|
var v1 = {};
|
|
43183
43182
|
v1.TracesData = function() {
|
|
43184
43183
|
function TracesData(properties) {
|
|
@@ -44635,13 +44634,13 @@ var require_root3 = __commonJS({
|
|
|
44635
44634
|
}();
|
|
44636
44635
|
return v1;
|
|
44637
44636
|
}();
|
|
44638
|
-
return
|
|
44637
|
+
return trace;
|
|
44639
44638
|
}();
|
|
44640
44639
|
proto.collector = function() {
|
|
44641
44640
|
var collector = {};
|
|
44642
44641
|
collector.trace = function() {
|
|
44643
|
-
var
|
|
44644
|
-
|
|
44642
|
+
var trace = {};
|
|
44643
|
+
trace.v1 = function() {
|
|
44645
44644
|
var v1 = {};
|
|
44646
44645
|
v1.TraceService = function() {
|
|
44647
44646
|
function TraceService(rpcImpl, requestDelimited, responseDelimited) {
|
|
@@ -44975,7 +44974,7 @@ var require_root3 = __commonJS({
|
|
|
44975
44974
|
}();
|
|
44976
44975
|
return v1;
|
|
44977
44976
|
}();
|
|
44978
|
-
return
|
|
44977
|
+
return trace;
|
|
44979
44978
|
}();
|
|
44980
44979
|
collector.metrics = function() {
|
|
44981
44980
|
var metrics = {};
|
|
@@ -51201,10 +51200,9 @@ var import_resources = __toESM(require_src4(), 1);
|
|
|
51201
51200
|
var import_sdk_node = __toESM(require_src25(), 1);
|
|
51202
51201
|
var import_sdk_trace_node = __toESM(require_src14(), 1);
|
|
51203
51202
|
var import_semantic_conventions = __toESM(require_src(), 1);
|
|
51204
|
-
init_esm();
|
|
51205
51203
|
var {
|
|
51206
51204
|
default: { version, name }
|
|
51207
|
-
} = await import("../../esm-chunks/package-
|
|
51205
|
+
} = await import("../../esm-chunks/package-NR7AMHPP.js");
|
|
51208
51206
|
var sdk = new import_sdk_node.NodeSDK({
|
|
51209
51207
|
resource: new import_resources.Resource({
|
|
51210
51208
|
[import_semantic_conventions.SEMRESATTRS_SERVICE_NAME]: name,
|
|
@@ -51226,8 +51224,7 @@ process.on("SIGTERM", () => {
|
|
|
51226
51224
|
).finally(() => process.exit(0));
|
|
51227
51225
|
});
|
|
51228
51226
|
export {
|
|
51229
|
-
tracing_default as default
|
|
51230
|
-
trace
|
|
51227
|
+
tracing_default as default
|
|
51231
51228
|
};
|
|
51232
51229
|
/*! Bundled license information:
|
|
51233
51230
|
|
package/dist/run/headers.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
setCacheStatusHeader,
|
|
11
11
|
setCacheTagsHeaders,
|
|
12
12
|
setVaryHeaders
|
|
13
|
-
} from "../esm-chunks/chunk-
|
|
13
|
+
} from "../esm-chunks/chunk-M2ZKGJAI.js";
|
|
14
14
|
import "../esm-chunks/chunk-TYCYFZ22.js";
|
|
15
15
|
import "../esm-chunks/chunk-5JVNISGM.js";
|
|
16
16
|
export {
|