diff --git a/minetest.conf.example b/minetest.conf.example index 704501f36..139909d29 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -973,18 +973,6 @@ # type: enum values: legacy, log, error # deprecated_lua_api_handling = legacy -# Useful for mod developers. -# type: bool -# mod_profiling = false - -# Detailed mod profile data. Useful for mod developers. -# type: bool -# detailed_profiling = false - -# Profiler data print interval. 0 = disable. Useful for developers. -# type: int -# profiler_print_interval = 0 - # Number of extra blocks that can be loaded by /clearobjects at once. # This is a trade-off between sqlite transaction overhead and # memory consumption (4096=100MB, as a rule of thumb). @@ -1476,6 +1464,63 @@ # type: string # secure.http_mods = +## Advanced + +### Profiling + +# Load the game profiler to collect game profiling data. +# Provides a /profiler command to access the compiled profile. +# Useful for mod developers and server operators. +# type: bool +# profiler.load = false + +# The default format in which profiles are being saved, +# when calling `/profiler save [format]` without format. +# type: enum values: txt, csv, lua, json, json_pretty +# profiler.default_report_format = txt + +# The file path relative to your worldpath in which profiles will be saved to. +# +# type: string +# profiler.report_path = "" + +#### Instrumentation + +# Instrument the methods of entities on registration. +# type: bool +# instrument.entity = true + +# Instrument the action function of Active Block Modifiers on registration. +# type: bool +# instrument.abm = true + +# Instrument the action function of Loading Block Modifiers on registration. +# type: bool +# instrument.lbm = true + +# Instrument chatcommands on registration. +# type: bool +# instrument.chatcommand = true + +# Instrument global callback functions on registration. +# (anything you pass to a minetest.register_*() function) +# type: bool +# instrument.global_callback = true + +##### Advanced + +# Instrument builtin. +# This is usually only needed by core/builtin contributors +# type: bool +# instrument.builtin = false + +# Have the profiler instrument itself: +# * Instrument an empty function. +# This estimates the overhead, that instrumentation is adding (+1 function call). +# * Instrument the sampler being used to update the statistics. +# type: bool +# instrument.profiler = false + # # Client and Server # @@ -1548,3 +1593,7 @@ # type: string # modstore_details_url = https://forum.minetest.net/mmdb/mod/*/ +# Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers. +# type: int +# profiler_print_interval = 0 + diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp index 78d1c799f..3e82279cd 100644 --- a/src/settings_translation_file.cpp +++ b/src/settings_translation_file.cpp @@ -405,12 +405,6 @@ fake_function() { gettext("Advanced"); gettext("Deprecated Lua API handling"); gettext("Handling for deprecated lua api calls:\n- legacy: (try to) mimic old behaviour (default for release).\n- log: mimic and log backtrace of deprecated call (default for debug).\n- error: abort on usage of deprecated call (suggested for mod developers)."); - gettext("Mod profiling"); - gettext("Useful for mod developers."); - gettext("Detailed mod profiling"); - gettext("Detailed mod profile data. Useful for mod developers."); - gettext("Profiling print interval"); - gettext("Profiler data print interval. 0 = disable. Useful for developers."); gettext("Max. clearobjects extra blocks"); gettext("Number of extra blocks that can be loaded by /clearobjects at once.\nThis is a trade-off between sqlite transaction overhead and\nmemory consumption (4096=100MB, as a rule of thumb)."); gettext("Unload unused server data"); @@ -600,6 +594,30 @@ fake_function() { gettext("Comma-separated list of trusted mods that are allowed to access insecure\nfunctions even when mod security is on (via request_insecure_environment())."); gettext("HTTP Mods"); gettext("Comma-seperated list of mods that are allowed to access HTTP APIs, which\nallow them to upload and download data to/from the internet."); + gettext("Advanced"); + gettext("Profiling"); + gettext("Load the game profiler"); + gettext("Load the game profiler to collect game profiling data.\nProvides a /profiler command to access the compiled profile.\nUseful for mod developers and server operators."); + gettext("Default report format"); + gettext("The default format in which profiles are being saved,\nwhen calling `/profiler save [format]` without format."); + gettext("Report path"); + gettext("The file path relative to your worldpath in which profiles will be saved to.\n"); + gettext("Instrumentation"); + gettext("Entity methods"); + gettext("Instrument the methods of entities on registration."); + gettext("Active Block Modifiers"); + gettext("Instrument the action function of Active Block Modifiers on registration."); + gettext("Loading Block Modifiers"); + gettext("Instrument the action function of Loading Block Modifiers on registration."); + gettext("Chatcommands"); + gettext("Instrument chatcommands on registration."); + gettext("Global callbacks"); + gettext("Instrument global callback functions on registration.\n(anything you pass to a minetest.register_*() function)"); + gettext("Advanced"); + gettext("Builtin"); + gettext("Instrument builtin.\nThis is usually only needed by core/builtin contributors"); + gettext("Profiler"); + gettext("Have the profiler instrument itself:\n* Instrument an empty function.\nThis estimates the overhead, that instrumentation is adding (+1 function call).\n* Instrument the sampler being used to update the statistics."); gettext("Client and Server"); gettext("Player name"); gettext("Name of the player.\nWhen running a server, clients connecting with this name are admins.\nWhen starting from the main menu, this is overridden."); @@ -625,4 +643,6 @@ fake_function() { gettext("Modstore download URL"); gettext("Modstore mods list URL"); gettext("Modstore details URL"); + gettext("Engine profiling data print interval"); + gettext("Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers."); }