You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Joris Van Remoortere (JIRA)" <ji...@apache.org> on 2015/05/29 21:11:17 UTC

[jira] [Commented] (MESOS-2767) Gather usage of containers from DockerContainerizer via cgroups

    [ https://issues.apache.org/jira/browse/MESOS-2767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14565232#comment-14565232 ] 

Joris Van Remoortere commented on MESOS-2767:
---------------------------------------------

After talking with [~idownes] I want to clarify the impact of this change:
Once the usage() call is switched from {{mesos::internal::usage}} to using the cgroups there are at least 2 big changes:
1) Cgroups will report total accumulated statistics for all the pids that were in the group. This means it will account for ephemeral pids. The {{mesos::internal::usage}} version only reports the amount for the current active pid. This means the new cpu usage reports will be more consistent, but also different.
2) Cgroups calculates the memory usage differently from {{mesos::internal::usage}}. [~idownes] has a better understanding of this, and has left some comments in the relevant sections of code.

The consequence of the above is that users of these usage metrics should be careful when upgrading to this potential change, as it may trigger monitoring alerts. Any tooling around these may need to be tuned to adjust for the accounting changes.

If we continue with this change, we will need to notify the dev list, as well as make it clear in the release notes.

> Gather usage of containers from DockerContainerizer via cgroups
> ---------------------------------------------------------------
>
>                 Key: MESOS-2767
>                 URL: https://issues.apache.org/jira/browse/MESOS-2767
>             Project: Mesos
>          Issue Type: Improvement
>          Components: docker
>            Reporter: Timothy Chen
>
> Currently the DockerContaierizer in usage() is calling mesos::internal::usage which is gathering usage by calling sysctl and walking through every process in the system.
> We should directly gather statitstics by looking at cgroups, simliar of how MesosContainerizer or cadvisor works.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)