|
8 | 8 | "crypto/sha256"
|
9 | 9 | "encoding/hex"
|
10 | 10 | "io"
|
| 11 | + "net" |
11 | 12 | "net/http"
|
12 | 13 | "os"
|
13 | 14 | "os/signal"
|
@@ -64,7 +65,7 @@ var runCmd = &cobra.Command{
|
64 | 65 |
|
65 | 66 | promreg := prometheus.NewRegistry()
|
66 | 67 | gpreg := prometheus.WrapRegistererWithPrefix("gitpod_registry_facade_", promreg)
|
67 |
| - rtt, err := registry.NewMeasuringRegistryRoundTripper(http.DefaultTransport, prometheus.WrapRegistererWithPrefix("downstream_", gpreg)) |
| 68 | + rtt, err := registry.NewMeasuringRegistryRoundTripper(newDefaultTransport(), prometheus.WrapRegistererWithPrefix("downstream_", gpreg)) |
68 | 69 | if err != nil {
|
69 | 70 | log.WithError(err).Fatal("cannot registry metrics")
|
70 | 71 | }
|
@@ -125,6 +126,23 @@ var runCmd = &cobra.Command{
|
125 | 126 | },
|
126 | 127 | }
|
127 | 128 |
|
| 129 | +func newDefaultTransport() *http.Transport { |
| 130 | + return &http.Transport{ |
| 131 | + Proxy: http.ProxyFromEnvironment, |
| 132 | + DialContext: (&net.Dialer{ |
| 133 | + Timeout: 30 * time.Second, |
| 134 | + KeepAlive: 30 * time.Second, |
| 135 | + DualStack: false, |
| 136 | + }).DialContext, |
| 137 | + MaxIdleConns: 0, |
| 138 | + MaxIdleConnsPerHost: 32, |
| 139 | + IdleConnTimeout: 30 * time.Second, |
| 140 | + TLSHandshakeTimeout: 10 * time.Second, |
| 141 | + ExpectContinueTimeout: 5 * time.Second, |
| 142 | + DisableKeepAlives: true, |
| 143 | + } |
| 144 | +} |
| 145 | + |
128 | 146 | func init() {
|
129 | 147 | rootCmd.AddCommand(runCmd)
|
130 | 148 | }
|
|
0 commit comments