5 Commits

Author SHA1 Message Date
489db10506 version 2023-10-12 16:20:29 -07:00
31fa09e478 Merge branch 'develop' 2023-10-12 16:20:15 -07:00
3c43a2bc20 finalize for release 2023-10-12 16:17:25 -07:00
85ed597711 fixes for prod 2023-10-12 16:14:05 -07:00
40b5a3d26f small reorg, some improvements, readme updates
- fix hemtt config to copy example
- add measurements table in Readme
- ENTITY COUNTS
  - re add side tags
  - use `side group _x` for units and players
  - fix players_connected and add headless_clients
- get `_allUserInfos = allUsers apply {getUserInfo _x} select {count _x > 0};` from main loop and use in entity counts and player performance
2023-10-10 18:17:18 -07:00
15 changed files with 56 additions and 12 deletions

3
.gitignore vendored
View File

@@ -8,5 +8,6 @@
ifxmetrics.config.json ifxmetrics.config.json
.hemttout .hemttout
influxdb influxdb/data
influxdb/config
releases releases

View File

@@ -10,6 +10,7 @@ git_hash=6 # Default: 8
[files] [files]
include=[ include=[
"ifxmetrics.config.example.json", "ifxmetrics.config.example.json",
# "ifxmetrics.config.json", # used for copying during debugging
"LICENSE", "LICENSE",
"README.md", "README.md",
"mod.cpp", "mod.cpp",

View File

@@ -179,13 +179,19 @@ Run this from the project root.
docker pull x1unix/go-mingw:1.20 docker pull x1unix/go-mingw:1.20
# Compile x64 Windows DLL # Compile x64 Windows DLL
docker run --rm -it -v ${PWD}:/go/work -w /go/work -e GOARCH=amd64 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./ifxmetrics_x64.dll -buildmode=c-shared -ldflags "-w -s -X main.EXTENSION_VERSION=`"$IFXMETRICS_BUILD_VER`"" ./extension/cmd docker run --rm -it -v ${PWD}/extension/IFXMetrics:/go/work -w /go/work -e GOARCH=amd64 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./dist/ifxmetrics_x64.dll -buildmode=c-shared -ldflags "-w -s -X main.EXTENSION_VERSION=$IFXMETRICS_BUILD_VER" ./cmd
Move-Item -Path ./extension/IFXMetrics/dist/ifxmetrics_x64.dll -Destination ./ifxmetrics_x64.dll -Force
# Compile x86 Windows DLL # Compile x86 Windows DLL
docker run --rm -it -v ${PWD}:/go/work -w /go/work -e GOARCH=386 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./ifxmetrics.dll -buildmode=c-shared -ldflags "-w -s -X main.EXTENSION_VERSION=`"$IFXMETRICS_BUILD_VER`"" ./extension/cmd docker run --rm -it -v ${PWD}/extension/IFXMetrics:/go/work -w /go/work -e GOARCH=386 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./dist/ifxmetrics.dll -buildmode=c-shared -ldflags "-w -s -X main.EXTENSION_VERSION=$IFXMETRICS_BUILD_VER" ./cmd
Move-Item -Path ./extension/IFXMetrics/dist/ifxmetrics.dll -Destination ./ifxmetrics.dll -Force
# Compile x64 Windows EXE # Compile x64 Windows EXE
docker run --rm -it -v ${PWD}:/go/work -w /go/work -e GOARCH=amd64 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./ifxmetrics_x64.exe -ldflags "-w -s -X main.EXTENSION_VERSION=`"$IFXMETRICS_BUILD_VER`"" ./extension/cmd docker run --rm -it -v ${PWD}/extension/IFXMetrics:/go/work -w /go/work -e GOARCH=amd64 -e CGO_ENABLED=1 x1unix/go-mingw:1.20 go build -o ./dist/ifxmetrics_x64.exe -ldflags "-w -s -X main.EXTENSION_VERSION=$IFXMETRICS_BUILD_VER" ./cmd
Move-Item -Path ./extension/IFXMetrics/dist/ifxmetrics_x64.exe -Destination ./ifxmetrics_x64.exe -Force
``` ```
### EXTENSION: COMPILING FOR LINUX ### EXTENSION: COMPILING FOR LINUX
@@ -196,10 +202,15 @@ Run this from the project root.
docker build -t indifox926/build-a3go:linux-so -f ./build/Dockerfile.build . docker build -t indifox926/build-a3go:linux-so -f ./build/Dockerfile.build .
# Compile x64 Linux .so # Compile x64 Linux .so
docker run --rm -it -v ${PWD}:/app -e GOOS=linux -e GOARCH=amd64 -e CGO_ENABLED=1 indifox926/build-a3go:linux-so go build -o ./ifxmetrics_x64.so -linkshared -ldflags "-w -s -X main.EXTENSION_VERSION=${IFXMETRICS_BUILD_VER}" ./extension/cmd docker run --rm -it -v ${PWD}/extension/IFXMetrics:/app -e GOOS=linux -e GOARCH=amd64 -e CGO_ENABLED=1 indifox926/build-a3go:linux-so go build -o ./dist/ifxmetrics_x64.so -linkshared -ldflags "-w -s -X main.EXTENSION_VERSION=${IFXMETRICS_BUILD_VER}" ./cmd
Move-Item -Path ./extension/IFXMetrics/dist/ifxmetrics_x64.so -Destination ./ifxmetrics_x64.so -Force
# Compile x86 Linux .so # Compile x86 Linux .so
docker run --rm -it -v ${PWD}:/app -e GOOS=linux -e GOARCH=386 -e CGO_ENABLED=1 indifox926/build-a3go:linux-so go build -o ./ifxmetrics.so -linkshared -ldflags "-w -s -X main.EXTENSION_VERSION=${IFXMETRICS_BUILD_VER}" ./extension/cmd docker run --rm -it -v ${PWD}/extension/IFXMetrics:/app -e GOOS=linux -e GOARCH=386 -e CGO_ENABLED=1 indifox926/build-a3go:linux-so go build -o ./dist/ifxmetrics.so -linkshared -ldflags "-w -s -X main.EXTENSION_VERSION=${IFXMETRICS_BUILD_VER}" ./cmd
Move-Item -Path ./extension/IFXMetrics/dist/ifxmetrics.so -Destination ./ifxmetrics.so -Force
``` ```
### ADDON: COMPILE USING HEMTT ### ADDON: COMPILE USING HEMTT

View File

@@ -1,6 +1,8 @@
#include "script_component.hpp" #include "script_component.hpp"
params ["_allUserInfos", [], [[]]]; params [
["_allUserInfos", [], [[]]]
];
private _hashesOut = []; private _hashesOut = [];

View File

@@ -1,6 +1,8 @@
#include "script_component.hpp" #include "script_component.hpp"
params ["_allUserInfos", [], [[]]]; params [
["_allUserInfos", [], [[]]]
];
private _hashesOut = []; private _hashesOut = [];
{ {

View File

@@ -5,7 +5,11 @@ class CfgPatches {
units[] = {}; units[] = {};
weapons[] = {}; weapons[] = {};
requiredVersion = 2.10; requiredVersion = 2.10;
requiredAddons[] = {}; requiredAddons[] = {
"cba_main",
"cba_xeh",
"cba_settings"
};
author[] = {"IndigoFox"}; author[] = {"IndigoFox"};
authorUrl = "https://github.com/indig0fox/IFXMetrics"; authorUrl = "https://github.com/indig0fox/IFXMetrics";
}; };

View File

@@ -26,7 +26,7 @@ GVARMAIN(captureLoop) = [
// getUserInfo for all users // getUserInfo for all users
_allUserInfos = allUsers apply {getUserInfo _x} select {count _x > 0}; private _allUserInfos = allUsers apply {getUserInfo _x} select {count _x > 0};
// entity_count returns an array of hashMap // entity_count returns an array of hashMap
{ {
GVARMAIN(extensionName) callExtension [ GVARMAIN(extensionName) callExtension [

View File

@@ -1,7 +1,7 @@
#define MAJOR 2 #define MAJOR 2
#define MINOR 0 #define MINOR 0
#define PATCH 0 #define PATCH 1
#define BUILD 20231009 #define BUILD 20231012
#define VERSION 2.0 #define VERSION 2.0
#define VERSION_STR MAJOR##.##MINOR##.##PATCH##.##BUILD #define VERSION_STR MAJOR##.##MINOR##.##PATCH##.##BUILD

View File

@@ -319,4 +319,7 @@ func main() {
// s := settings.Active.Get("cbaEventHandlers") // s := settings.Active.Get("cbaEventHandlers")
// // return the custom cba event handlers as an arma hashmap // // return the custom cba event handlers as an arma hashmap
// fmt.Println(a3interface.ToArmaHashMap(s)) // fmt.Println(a3interface.ToArmaHashMap(s))
fmt.Println("IFXMetrics extension started. Version: " + EXTENSION_VERSION)
fmt.Scanln()
} }

View File

@@ -0,0 +1,20 @@
version: '3.8'
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
ports:
- 8086:8086
volumes:
- ./data:/var/lib/influxdb2
- ./config:/etc/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=exampleuser
- DOCKER_INFLUXDB_INIT_PASSWORD=dfaow3ho9i7funa0w3nv
- DOCKER_INFLUXDB_INIT_ORG=ifx-metrics
- DOCKER_INFLUXDB_INIT_BUCKET=test-bucket
- DOCKER_INFLUXDB_INIT_RETENTION=1w
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=f0982q3ahfu8yawbo27w8fb986ba90b0wb2f