mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
fix check datascale command for https endpoints
This commit is contained in:
parent
0ecc337028
commit
4bacd21e20
@ -311,6 +311,8 @@ func newCheckDatascaleCommand(cmd *cobra.Command, args []string) {
|
||||
ExitWithError(ExitError, errEndpoints)
|
||||
}
|
||||
|
||||
sec := secureCfgFromCmd(cmd)
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
resp, err := clients[0].Get(ctx, checkDatascalePrefix, v3.WithPrefix(), v3.WithLimit(1))
|
||||
cancel()
|
||||
@ -329,7 +331,7 @@ func newCheckDatascaleCommand(cmd *cobra.Command, args []string) {
|
||||
wg.Add(len(clients))
|
||||
|
||||
// get the process_resident_memory_bytes and process_virtual_memory_bytes before the put operations
|
||||
bytesBefore := endpointMemoryMetrics(eps[0])
|
||||
bytesBefore := endpointMemoryMetrics(eps[0], sec)
|
||||
if bytesBefore == 0 {
|
||||
fmt.Println("FAIL: Could not read process_resident_memory_bytes before the put operations.")
|
||||
os.Exit(ExitError)
|
||||
@ -367,7 +369,7 @@ func newCheckDatascaleCommand(cmd *cobra.Command, args []string) {
|
||||
s := <-sc
|
||||
|
||||
// get the process_resident_memory_bytes after the put operations
|
||||
bytesAfter := endpointMemoryMetrics(eps[0])
|
||||
bytesAfter := endpointMemoryMetrics(eps[0], sec)
|
||||
if bytesAfter == 0 {
|
||||
fmt.Println("FAIL: Could not read process_resident_memory_bytes after the put operations.")
|
||||
os.Exit(ExitError)
|
||||
|
@ -15,6 +15,7 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"context"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
@ -90,14 +91,26 @@ func isCommandTimeoutFlagSet(cmd *cobra.Command) bool {
|
||||
return commandTimeoutFlag.Changed
|
||||
}
|
||||
|
||||
// get the process_resident_memory_bytes from <server:2379>/metrics
|
||||
func endpointMemoryMetrics(host string) float64 {
|
||||
// get the process_resident_memory_bytes from <server>/metrics
|
||||
func endpointMemoryMetrics(host string, scfg *secureCfg) float64 {
|
||||
residentMemoryKey := "process_resident_memory_bytes"
|
||||
var residentMemoryValue string
|
||||
if !strings.HasPrefix(host, `http://`) {
|
||||
if !strings.HasPrefix(host, "http://") && !strings.HasPrefix(host, "https://") {
|
||||
host = "http://" + host
|
||||
}
|
||||
url := host + "/metrics"
|
||||
if strings.HasPrefix(host, "https://") {
|
||||
// load client certificate
|
||||
cert, err := tls.LoadX509KeyPair(scfg.cert, scfg.key)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Sprintf("client certificate error: %v", err))
|
||||
return 0.0
|
||||
}
|
||||
http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{
|
||||
Certificates: []tls.Certificate{cert},
|
||||
InsecureSkipVerify: scfg.insecureSkipVerify,
|
||||
}
|
||||
}
|
||||
resp, err := http.Get(url)
|
||||
if err != nil {
|
||||
fmt.Println(fmt.Sprintf("fetch error: %v", err))
|
||||
|
Loading…
x
Reference in New Issue
Block a user