mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #19056 from gmarek/fix-test
Auto commit by PR queue bot
This commit is contained in:
commit
df3f476722
@ -135,8 +135,6 @@ var _ = Describe("Density [Skipped]", func() {
|
|||||||
c.Pods(ns).Delete(name, nil)
|
c.Pods(ns).Delete(name, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
expectNoError(writePerfData(c, fmt.Sprintf(testContext.OutputDir+"/%s", uuid), "after"))
|
|
||||||
|
|
||||||
// Verify latency metrics.
|
// Verify latency metrics.
|
||||||
highLatencyRequests, err := HighLatencyRequests(c)
|
highLatencyRequests, err := HighLatencyRequests(c)
|
||||||
expectNoError(err)
|
expectNoError(err)
|
||||||
@ -172,7 +170,6 @@ var _ = Describe("Density [Skipped]", func() {
|
|||||||
|
|
||||||
expectNoError(resetMetrics(c))
|
expectNoError(resetMetrics(c))
|
||||||
expectNoError(os.Mkdir(fmt.Sprintf(testContext.OutputDir+"/%s", uuid), 0777))
|
expectNoError(os.Mkdir(fmt.Sprintf(testContext.OutputDir+"/%s", uuid), 0777))
|
||||||
expectNoError(writePerfData(c, fmt.Sprintf(testContext.OutputDir+"/%s", uuid), "before"))
|
|
||||||
|
|
||||||
Logf("Listing nodes for easy debugging:\n")
|
Logf("Listing nodes for easy debugging:\n")
|
||||||
for _, node := range nodes.Items {
|
for _, node := range nodes.Items {
|
||||||
|
@ -53,8 +53,6 @@ var _ = Describe("Latency [Skipped]", func() {
|
|||||||
c.Pods(ns).Delete(name, nil)
|
c.Pods(ns).Delete(name, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
expectNoError(writePerfData(c, fmt.Sprintf(testContext.OutputDir+"/%s", uuid), "after"))
|
|
||||||
|
|
||||||
// Verify latency metrics
|
// Verify latency metrics
|
||||||
highLatencyRequests, err := HighLatencyRequests(c)
|
highLatencyRequests, err := HighLatencyRequests(c)
|
||||||
expectNoError(err)
|
expectNoError(err)
|
||||||
@ -81,7 +79,6 @@ var _ = Describe("Latency [Skipped]", func() {
|
|||||||
|
|
||||||
expectNoError(resetMetrics(c))
|
expectNoError(resetMetrics(c))
|
||||||
expectNoError(os.Mkdir(fmt.Sprintf(testContext.OutputDir+"/%s", uuid), 0777))
|
expectNoError(os.Mkdir(fmt.Sprintf(testContext.OutputDir+"/%s", uuid), 0777))
|
||||||
expectNoError(writePerfData(c, fmt.Sprintf(testContext.OutputDir+"/%s", uuid), "before"))
|
|
||||||
|
|
||||||
Logf("Listing nodes for easy debugging:\n")
|
Logf("Listing nodes for easy debugging:\n")
|
||||||
for _, node := range nodes.Items {
|
for _, node := range nodes.Items {
|
||||||
|
@ -21,9 +21,6 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -345,72 +342,6 @@ func prettyPrintJSON(metrics interface{}) string {
|
|||||||
return string(formatted.Bytes())
|
return string(formatted.Bytes())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieves debug information.
|
|
||||||
func getDebugInfo(c *client.Client) (map[string]string, error) {
|
|
||||||
data := make(map[string]string)
|
|
||||||
for _, key := range []string{"block", "goroutine", "heap", "threadcreate"} {
|
|
||||||
resp, err := http.Get(c.Get().AbsPath(fmt.Sprintf("debug/pprof/%s", key)).URL().String() + "?debug=2")
|
|
||||||
if err != nil {
|
|
||||||
Logf("Warning: Error trying to fetch %s debug data: %v", key, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
body, err := ioutil.ReadAll(resp.Body)
|
|
||||||
resp.Body.Close()
|
|
||||||
if err != nil {
|
|
||||||
Logf("Warning: Error trying to read %s debug data: %v", key, err)
|
|
||||||
}
|
|
||||||
data[key] = string(body)
|
|
||||||
}
|
|
||||||
return data, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func writePerfData(c *client.Client, dirName string, postfix string) error {
|
|
||||||
fname := fmt.Sprintf("%s/metrics_%s.txt", dirName, postfix)
|
|
||||||
|
|
||||||
handler, err := os.Create(fname)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error creating file '%s': %v", fname, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
metrics, err := getMetrics(c)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error retrieving metrics: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = handler.WriteString(metrics)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error writing metrics: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = handler.Close()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error closing '%s': %v", fname, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
debug, err := getDebugInfo(c)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error retrieving debug information: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
for key, value := range debug {
|
|
||||||
fname := fmt.Sprintf("%s/%s_%s.txt", dirName, key, postfix)
|
|
||||||
handler, err = os.Create(fname)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error creating file '%s': %v", fname, err)
|
|
||||||
}
|
|
||||||
_, err = handler.WriteString(value)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error writing %s: %v", key, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = handler.Close()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error closing '%s': %v", fname, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// extractMetricSamples parses the prometheus metric samples from the input string.
|
// extractMetricSamples parses the prometheus metric samples from the input string.
|
||||||
func extractMetricSamples(metricsBlob string) ([]*model.Sample, error) {
|
func extractMetricSamples(metricsBlob string) ([]*model.Sample, error) {
|
||||||
dec, err := expfmt.NewDecoder(strings.NewReader(metricsBlob), expfmt.FmtText)
|
dec, err := expfmt.NewDecoder(strings.NewReader(metricsBlob), expfmt.FmtText)
|
||||||
|
Loading…
Reference in New Issue
Block a user