Skip to content

Commit

Permalink
Merge pull request #10 from wongnai/whs/otelhttp
Browse files Browse the repository at this point in the history
Use otelhttp for Kubernetes client
  • Loading branch information
whs authored Mar 8, 2024
2 parents 6ec7528 + 9323feb commit e8a3648
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ require (
github.com/golang/protobuf v1.5.4
github.com/prometheus/client_golang v1.19.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0
go.opentelemetry.io/otel v1.24.0
go.opentelemetry.io/otel/exporters/prometheus v0.46.0
go.opentelemetry.io/otel/metric v1.24.0
Expand Down Expand Up @@ -53,7 +54,6 @@ require (
github.com/prometheus/common v0.50.0 // indirect
github.com/prometheus/procfs v0.13.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
go.opentelemetry.io/otel/sdk v1.24.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
golang.org/x/net v0.22.0 // indirect
Expand Down
19 changes: 13 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package main
import (
"context"
"flag"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
"net"
"net/http"
"os"
Expand All @@ -22,11 +21,13 @@ import (
"github.com/wongnai/xds/report"
"github.com/wongnai/xds/snapshot"
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
"google.golang.org/grpc"
"google.golang.org/grpc/health"
"google.golang.org/grpc/health/grpc_health_v1"
"k8s.io/client-go/kubernetes"
_ "k8s.io/client-go/plugin/pkg/client/auth/oidc"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/klog/v2"
)
Expand All @@ -40,17 +41,23 @@ func main() {

meter.InstallPromExporter()

httpClient := http.Client{
Transport: otelhttp.NewTransport(http.DefaultTransport),
}

stopCtx, stop := context.WithCancel(context.Background())

clientConfig, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(clientcmd.NewDefaultClientConfigLoadingRules(), nil).ClientConfig()
if err != nil {
klog.Fatal("Fail to create Kubernetes client config", err)
}
k8sClient, err := kubernetes.NewForConfigAndClient(clientConfig, &httpClient)

httpTransport, err := rest.TransportFor(clientConfig)
if err != nil {
klog.Fatal("Fail to create HTTP client", err)
}
httpClient := &http.Client{
Transport: otelhttp.NewTransport(httpTransport),
Timeout: clientConfig.Timeout,
}

k8sClient, err := kubernetes.NewForConfigAndClient(clientConfig, httpClient)
if err != nil {
klog.Fatal("Fail to create Kubernetes client", err)
}
Expand Down

0 comments on commit e8a3648

Please sign in to comment.