- 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
28 lines
743 B
Plaintext
28 lines
743 B
Plaintext
#include "script_component.hpp"
|
|
|
|
private _hashesOut = [];
|
|
{
|
|
_x params ["_playerID", "_ownerId", "_playerUID", "_profileName", "_displayName", "_steamName", "_clientState", "_isHC", "_adminState", "_networkInfo", "_unit"];
|
|
_networkInfo params ["_avgPing", "_avgBandwidth", "_desync"];
|
|
|
|
if (_unit == objNull || _isHC) then {
|
|
continue;
|
|
};
|
|
|
|
_tags = +GVARMAIN(standardTags);
|
|
_tags pushBack ["playerUID", _playerUID];
|
|
_tags pushBack ["playerName", _profileName];
|
|
|
|
_hashesOut pushBack ([
|
|
["bucket", "player_performance"],
|
|
["measurement", "network"],
|
|
["tags", _tags],
|
|
["fields", [
|
|
["avgPing", _avgPing],
|
|
["avgBandwidth", _avgBandwidth],
|
|
["desync", _desync]
|
|
]]
|
|
]);
|
|
} forEach (allUsers apply {getUserInfo _x});
|
|
|
|
_hashesOut; |