| 38 | let perfLogStream = null |
| 39 | |
| 40 | function getPerfLogStream() { |
| 41 | if (!perfLogEnabled) return null |
| 42 | if (perfLogStream) return perfLogStream |
| 43 | try { |
| 44 | const logDir = path.join(app.getPath('userData'), 'perf-logs') |
| 45 | fs.mkdirSync(logDir, { recursive: true }) |
| 46 | const logPath = path.join(logDir, 'perf.jsonl') |
| 47 | perfLogStream = fs.createWriteStream(logPath, { flags: 'a' }) |
| 48 | perfLogStream.on('error', (err) => { |
| 49 | console.error('[Perf] stream error:', err.message) |
| 50 | }) |
| 51 | } catch (err) { |
| 52 | console.error('[Perf] init failed:', err.message) |
| 53 | } |
| 54 | return perfLogStream |
| 55 | } |
| 56 | |
| 57 | function logPerf(event, data = {}) { |
| 58 | if (!perfLogEnabled) return |