MAJOR rework

- improves a lot on the Go side including better config and logging libraries (including log rotation), better internal package distribution, and new a3go functionality to make data transfer more performant
- SQF side preprocessing of capture data is now minimal - arrays in hashmap format are sent directly to the extension and parsed there to minimize game impact
- CBA custom events are implemented in a better fashion
- README update
- license change
- with performance improvements, the deep customization of integrated metric gathering is removed in return to a single refreshRateMs, defining the interval at which core metrics are captured
- peeled back the list of core metrics to the core information used in troubleshooting and benchmarking
This commit is contained in:
2023-10-10 00:44:50 -07:00
parent cf45d6b263
commit dc822c4c93
75 changed files with 4335 additions and 3347 deletions

27
addons/main/fnc_log.sqf Normal file
View File

@@ -0,0 +1,27 @@
#include "script_component.hpp"
if (!isServer) exitWith {};
if (typeName _this != "ARRAY") exitWith {
diag_log format ["[%1]: Invalid log params: %2", GVARMAIN(logPrefix), _this];
};
params [
["_level", "INFO", [""]],
["_text", "", [""]]
];
if (
_level == "DEBUG" &&
!GVARMAIN(debug)
) exitWith {};
if (_text isEqualTo "") exitWith {};
diag_log formatText [
"[%1] %2: %3",
GVARMAIN(logPrefix),
_level,
_text
];