Reference ndt7 Go client implementation. Useful resources:
The master branch contains stable code. We don't promise we won't break the API, but we'll try not to.
You need Go >= 1.12. We use modules. Make sure Go knows that:
export GO111MODULE=on
Clone the repository wherever you want with
git clone https://github.com/m-lab/ndt7-client-go
From inside the repository, use go get ./cmd/ndt7-client
to
build the client. Binaries will be placed in $GOPATH/bin
, if
GOPATH
is set, and in $HOME/go/bin
otherwise.
If you're into a one-off install, this
go get -v github.com/m-lab/ndt7-client-go/cmd/ndt7-client
is equivalent to cloning the repository, running go get ./cmd/ndt7-client
,
and then cancelling the repository directory.
In case you are integrating an ndt7-client binary into a third-party application, it may be useful to build it with a custom client name. Since this value is passed to the server as metadata, doing so will allow you to retrieve measurements coming from your custom integration in Measurement Lab's data easily.
To set a custom the client name at build time:
CLIENTNAME=my-custom-client-name
go build -ldflags "-X main.ClientName=$CLIENTNAME" ./cmd/ndt7-client