Skip to content

Go SDK — full reference

Module: github.com/amlexiahq/amlexia-go

Feature parity with Node and Python.

Install

bash
go get github.com/amlexiahq/amlexia-go

Environment

env
AMLEXIA_SDK_KEY=am_...
AMLEXIA_INGEST_URL=https://ingest.amlexia.com
AMLEXIA_ENVIRONMENT=production
AMLEXIA_RELEASE=1.0.0

Client

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

FieldDefaultDescription
FlushInterval5sBackground flush
MaxBatchSize50Events per POST
MaxRetries5Retry count
SampleRate1.00–1 sampling
DiagnosticfalseLog 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 health

Graceful shutdown

Always defer client.Shutdown() on process exit so the final batch flushes.