Skip to content

Commit

Permalink
Fixes (#6734) CPU Reserved Should Be 1024 Per VCPU ECS Container Insi…
Browse files Browse the repository at this point in the history
  • Loading branch information
sethAmazon authored Feb 10, 2022
1 parent 864606f commit db733d5
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 7 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
- `prometheusreceiver`: Correctly map description and units when converting
Prometheus metadata directly to pdata. (#7748)
- `sumologicexporter`: fix exporter panics on malformed histogram (#7548)
- `awsecscontainermetrics`: CPU Reserved is now 1024/vCPU for ECS Container Insights (#6734)

## 🚀 New components 🚀

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,19 +97,17 @@ func overrideWithTaskLevelLimit(taskMetrics *ECSMetrics, metadata ecsutil.TaskMe
taskMetrics.MemoryReserved = *metadata.Limits.Memory
}

taskMetrics.CPUReserved = taskMetrics.CPUReserved / cpusInVCpu

// Overwrite CPU limit with task level limit
if metadata.Limits.CPU != nil {
taskMetrics.CPUReserved = *metadata.Limits.CPU
taskMetrics.CPUReserved = *metadata.Limits.CPU * cpusInVCpu
}

// taskMetrics.CPUReserved cannot be zero. In ECS, user needs to set CPU limit
// at least in one place (either in task level or in container level). If the
// task level CPULimit is not present, we calculate it from the summation of
// all container CPU limits.
if taskMetrics.CPUReserved > 0 {
taskMetrics.CPUUtilized = ((taskMetrics.CPUUsageInVCPU / taskMetrics.CPUReserved) * 100)
taskMetrics.CPUUtilized = taskMetrics.CPUUsageInVCPU * cpusInVCpu
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,6 @@ const (
unitBytesPerSec = "Bytes/Second"
unitCount = "Count"
unitVCpu = "vCPU"
unitPercent = "Percent"
unitSecond = "Seconds"
unitNone = "None"
)
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ func convertToOTLPMetrics(prefix string, m ECSMetrics, r pdata.Resource, timesta
appendIntGauge(prefix+attributeCPUCores, unitCount, int64(m.NumOfCPUCores), timestamp, ilms.AppendEmpty())
appendIntGauge(prefix+attributeCPUOnlines, unitCount, int64(m.CPUOnlineCpus), timestamp, ilms.AppendEmpty())
appendIntSum(prefix+attributeCPUSystemUsage, unitNanoSecond, int64(m.SystemCPUUsage), timestamp, ilms.AppendEmpty())
appendDoubleGauge(prefix+attributeCPUUtilized, unitPercent, m.CPUUtilized, timestamp, ilms.AppendEmpty())
appendDoubleGauge(prefix+attributeCPUReserved, unitVCpu, m.CPUReserved, timestamp, ilms.AppendEmpty())
appendDoubleGauge(prefix+attributeCPUUtilized, unitNone, m.CPUUtilized, timestamp, ilms.AppendEmpty())
appendDoubleGauge(prefix+attributeCPUReserved, unitNone, m.CPUReserved, timestamp, ilms.AppendEmpty())
appendDoubleGauge(prefix+attributeCPUUsageInVCPU, unitVCpu, m.CPUUsageInVCPU, timestamp, ilms.AppendEmpty())

appendDoubleGauge(prefix+attributeNetworkRateRx, unitBytesPerSec, m.NetworkRateRxBytesPerSecond, timestamp, ilms.AppendEmpty())
Expand Down

0 comments on commit db733d5

Please sign in to comment.