Merge pull request #17549 from donhcd/fixPre122Stats

fix pre-1.21 docker stats
This commit is contained in:
David Calavera 2015-10-30 16:45:41 -07:00
commit 9bf20c6847

View file

@ -71,7 +71,8 @@ func (daemon *Daemon) ContainerStats(prefixOrName string, config *ContainerStats
return nil
}
statsJSON := getStatJSON(v)
var statsJSON interface{}
statsJSONPost120 := getStatJSON(v)
if config.Version.LessThan("1.21") {
var (
rxBytes uint64
@ -83,7 +84,7 @@ func (daemon *Daemon) ContainerStats(prefixOrName string, config *ContainerStats
txErrors uint64
txDropped uint64
)
for _, v := range statsJSON.Networks {
for _, v := range statsJSONPost120.Networks {
rxBytes += v.RxBytes
rxPackets += v.RxPackets
rxErrors += v.RxErrors
@ -93,8 +94,8 @@ func (daemon *Daemon) ContainerStats(prefixOrName string, config *ContainerStats
txErrors += v.TxErrors
txDropped += v.TxDropped
}
statsJSONPre121 := &v1p20.StatsJSON{
Stats: statsJSON.Stats,
statsJSON = &v1p20.StatsJSON{
Stats: statsJSONPost120.Stats,
Network: types.NetworkStats{
RxBytes: rxBytes,
RxPackets: rxPackets,
@ -106,20 +107,8 @@ func (daemon *Daemon) ContainerStats(prefixOrName string, config *ContainerStats
TxDropped: txDropped,
},
}
if !config.Stream && noStreamFirstFrame {
// prime the cpu stats so they aren't 0 in the final output
noStreamFirstFrame = false
continue
}
if err := enc.Encode(statsJSONPre121); err != nil {
return err
}
if !config.Stream {
return nil
}
} else {
statsJSON = statsJSONPost120
}
if !config.Stream && noStreamFirstFrame {