Print only interesting Kubelet metrics in JSON printer

pull/6/head
gmarek 2016-01-15 09:57:07 +01:00
parent 548b3b2fc1
commit ed7e9bfb20
1 changed files with 17 additions and 0 deletions

View File

@ -49,6 +49,22 @@ const (
type MetricsForE2E metrics.MetricsCollection type MetricsForE2E metrics.MetricsCollection
func (m *MetricsForE2E) filterMetrics() {
interestingApiServerMetrics := make(metrics.ApiServerMetrics)
for _, metric := range InterestingApiServerMetrics {
interestingApiServerMetrics[metric] = (*m).ApiServerMetrics[metric]
}
interestingKubeletMetrics := make(map[string]metrics.KubeletMetrics)
for kubelet, grabbed := range (*m).KubeletMetrics {
interestingKubeletMetrics[kubelet] = make(metrics.KubeletMetrics)
for _, metric := range InterestingKubeletMetrics {
interestingKubeletMetrics[kubelet][metric] = grabbed[metric]
}
}
(*m).ApiServerMetrics = interestingApiServerMetrics
(*m).KubeletMetrics = interestingKubeletMetrics
}
func (m *MetricsForE2E) PrintHumanReadable() string { func (m *MetricsForE2E) PrintHumanReadable() string {
buf := bytes.Buffer{} buf := bytes.Buffer{}
for _, interestingMetric := range InterestingApiServerMetrics { for _, interestingMetric := range InterestingApiServerMetrics {
@ -70,6 +86,7 @@ func (m *MetricsForE2E) PrintHumanReadable() string {
} }
func (m *MetricsForE2E) PrintJSON() string { func (m *MetricsForE2E) PrintJSON() string {
m.filterMetrics()
return prettyPrintJSON(*m) return prettyPrintJSON(*m)
} }