axiom-go

If you use the Axiom CLI, run
eval $(axiom config export -f)
to configure your environment variables.
package main
import (
"context"
"fmt"
"log"
"github.com/axiomhq/axiom-go/axiom"
"github.com/axiomhq/axiom-go/axiom/ingest"
)
func main() {
ctx := context.Background()
client, err := axiom.NewClient(
)
if err != nil {
log.Fatal(err)
}
if _, err = client.IngestEvents(ctx, "my-dataset", []axiom.Event{
{ingest.TimestampField: time.Now(), "foo": "bar"},
{ingest.TimestampField: time.Now(), "bar": "foo"},
}); err != nil {
log.Fatal(err)
}
res, err := client.Query(ctx, "['my-dataset'] | where foo == 'bar' | limit 100")
if err != nil {
log.Fatal(err)
} else if res.Status.RowsMatched == 0 {
log.Fatal("No matches found")
}
for row := range res.Tables[0].Rows() {
_, _ = fmt.Println(row)
}
}
For further examples, head over to the examples directory.
If you want to use a logging package, check if there is already an adapter in
the adapters directory. We happily accept contributions for new
adapters.
Install
go get github.com/axiomhq/axiom-go
Documentation
Read documentation on axiom.co/docs/guides/go.
License
MIT