jobin
jobin

Reputation: 2798

Get cpu usage from Java API 1.13 for docker 1.1.2

I am trying to obtain the amount of cpu (measured in time or percentage, any one) utilized by a specific container deployed using docker as:

docker run <container_name>

or using lxc as:

lxc-start -n <container_name>

I see that the container deployed using lxc has cpu usage statistics stored in /sys/fs/cgroup/cpuacct/cpuacct.stat

However, I want to obtain these stats using the java API that can be obtained from here:

https://github.com/docker-java/docker-java

I see that the API provides methods to start, stop containers, image information, etc. However, I don't see a way that can provide container statistics such as cpu, memory and other resource usage statistics. From this question I see that this should have been present in API 1.0.

How do I get the cpu, memory, network and other resource usage statistics from the java API?

I would also very much appreciate an online blog or tutorial that can provide more insights into this too.


Specifications:

Docker:

Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070

Host OS:

Upvotes: 0

Views: 1328

Answers (2)

Rohit Jnagal
Rohit Jnagal

Reputation: 1212

If you are still interested, the latest version of cadvisor (github.com/google/cadvisor) added support for networking, filesystem, and many other stats. Give it another try.

Upvotes: 1

Regan
Regan

Reputation: 8791

You can use this API to monitor cpu and memory usage : https://github.com/google/cadvisor

Upvotes: 0

Related Questions