0 of 0

File information

Last updated

Original upload

Created by

SinZ

Uploaded by

SinZ163

Virus scan

Safe to use

About this mod

This is a technical mod to help diagnose and triage performance problems in other mods.

Permissions and credits
Donations
The original feature was simple logging whenever important gameloop milestones happened, logging the time since mod initialization (both as the first handler and last, measuring time taken by all mods):
1. "GameLaunched" fires
2. "LoadStagechanged" fires (for all the intermediate lifecycles)
3. "SaveLoaded" fires
4. "DayStarted" fires

The main feature is logging individual event handlers whenever they pass a individual time threshold (defaulted to 10ms, adjustable in config), along with the entire event taking an additional time threshold (defaulted to 100ms) and logging the time taken for every handler for the given event.

New in 2.0 is building logical stack traces showing the stack of nested events when things exceed the timing thresholds in config, along with Content Pack support and API's to add additional event types on any C# function along with collecting optional details to add context.

In addition, I have built a website which entirely locally in the browser can parse SMAPI Logs and when Profiler2 is present unlocks visualizations to show the breakdown of what Profiler has logged and where certain performance spikes exist. The website will be updated in future with more features and better visualizations Stardew Utilities - SinZ (361zn.is)


Source: StardewMods/Profiler at main · SinZ163/StardewMods (github.com)