@checkly/playwright-core 1.51.11-beta.2 → 1.51.12
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/lib/server/fetch.js
CHANGED
|
@@ -368,11 +368,12 @@ class APIRequestContext extends _instrumentation.SdkObject {
|
|
|
368
368
|
headers: toHeadersArray(response.rawHeaders),
|
|
369
369
|
body,
|
|
370
370
|
timings: {
|
|
371
|
-
|
|
371
|
+
// @ts-ignore
|
|
372
372
|
values: {
|
|
373
|
-
...checklyTimings.values
|
|
373
|
+
...checklyTimings.values,
|
|
374
|
+
..._happyEyeballs.httpHappyEyeballsTimings.values
|
|
374
375
|
},
|
|
375
|
-
agent: checklyTimings.agent
|
|
376
|
+
agent: _happyEyeballs.httpHappyEyeballsTimings.agent || checklyTimings.agent
|
|
376
377
|
}
|
|
377
378
|
});
|
|
378
379
|
};
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createConnectionAsync = createConnectionAsync;
|
|
7
7
|
exports.createSocket = createSocket;
|
|
8
8
|
exports.createTLSSocket = createTLSSocket;
|
|
9
|
-
exports.httpsHappyEyeballsAgent = exports.httpHappyEyeballsAgent = void 0;
|
|
9
|
+
exports.httpsHappyEyeballsAgent = exports.httpHappyEyeballsTimings = exports.httpHappyEyeballsAgent = void 0;
|
|
10
10
|
exports.timingForSocket = timingForSocket;
|
|
11
11
|
var _dns = _interopRequireDefault(require("dns"));
|
|
12
12
|
var _http = _interopRequireDefault(require("http"));
|
|
@@ -38,7 +38,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
38
38
|
|
|
39
39
|
// Same as in Chromium (https://source.chromium.org/chromium/chromium/src/+/5666ff4f5077a7e2f72902f3a95f5d553ea0d88d:net/socket/transport_connect_job.cc;l=102)
|
|
40
40
|
const connectionAttemptDelayMs = 300;
|
|
41
|
-
const
|
|
41
|
+
const checklyTimings = {
|
|
42
42
|
values: {
|
|
43
43
|
startTimeNow: 0,
|
|
44
44
|
socket: 0,
|
|
@@ -58,8 +58,8 @@ class HttpHappyEyeballsAgent extends _http.default.Agent {
|
|
|
58
58
|
}
|
|
59
59
|
class HttpsHappyEyeballsAgent extends _https.default.Agent {
|
|
60
60
|
createConnection(options, oncreate) {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
checklyTimings.values.startTimeNow = performance.now();
|
|
62
|
+
checklyTimings.agent = true;
|
|
63
63
|
// There is no ambiguity in case of IP address.
|
|
64
64
|
if (_net.default.isIP(clientRequestArgsToHostName(options))) return _tls.default.connect(options);
|
|
65
65
|
createConnectionAsync(options, oncreate, /* useTLS */true).catch(err => oncreate === null || oncreate === void 0 ? void 0 : oncreate(err));
|
|
@@ -73,6 +73,7 @@ const httpsHappyEyeballsAgent = exports.httpsHappyEyeballsAgent = new HttpsHappy
|
|
|
73
73
|
const httpHappyEyeballsAgent = exports.httpHappyEyeballsAgent = new HttpHappyEyeballsAgent({
|
|
74
74
|
keepAlive: true
|
|
75
75
|
});
|
|
76
|
+
const httpHappyEyeballsTimings = exports.httpHappyEyeballsTimings = checklyTimings;
|
|
76
77
|
async function createSocket(host, port) {
|
|
77
78
|
return new Promise((resolve, reject) => {
|
|
78
79
|
if (_net.default.isIP(host)) {
|
|
@@ -139,15 +140,16 @@ async function createConnectionAsync(options, oncreate, useTLS) {
|
|
|
139
140
|
port: options.port,
|
|
140
141
|
host: address
|
|
141
142
|
});
|
|
143
|
+
|
|
142
144
|
// Socket created
|
|
143
|
-
|
|
144
|
-
socket[kDNSLookupAt] = dnsLookupAt;
|
|
145
|
+
checklyTimings.values.socket = performance.now() - checklyTimings.values.startTimeNow;
|
|
145
146
|
socket[kDNSLookupAt] = dnsLookupAt;
|
|
146
147
|
|
|
147
148
|
// Each socket may fire only one of 'connect', 'timeout' or 'error' events.
|
|
148
149
|
// None of these events are fired after socket.destroy() is called.
|
|
149
150
|
socket.on('connect', () => {
|
|
150
151
|
socket[kTCPConnectionAt] = (0, _time.monotonicTime)();
|
|
152
|
+
checklyTimings.values.connect = performance.now() - checklyTimings.values.startTimeNow;
|
|
151
153
|
connected.resolve();
|
|
152
154
|
oncreate === null || oncreate === void 0 || oncreate(null, socket);
|
|
153
155
|
// TODO: Cache the result?
|
|
@@ -173,7 +175,7 @@ async function lookupAddresses(hostname) {
|
|
|
173
175
|
family: 0,
|
|
174
176
|
verbatim: true
|
|
175
177
|
});
|
|
176
|
-
|
|
178
|
+
checklyTimings.values.lookup = performance.now() - checklyTimings.values.startTimeNow;
|
|
177
179
|
let firstFamily = addresses.filter(({
|
|
178
180
|
family
|
|
179
181
|
}) => family === 6);
|