Skip to content

Instantly share code, notes, and snippets.

@whywaita
Last active June 14, 2018 05:55
Show Gist options
  • Save whywaita/444021e7d657dca4d7af1cb204c7fc00 to your computer and use it in GitHub Desktop.
Save whywaita/444021e7d657dca4d7af1cb204c7fc00 to your computer and use it in GitHub Desktop.
dogstatsd sample code
package main
import (
"fmt"
"log"
"math/rand"
"time"
"github.com/DataDog/datadog-go/statsd"
"go.uber.org/zap"
)
func main() {
// logger
logger, err := zap.NewProduction()
if err != nil {
log.Fatalf("can't initialize zap logger: %v", err)
}
defer logger.Sync()
// make statsd (dogstatsd) client
c, err := statsd.New("<node grobal ip>:<nodePort>")
if err != nil {
logger.Fatal(err.Error())
}
// set namespace, using datadog web ui
c.Namespace = "random_test."
for {
r := rand.Float64() // generate random value
fmt.Println(r)
err = c.Gauge("rand", r, nil, 1) // send to dogstatsd. can use many data types (https://docs.datadoghq.com/developers/dogstatsd/data_types/)
if err != nil {
logger.Warn("", zap.Error(err))
}
time.Sleep(5 * time.Second)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment