mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
Every 3600 frames and whenever private commit grew by 1 GiB since the last census: guest, other private, mapped and image memory, and the largest private allocations outside the guest's range. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HtayeqEG2x5woYzWuEQBGV
14 lines
902 B
C
14 lines
902 B
C
// Between perf.c (frame timing, always built) and the OS's sampling profiler (prof_win.c on Windows).
|
|
#pragma once
|
|
#include <stdint.h>
|
|
|
|
extern volatile uint32_t prof_render_tid; // the thread that presents (perf_present)
|
|
extern volatile uint32_t prof_main_tid; // the guest main thread (perf_main_thread)
|
|
extern volatile uint32_t prof_replay_tid; // the asynchronous replay (perf_replay_thread): its waits hold up the frame too
|
|
|
|
// The sampler; perf.c's weak versions do nothing.
|
|
int prof_sampler_start(void); // NX2NAVI_PROFILE: starts sampling; 1 when it runs
|
|
void prof_sampler_write(void); // writes the profile once (prof_write)
|
|
void prof_sampler_frame(uint64_t frame, uint64_t now, uint64_t d); // every present; d: the interval, 0 on the first
|
|
void prof_commit_census(uint64_t frame); // NX2NAVI_TRACE=perf: logs where the process's committed memory lies
|