docker stats --one-shot 说明
docker stats --one-shot explanation
我正在尝试为 docker stats --one-shot
实现一个 api 端点,但我根本不明白 --one-shot 和 --no-stream 之间的区别。 API 文档位于 here 但没有说明太多。我知道这似乎是一个简单的问题,但我是 docker api 的新手,似乎不太清楚。谢谢。
如果您指定 one-shot=true
那么 precpu 统计信息将为空。默认情况下,服务器端的第二次检查是 运行 以填充此值,但会导致额外的 2 秒延迟:
$ curl -s --unix-socket /var/run/docker.sock 'http://localhost/containers/76c22a363ea8900ddd7ecee74fd6bb19d5dd7c50a26695e6b0dee5c353e2174d/stats?stream=false&one-shot=true' | jq .precpu_stats
{
"cpu_usage": {
"total_usage": 0,
"usage_in_kernelmode": 0,
"usage_in_usermode": 0
},
"throttling_data": {
"periods": 0,
"throttled_periods": 0,
"throttled_time": 0
}
}
$ curl -s --unix-socket /var/run/docker.sock 'http://localhost/containers/76c22a363ea8900ddd7ecee74fd6bb19d5dd7c50a26695e6b0dee5c353e2174d/stats?stream=false&one-shot=false' | jq .precpu_stats
{
"cpu_usage": {
"total_usage": 336500498536,
"percpu_usage": [
42273785950,
42067912050,
42236140288,
42504140826,
42151800123,
41175670348,
41403446188,
42687602763
],
"usage_in_kernelmode": 6110000000,
"usage_in_usermode": 97120000000
},
"system_cpu_usage": 70752558350000000,
"online_cpus": 8,
"throttling_data": {
"periods": 0,
"throttled_periods": 0,
"throttled_time": 0
}
}
我正在尝试为 docker stats --one-shot
实现一个 api 端点,但我根本不明白 --one-shot 和 --no-stream 之间的区别。 API 文档位于 here 但没有说明太多。我知道这似乎是一个简单的问题,但我是 docker api 的新手,似乎不太清楚。谢谢。
如果您指定 one-shot=true
那么 precpu 统计信息将为空。默认情况下,服务器端的第二次检查是 运行 以填充此值,但会导致额外的 2 秒延迟:
$ curl -s --unix-socket /var/run/docker.sock 'http://localhost/containers/76c22a363ea8900ddd7ecee74fd6bb19d5dd7c50a26695e6b0dee5c353e2174d/stats?stream=false&one-shot=true' | jq .precpu_stats
{
"cpu_usage": {
"total_usage": 0,
"usage_in_kernelmode": 0,
"usage_in_usermode": 0
},
"throttling_data": {
"periods": 0,
"throttled_periods": 0,
"throttled_time": 0
}
}
$ curl -s --unix-socket /var/run/docker.sock 'http://localhost/containers/76c22a363ea8900ddd7ecee74fd6bb19d5dd7c50a26695e6b0dee5c353e2174d/stats?stream=false&one-shot=false' | jq .precpu_stats
{
"cpu_usage": {
"total_usage": 336500498536,
"percpu_usage": [
42273785950,
42067912050,
42236140288,
42504140826,
42151800123,
41175670348,
41403446188,
42687602763
],
"usage_in_kernelmode": 6110000000,
"usage_in_usermode": 97120000000
},
"system_cpu_usage": 70752558350000000,
"online_cpus": 8,
"throttling_data": {
"periods": 0,
"throttled_periods": 0,
"throttled_time": 0
}
}