in otelcollector/fluent-bit/src/telemetry.go [458:497]
func SendContainersCpuMemoryToAppInsightsMetrics() {
var p CadvisorJson
err := json.Unmarshal(retrieveKsmData(), &p)
if err != nil {
message := fmt.Sprintf("Unable to retrieve the unmarshalled Json from Cadvisor- %v\n", err)
Log(message)
SendException(message)
}
ksmTelemetryTicker := time.NewTicker(time.Second * time.Duration(ksmAttachedTelemetryIntervalSeconds))
for ; true; <-ksmTelemetryTicker.C {
for podId := 0; podId < len(p.Pods); podId++ {
podRefName := strings.TrimSpace(p.Pods[podId].PodRef.PodRefName)
for containerId := 0; containerId < len(p.Pods[podId].Containers); containerId++ {
container := p.Pods[podId].Containers[containerId]
containerName := strings.TrimSpace(container.Name)
switch containerName {
case "":
message := fmt.Sprintf("Container name is missing")
Log(message)
continue
case "ama-metrics-ksm":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, ksmCpuMemoryTelemetryName, "MemKsmRssBytes", podRefName)
case "targetallocator":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, "taCPUUsage", "taMemRssBytes", podRefName)
case "config-reader":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, "cnfgRdrCPUUsage", "cnfgRdrMemRssBytes", podRefName)
case "addon-token-adapter":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, "adnTknAdtrCPUUsage", "adnTknAdtrMemRssBytes", podRefName)
case "addon-token-adapter-win":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, "adnTknAdtrCPUUsage", "adnTknAdtrMemRssBytes", podRefName)
case "prometheus-collector":
GetAndSendContainerCPUandMemoryFromCadvisorJSON(container, "promColCPUUsage", "promColMemRssBytes", podRefName)
}
}
}
}
}