| 'use strict'; |
| |
| const common = require('../common'); |
| const tmpdir = require('../common/tmpdir'); |
| const assert = require('assert'); |
| const net = require('net'); |
| |
| tmpdir.refresh(); |
| |
| const { PerformanceObserver } = require('perf_hooks'); |
| |
| const entries = []; |
| |
| const obs = new PerformanceObserver(common.mustCallAtLeast((items) => { |
| entries.push(...items.getEntries()); |
| })); |
| |
| obs.observe({ type: 'net' }); |
| |
| { |
| const server = net.createServer(common.mustCall((socket) => { |
| socket.destroy(); |
| })); |
| |
| server.listen(0, common.mustCall(async () => { |
| await new Promise((resolve, reject) => { |
| const socket = net.connect(server.address().port); |
| socket.on('end', resolve); |
| socket.on('error', reject); |
| }); |
| server.close(); |
| })); |
| } |
| |
| { |
| const server = net.createServer(common.mustCall((socket) => { |
| socket.destroy(); |
| })); |
| |
| server.listen(common.PIPE, common.mustCall(async () => { |
| await new Promise((resolve, reject) => { |
| const socket = net.connect(common.PIPE); |
| socket.on('end', resolve); |
| socket.on('error', reject); |
| }); |
| server.close(); |
| })); |
| } |
| |
| process.on('exit', () => { |
| assert.strictEqual(entries.length, 1); |
| entries.forEach((entry) => { |
| assert.strictEqual(entry.name, 'connect'); |
| assert.strictEqual(entry.entryType, 'net'); |
| assert.strictEqual(typeof entry.startTime, 'number'); |
| assert.strictEqual(typeof entry.duration, 'number'); |
| assert.strictEqual(!!entry.detail.host, true); |
| assert.strictEqual(!!entry.detail.port, true); |
| }); |
| }); |