diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 41d77146e0a4..aaf108d455d0 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -49,6 +49,7 @@ https://github.com/elastic/beats/compare/v6.2.3...master[Check the HEAD diff] - Change http/server metricset to put events by default under http.server and prefix config options with server.. {pull}7100[7100] - Disable dedotting in docker module configuration. This will change the out-of-the-box behaviour, but not the one of already configured instances. {pull}7485[7485] - Fix typo in etcd/self metricset fields from *.bandwithrate to *.bandwidthrate. {pull}7456[7456] +- Changed the definition of the `system.cpu.total.pct` and `system.cpu.total.norm.cou` fields to exclude the IOWait time. {pull}7691[7691] *Packetbeat* diff --git a/libbeat/metric/system/cpu/cpu.go b/libbeat/metric/system/cpu/cpu.go index a78b93daadb1..b5cb6981fb87 100644 --- a/libbeat/metric/system/cpu/cpu.go +++ b/libbeat/metric/system/cpu/cpu.go @@ -116,7 +116,9 @@ func cpuPercentages(s0, s1 *sigar.Cpu, numCPU int) Percentages { } calculateTotalPct := func() float64 { - return common.Round(float64(numCPU)-calculatePct(s0.Idle, s1.Idle), common.DefaultDecimalPlacesCount) + // IOWait time is excluded from the total as per #7627. + idle := calculatePct(s0.Idle, s1.Idle) + calculatePct(s0.Wait, s1.Wait) + return common.Round(float64(numCPU)-idle, common.DefaultDecimalPlacesCount) } return Percentages{ diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 88c86f2872b3..9dd54a257a6f 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -15459,7 +15459,7 @@ type: scaled_float format: percent -The percentage of CPU time spent in non-idle state. +The percentage of CPU time spent in states other than Idle and IOWait. -- @@ -15567,17 +15567,7 @@ type: scaled_float format: percent -The percentage of CPU time spent in non-idle state. - - --- - -*`system.cpu.total.value`*:: -+ --- -type: long - -The value of CPU usage since starting the process. +The percentage of CPU time in states other than Idle and IOWait, normalised by the number of cores. -- diff --git a/metricbeat/module/system/cpu/_meta/fields.yml b/metricbeat/module/system/cpu/_meta/fields.yml index df98144ff748..40614c44be94 100644 --- a/metricbeat/module/system/cpu/_meta/fields.yml +++ b/metricbeat/module/system/cpu/_meta/fields.yml @@ -69,7 +69,7 @@ type: scaled_float format: percent description: > - The percentage of CPU time spent in non-idle state. + The percentage of CPU time spent in states other than Idle and IOWait. # Normalized Percentages - name: user.norm.pct @@ -126,14 +126,7 @@ type: scaled_float format: percent description: > - The percentage of CPU time spent in non-idle state. - - - # Total - - name: total.value - type: long - description: > - The value of CPU usage since starting the process. + The percentage of CPU time in states other than Idle and IOWait, normalised by the number of cores. # Ticks diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index 00c32a6d4dc4..481795680011 100644 --- a/metricbeat/module/system/fields.go +++ b/metricbeat/module/system/fields.go @@ -31,5 +31,5 @@ func init() { // Asset returns asset data func Asset() string { - return "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" + return "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" }