mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 03:38:15 +00:00 
			
		
		
		
	Merge pull request #45719 from shyamjvs/podstartuplatency
Automatic merge from submit-queue (batch tested with PRs 45653, 45719, 45729, 45730, 44250) Print pod startup latency metric as perfdata Follows #45657 This should print pod startup latency in same format as api calls latencies. cc @wojtek-t @gmarek
This commit is contained in:
		@@ -159,7 +159,7 @@ func (l *PodStartupLatency) PrintHumanReadable() string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (l *PodStartupLatency) PrintJSON() string {
 | 
					func (l *PodStartupLatency) PrintJSON() string {
 | 
				
			||||||
	return PrettyPrintJSON(l)
 | 
						return PrettyPrintJSON(PodStartupLatencyToPerfData(l))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type SchedulingLatency struct {
 | 
					type SchedulingLatency struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,6 +51,25 @@ func ApiCallToPerfData(apicalls *APIResponsiveness) *perftype.PerfData {
 | 
				
			|||||||
	return perfData
 | 
						return perfData
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// PodStartupLatencyToPerfData transforms PodStartupLatency to PerfData.
 | 
				
			||||||
 | 
					func PodStartupLatencyToPerfData(latency *PodStartupLatency) *perftype.PerfData {
 | 
				
			||||||
 | 
						perfData := &perftype.PerfData{Version: currentApiCallMetricsVersion}
 | 
				
			||||||
 | 
						item := perftype.DataItem{
 | 
				
			||||||
 | 
							Data: map[string]float64{
 | 
				
			||||||
 | 
								"Perc50":  float64(latency.Latency.Perc50) / 1000000, // us -> ms
 | 
				
			||||||
 | 
								"Perc90":  float64(latency.Latency.Perc90) / 1000000,
 | 
				
			||||||
 | 
								"Perc99":  float64(latency.Latency.Perc99) / 1000000,
 | 
				
			||||||
 | 
								"Perc100": float64(latency.Latency.Perc100) / 1000000,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							Unit: "ms",
 | 
				
			||||||
 | 
							Labels: map[string]string{
 | 
				
			||||||
 | 
								"Metric": "pod_startup",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						perfData.DataItems = append(perfData.DataItems, item)
 | 
				
			||||||
 | 
						return perfData
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// currentKubeletPerfMetricsVersion is the current kubelet performance metrics version. We should
 | 
					// currentKubeletPerfMetricsVersion is the current kubelet performance metrics version. We should
 | 
				
			||||||
// bump up the version each time we make incompatible change to the metrics.
 | 
					// bump up the version each time we make incompatible change to the metrics.
 | 
				
			||||||
const currentKubeletPerfMetricsVersion = "v2"
 | 
					const currentKubeletPerfMetricsVersion = "v2"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user