import (
"flag"
"github.com/SkyAPM/go2sky"
v3 "github.com/SkyAPM/go2sky-plugins/gin/v3"
"github.com/SkyAPM/go2sky/reporter"
"github.com/gin-gonic/gin"
"log"
"net/http"
)
var (
grpc bool
oapServer string
listenAddr string
serviceName string
client *http.Client
)
func init() {
flag.BoolVar(&grpc, "grpc", false, "use grpc reporter")
flag.StringVar(&oapServer, "oap-server", "9.223.77.222:11800", "oap server address")
flag.StringVar(&listenAddr, "listen-addr", "0.0.0.0:8809", "listen address")
flag.StringVar(&serviceName, "service-name", "go2sky-server", "service name")
}
func main() {
flag.Parse()
log.Println("reporter.NewGRPCReporter start")
var report go2sky.Reporter
var err error
report, err = reporter.NewGRPCReporter(
oapServer,
reporter.WithAuthentication("c944279f910baee6d2e102817270696f"))
if err != nil {
log.Fatalf("crate grpc reporter error: %v \\n", err)
}
log.Println("go2sky.NewTracer")
tracer, err := go2sky.NewTracer(serviceName, go2sky.WithReporter(report))
if err != nil {
log.Fatalf("crate tracer error: %v \\n", err)
}
gin.SetMode(gin.ReleaseMode)
r := gin.New()
r.Use(v3.Middleware(r, tracer))
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "hi gin",
})
})
log.Println("0.0.0.0:8809")
r.Run(listenAddr)
}
Was this page helpful?