modulepackage
0.0.3
Repository: https://github.com/jaabaali/go-echo-service.git
Documentation: pkg.go.dev
# README
Echo server wrapper for the Echo
- Integrates OTEL tracing, metrics and logging in a coherent way
Usage
package main
import (
"context"
"net/http"
"os"
"time"
svc "github.com/Jaabaali/go-echo-service"
"github.com/labstack/echo/v4/middleware"
flag "github.com/spf13/pflag"
)
func main() {
addr := flag.String("listen", ":8080", "listen address")
otelHost := flag.String("otel-host", os.Getenv("DD_AGENT_HOST"), "otel collector host")
otelPort := flag.String("otel-grpc-port", "4317", "otel collector grpc port")
otelSampleRate := flag.Float64("otel-sample-rate", 0.2, "otel sample rate")
flag.Parse()
otelEndpoint := *otelHost + ":" + *otelPort
service := svc.NewService("service-tts",
svc.WithOtelEndpoint(otelEndpoint),
svc.WithSampleRate(*otelSampleRate),
)
ctx := context.Background()
// get router logr and shutdown function
router, logr, shutdown := service.Setup(ctx)
defer shutdown()
// add middleware
router.Use(middleware.CORS())
logr.Info("starting server")
// with graceful shutdown
service.Start(ctx, &http.Server{
Addr: *addr,
ReadTimeout: 10 * time.Second,
ReadHeaderTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
})
}
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author