Просмотр исходного кода

Merge pull request #121 from kubecost/AjayTripathy-prometheus-timeouts

Ajay tripathy prometheus timeouts
Ajay Tripathy 6 лет назад
Родитель
Сommit
d32d9fc564
1 измененных файлов с 12 добавлено и 1 удалено
  1. 12 1
      main.go

+ 12 - 1
main.go

@@ -4,6 +4,7 @@ import (
 	"context"
 	"encoding/json"
 	"flag"
+	"net"
 	"net/http"
 	"os"
 	"reflect"
@@ -375,8 +376,18 @@ func main() {
 		klog.Fatalf("No address for prometheus set in $%s. Aborting.", prometheusServerEndpointEnvVar)
 	}
 
+	var LongTimeoutRoundTripper http.RoundTripper = &http.Transport{ // may be necessary for long prometheus queries. TODO: make this configurable
+		Proxy: http.ProxyFromEnvironment,
+		DialContext: (&net.Dialer{
+			Timeout:   120 * time.Second,
+			KeepAlive: 120 * time.Second,
+		}).DialContext,
+		TLSHandshakeTimeout: 10 * time.Second,
+	}
+
 	pc := prometheusClient.Config{
-		Address: address,
+		Address:      address,
+		RoundTripper: LongTimeoutRoundTripper,
 	}
 	promCli, _ := prometheusClient.NewClient(pc)