branchrust_reboot/main/analytics_server_profilingcancel
33 Commits over 30 Days - 0.05cph!
merge from main -> analytics_server_profling
Fix gameplay bulk events & lag spike events not using data object format
Fix server_id missing from the CSV tables
Fix pooling warning message
Log lag spikes caused by RPCs & console commands
- default threshold 40ms
- add `command_lagspike_threshold` and `rpc_lagspike_threshold` commands to configure
Move packets per type from JSON to seperate CSV
Reset the ObjectWorkQueue before it early exits when no work is present
Don't serialize queues that did zero work in a frame
Implement ObjectWorkQueue profiling dumping to CSV
Fix ObjectWorkQueue using full name instead of name of type
Enable ObjectWorkQueue profiling by default
Add `runtime_profiling_interval` to allow the flush interval to be changed (default 60s)
Fix #CLIENT compilation errors
Switch gameplay events to also use new bulk uploading api
merge from main -> analytics_server_profiling
Fix bulk analytics creating empty blob when uploading zero events
Add logging of method call times via unity's profiler (ProfilerRecorder API)
Disabled by default
Upload bulk analytics points gzipped
merge invoke_execution_time -> analytics_server_profiling
merge from main -> analytics_server_profiling
Merge from main -> analytics_server_profiling
merge queue_tracking -> analytics_server_profiling
merge from main -> analytics_server_profling
Fix aggregate packets per second not being counted correctly
Fix outbound packets not counted correctly
Fix network stats not being reset at end of frame
Add inbound & outbound bytes to network profiling
Include aggregates of "packets per frame" on the server
Add EntityProfiler to track total entities spawned per frame, as well as toggle for count per prefab per frame
Merge bulk_uploader -> analytics_server_profiling
More basic stats
More profiler markers that are exposed in release builds
Change `analytics_enabled` to be a saved convar (to make it easier to toggle in editor)
- default to false instead of true
Rename InvokeLogger -> InvokeProfiler
Rename PacketLogger -> PacketProfiler
Serialize invoke stats in data points
Capture performance stats for every single server frame & send to azure analytics
- packets (sends, recvs, total outbound packets)
- invokes (execution time, invokes, adds / removes)
- general execution time per frame
Grab all physics stats (colliders, triggers, collisions, etc)
- figure out later how to expose it in release build
Add `dump_profiler_recorders` command to dump all ProfilerRecorder handles to disk in a .csv