Go SDK — full reference
Module: github.com/amlexiahq/amlexia-go
Feature parity with Node and Python.
Install
bash
go get github.com/amlexiahq/amlexia-goEnvironment
env
AMLEXIA_SDK_KEY=am_...
AMLEXIA_INGEST_URL=https://ingest.amlexia.com
AMLEXIA_ENVIRONMENT=production
AMLEXIA_RELEASE=1.0.0Client
go
package main
import (
"log"
"os"
"github.com/amlexiahq/amlexia-go"
)
func main() {
client, err := amlexia.NewFromEnv()
if err != nil {
log.Fatal(err)
}
defer client.Shutdown()
env := os.Getenv("AMLEXIA_ENVIRONMENT")
err = client.Track(amlexia.Event{
Endpoint: "GET /health",
Method: "GET",
StatusCode: 200,
LatencyMs: 12,
Environment: &env,
})
if err != nil {
log.Print(err)
}
}Client options
| Field | Default | Description |
|---|---|---|
FlushInterval | 5s | Background flush |
MaxBatchSize | 50 | Events per POST |
MaxRetries | 5 | Retry count |
SampleRate | 1.0 | 0–1 sampling |
Diagnostic | false | Log flush issues |
go
client, _ := amlexia.New(amlexia.Config{
SDKKey: os.Getenv("AMLEXIA_SDK_KEY"),
SampleRate: 0.5,
Diagnostic: true,
})OpenAI helper
go
_ = amlexia.TrackOpenAICompletion(client, "gpt-4o-mini", 200, latencyMs,
amlexia.OpenAIUsage{PromptTokens: 100, CompletionTokens: 50}, &env)HTTP wrapper
Wrap http.Client transport to auto-track outbound calls — see package httpwrap.
Health
go
res, err := amlexia.CheckIngestHealth("", 0)bash
go run github.com/amlexiahq/amlexia-go/cmd/amlexia@latest healthGraceful shutdown
Always defer client.Shutdown() on process exit so the final batch flushes.
