-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request moby#9984 from crosbymichael/metrics
Docker stats live container resource metrics
- Loading branch information
Showing
20 changed files
with
848 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
// This package is used for API stability in the types and response to the | ||
// consumers of the API stats endpoint. | ||
package stats | ||
|
||
import "time" | ||
|
||
type ThrottlingData struct { | ||
// Number of periods with throttling active | ||
Periods uint64 `json:"periods,omitempty"` | ||
// Number of periods when the container hit its throttling limit. | ||
ThrottledPeriods uint64 `json:"throttled_periods,omitempty"` | ||
// Aggregate time the container was throttled for in nanoseconds. | ||
ThrottledTime uint64 `json:"throttled_time,omitempty"` | ||
} | ||
|
||
// All CPU stats are aggregated since container inception. | ||
type CpuUsage struct { | ||
// Total CPU time consumed. | ||
// Units: nanoseconds. | ||
TotalUsage uint64 `json:"total_usage,omitempty"` | ||
// Total CPU time consumed per core. | ||
// Units: nanoseconds. | ||
PercpuUsage []uint64 `json:"percpu_usage,omitempty"` | ||
// Time spent by tasks of the cgroup in kernel mode. | ||
// Units: nanoseconds. | ||
UsageInKernelmode uint64 `json:"usage_in_kernelmode"` | ||
// Time spent by tasks of the cgroup in user mode. | ||
// Units: nanoseconds. | ||
UsageInUsermode uint64 `json:"usage_in_usermode"` | ||
} | ||
|
||
type CpuStats struct { | ||
CpuUsage CpuUsage `json:"cpu_usage,omitempty"` | ||
SystemUsage uint64 `json:"system_cpu_usage"` | ||
ThrottlingData ThrottlingData `json:"throttling_data,omitempty"` | ||
} | ||
|
||
type MemoryStats struct { | ||
// current res_counter usage for memory | ||
Usage uint64 `json:"usage,omitempty"` | ||
// maximum usage ever recorded. | ||
MaxUsage uint64 `json:"max_usage,omitempty"` | ||
// TODO(vishh): Export these as stronger types. | ||
// all the stats exported via memory.stat. | ||
Stats map[string]uint64 `json:"stats,omitempty"` | ||
// number of times memory usage hits limits. | ||
Failcnt uint64 `json:"failcnt"` | ||
Limit uint64 `json:"limit"` | ||
} | ||
|
||
type BlkioStatEntry struct { | ||
Major uint64 `json:"major,omitempty"` | ||
Minor uint64 `json:"minor,omitempty"` | ||
Op string `json:"op,omitempty"` | ||
Value uint64 `json:"value,omitempty"` | ||
} | ||
|
||
type BlkioStats struct { | ||
// number of bytes tranferred to and from the block device | ||
IoServiceBytesRecursive []BlkioStatEntry `json:"io_service_bytes_recursive,omitempty"` | ||
IoServicedRecursive []BlkioStatEntry `json:"io_serviced_recursive,omitempty"` | ||
IoQueuedRecursive []BlkioStatEntry `json:"io_queue_recursive,omitempty"` | ||
IoServiceTimeRecursive []BlkioStatEntry `json:"io_service_time_recursive,omitempty"` | ||
IoWaitTimeRecursive []BlkioStatEntry `json:"io_wait_time_recursive,omitempty"` | ||
IoMergedRecursive []BlkioStatEntry `json:"io_merged_recursive,omitempty"` | ||
IoTimeRecursive []BlkioStatEntry `json:"io_time_recursive,omitempty"` | ||
SectorsRecursive []BlkioStatEntry `json:"sectors_recursive,omitempty"` | ||
} | ||
|
||
type Network struct { | ||
RxBytes uint64 `json:"rx_bytes"` | ||
RxPackets uint64 `json:"rx_packets"` | ||
RxErrors uint64 `json:"rx_errors"` | ||
RxDropped uint64 `json:"rx_dropped"` | ||
TxBytes uint64 `json:"tx_bytes"` | ||
TxPackets uint64 `json:"tx_packets"` | ||
TxErrors uint64 `json:"tx_errors"` | ||
TxDropped uint64 `json:"tx_dropped"` | ||
} | ||
|
||
type Stats struct { | ||
Read time.Time `json:"read"` | ||
Network Network `json:"network,omitempty"` | ||
CpuStats CpuStats `json:"cpu_stats,omitempty"` | ||
MemoryStats MemoryStats `json:"memory_stats,omitempty"` | ||
BlkioStats BlkioStats `json:"blkio_stats,omitempty"` | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.