MCPcopy Create free account
hub / github.com/DFHack/dfhack / internal_getPerfCounters

Function internal_getPerfCounters

library/LuaApi.cpp:4375–4404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4373}
4374
4375static int internal_getPerfCounters(lua_State *L) {
4376 auto & core = Core::getInstance();
4377 auto & counters = core.perf_counters;
4378
4379 uint32_t elapsed_ms = counters.elapsed_ms;
4380 if (counters.getIgnorePauseState() || !World::ReadPauseState())
4381 elapsed_ms += core.p->getTickCount() - counters.baseline_elapsed_ms;
4382
4383 std::map<const char *, uint32_t> summary;
4384 summary["unpaused_only"] = counters.getIgnorePauseState() ? 0 : 1;
4385 summary["elapsed_ms"] = elapsed_ms;
4386 summary["total_update_ms"] = counters.total_update_ms;
4387 summary["update_event_manager_ms"] = counters.update_event_manager_ms;
4388 summary["update_plugin_ms"] = counters.update_plugin_ms;
4389 summary["update_lua_ms"] = counters.update_lua_ms;
4390 summary["total_keybinding_ms"] = counters.total_keybinding_ms;
4391 summary["total_overlay_ms"] = counters.total_overlay_ms;
4392 summary["total_zscreen_ms"] = std::accumulate(
4393 std::begin(counters.zscreen_per_focus), std::end(counters.zscreen_per_focus), 0,
4394 [](const uint32_t prev, const std::pair<const string, uint32_t>& p){ return prev + p.second; });
4395 Lua::Push(L, summary);
4396 Lua::Push(L, translate_event_types(counters.event_manager_event_total_ms));
4397 Lua::Push(L, mapify(translate_event_types(counters.event_manager_event_per_plugin_ms)));
4398 Lua::Push(L, counters.update_per_plugin);
4399 Lua::Push(L, counters.state_change_per_plugin);
4400 Lua::Push(L, counters.update_lua_per_repeat);
4401 Lua::Push(L, counters.overlay_per_widget);
4402 Lua::Push(L, counters.zscreen_per_focus);
4403 return 8;
4404}
4405
4406static int internal_getClipboardTextCp437Multiline(lua_State *L) {
4407 vector<string> lines;

Callers

nothing calls this directly

Calls 6

beginFunction · 0.85
PushFunction · 0.85
translate_event_typesFunction · 0.85
mapifyFunction · 0.85
getIgnorePauseStateMethod · 0.80
getTickCountMethod · 0.80

Tested by

no test coverage detected