1'use strict'; 2 3const common = require('../common'); 4const tmpdir = require('../common/tmpdir'); 5const assert = require('assert'); 6const net = require('net'); 7 8tmpdir.refresh(); 9 10const { PerformanceObserver } = require('perf_hooks'); 11 12const entries = []; 13 14const obs = new PerformanceObserver(common.mustCallAtLeast((items) => { 15 entries.push(...items.getEntries()); 16})); 17 18obs.observe({ type: 'net' }); 19 20{ 21 const server = net.createServer(common.mustCall((socket) => { 22 socket.destroy(); 23 })); 24 25 server.listen(0, common.mustCall(async () => { 26 await new Promise((resolve, reject) => { 27 const socket = net.connect(server.address().port); 28 socket.on('end', resolve); 29 socket.on('error', reject); 30 }); 31 server.close(); 32 })); 33} 34 35{ 36 const server = net.createServer(common.mustCall((socket) => { 37 socket.destroy(); 38 })); 39 40 server.listen(common.PIPE, common.mustCall(async () => { 41 await new Promise((resolve, reject) => { 42 const socket = net.connect(common.PIPE); 43 socket.on('end', resolve); 44 socket.on('error', reject); 45 }); 46 server.close(); 47 })); 48} 49 50process.on('exit', () => { 51 assert.strictEqual(entries.length, 1); 52 entries.forEach((entry) => { 53 assert.strictEqual(entry.name, 'connect'); 54 assert.strictEqual(entry.entryType, 'net'); 55 assert.strictEqual(typeof entry.startTime, 'number'); 56 assert.strictEqual(typeof entry.duration, 'number'); 57 assert.strictEqual(!!entry.detail.host, true); 58 assert.strictEqual(!!entry.detail.port, true); 59 }); 60}); 61