From 6e19c4155c9b2059cbc73b0425323b10725e9ff6 Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Thu, 9 Nov 2023 14:34:52 -0800 Subject: [PATCH] Track session length Differential Revision: D51172955 fbshipit-source-id: d4f93564a94e232066347c945fa4798033dc0da1 --- desktop/flipper-server-core/src/server/attachSocketServer.tsx | 4 ++++ desktop/flipper-server-core/src/tracker.tsx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/desktop/flipper-server-core/src/server/attachSocketServer.tsx b/desktop/flipper-server-core/src/server/attachSocketServer.tsx index b397bbf37..f66b0aaa9 100644 --- a/desktop/flipper-server-core/src/server/attachSocketServer.tsx +++ b/desktop/flipper-server-core/src/server/attachSocketServer.tsx @@ -28,6 +28,7 @@ import { import {URLSearchParams} from 'url'; import {tracker} from '../tracker'; import {getFlipperServerConfig} from '../FlipperServerConfig'; +import {performance} from 'perf_hooks'; const safe = (f: () => void) => { try { @@ -53,6 +54,8 @@ export function attachSocketServer( companionEnv: FlipperServerCompanionEnv, ) { socket.on('connection', (client, req) => { + const t0 = performance.now(); + const clientAddress = (req.socket.remoteAddress && ` ${req.socket.remoteAddress}:${req.socket.remotePort}`) || @@ -246,6 +249,7 @@ export function attachSocketServer( tracker.track('server-client-close', { code, error, + sessionLength: performance.now() - t0, }); if ( diff --git a/desktop/flipper-server-core/src/tracker.tsx b/desktop/flipper-server-core/src/tracker.tsx index e9a8f3e97..f39ab7324 100644 --- a/desktop/flipper-server-core/src/tracker.tsx +++ b/desktop/flipper-server-core/src/tracker.tsx @@ -48,7 +48,7 @@ type TrackerEvents = { }; 'server-socket-already-in-use': {}; 'server-open-ui': {browser: boolean; hasToken: boolean}; - 'server-client-close': {code?: number; error?: string}; + 'server-client-close': {code?: number; error?: string; sessionLength: number}; 'server-ws-server-error': {port: number; error: string}; 'server-ready-timeout': {timeout: number}; 'browser-connection-created': {