diff --git a/arma.go b/arma.go index fe1afce..a8d5a0b 100644 --- a/arma.go +++ b/arma.go @@ -51,10 +51,9 @@ func init() { // } type influxSettings struct { - Host string `json:"host"` - Token string `json:"token"` - Org string `json:"org"` - DefaultBucket string `json:"defaultBucket"` + Host string `json:"host"` + Token string `json:"token"` + Org string `json:"org"` } type arma3Settings struct { @@ -69,13 +68,13 @@ type settingsJson struct { func connectToInflux() string { if influxConnectionSettings.Host == "" { logLine("connectToInflux", `["influxConnectionSettings.Host is empty", "ERROR"]`) - return "ERROR" + return "Error connecting to Influx" } DB_CLIENT = influxdb2.NewClientWithOptions(influxConnectionSettings.Host, influxConnectionSettings.Token, influxdb2.DefaultOptions().SetBatchSize(500).SetFlushInterval(2000)) logLine("connectToInflux", `["DB_CLIENT created", "INFO"]`) - return "CONNECTED" + return "Connected to Influx successfully" } func deinitialize() { @@ -83,6 +82,20 @@ func deinitialize() { DB_CLIENT.Close() } +// sanitize line protocol for influx +func sanitizeLineProtocol(line string) string { + // replace all spaces with underscores + // line = strings.ReplaceAll(line, ` `, `\ `) + // replace all commas with underscores + // line = strings.ReplaceAll(line, `,`, `\,`) + // replace all equals with underscores + // line = strings.ReplaceAll(line, "=", "_") + // replace all quotes with underscores + // line = strings.ReplaceAll(line, "\"", "_") + + return line +} + func getDir() string { dir, err := os.Getwd() if err != nil { @@ -113,10 +126,9 @@ func loadSettings() (dir string, result string, host string) { defer file.Close() // write the default settings to the file ifSet := influxSettings{ - Host: "http://localhost:8086", - Token: "my-token", - Org: "my-org", - DefaultBucket: "my-bucket", + Host: "http://localhost:8086", + Token: "my-token", + Org: "my-org", } a3Set := arma3Settings{ RefreshRateMs: 1000, @@ -253,11 +265,7 @@ func sendToInflux(a3DataRaw *[]string) string { } // use custom bucket or default - var customBucket string = trimQuotes(string(a3Data[0])) - bucket := influxConnectionSettings.DefaultBucket - if customBucket != "" { - bucket = customBucket - } + var bucket string = trimQuotes(string(a3Data[0])) WRITE_API := DB_CLIENT.WriteAPI(influxConnectionSettings.Org, bucket) @@ -321,11 +329,10 @@ func goRVExtension(output *C.char, outputsize C.size_t, input *C.char) { if result != "" { logLine("goRVExtension", result) temp = fmt.Sprintf( - `["%s", "%s", "%s", "%s", "%d"]`, + `["%s", "%s", "%s", "%d"]`, EXTENSION_VERSION, influxConnectionSettings.Host, influxConnectionSettings.Org, - influxConnectionSettings.DefaultBucket, a3Settings.RefreshRateMs, ) }