You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2016/09/15 13:04:20 UTC

[jira] [Updated] (UIMA-5047) UIMA-DUCC: refactor agent code which gathers node and process metrics

     [ https://issues.apache.org/jira/browse/UIMA-5047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-5047:
--------------------------------
    Description: 
Currently agent fetches metrics from different sources including /proc file system, top, ps, etc. The files found in /proc file system don't have fixed structure across Linux platforms causing some metrics to be missing or be wrong. Also scrapping lnx commands may not be 100% reliable as well

Change the code to fetch CPU metrics from cgroups. For reporting the CPU, the agent needs to look at cgroups cpuacct.stat file.

Agent will collect process CPU usage when 
     a) cgroups  are ON.   
     b) cgroups accounting is configured in cgconfig
     
    Agent publishes N/A if cgroups are OFF or accounting is OFF.

Agent will:
     a) fetch the CPU from cgroups accounting as a sum of CPU spent in both user and system mode.
          These are separately maintained counts in cgroups.
     b) agent should publish delta (subtracting current from previous reading)
   
Agent will continue to include two CPU values as part of its inventory publication: 
    1) Total CPU used by a process from the time it started. This value is used by the webserver to show CPU usage when a process terminates.
    2) "Current" CPU used be a process. This is a delta computed as described in 2c above. This value is shown by the webserver while the process is running.



  was:
Currently agent fetches metrics from different sources including /proc file system, top, ps, etc. The files found in /proc file system don't have fixed structure across Linux platforms causing some metrics to be missing or be wrong. Also scrapping lnx commands may not be 100% reliable as well

Change the code to fetch metrics from cgroups. Where to get metrics not available in cgroups is an open question.

For reporting the CPU, the agent needs to look at cgroups cpuacct.stat file and use the values for reporting. The agent should keep previous reading and use it to compute delta for the "current" CPU. Agent should not scrape top to get the current CPU use.

In case cgroups are not available, the agent will provide 0 or N/A for metrics which should come from cgroups.



> UIMA-DUCC: refactor agent code which gathers node and process metrics
> ---------------------------------------------------------------------
>
>                 Key: UIMA-5047
>                 URL: https://issues.apache.org/jira/browse/UIMA-5047
>             Project: UIMA
>          Issue Type: Improvement
>          Components: DUCC
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.2.0-Ducc
>
>
> Currently agent fetches metrics from different sources including /proc file system, top, ps, etc. The files found in /proc file system don't have fixed structure across Linux platforms causing some metrics to be missing or be wrong. Also scrapping lnx commands may not be 100% reliable as well
> Change the code to fetch CPU metrics from cgroups. For reporting the CPU, the agent needs to look at cgroups cpuacct.stat file.
> Agent will collect process CPU usage when 
>      a) cgroups  are ON.   
>      b) cgroups accounting is configured in cgconfig
>      
>     Agent publishes N/A if cgroups are OFF or accounting is OFF.
> Agent will:
>      a) fetch the CPU from cgroups accounting as a sum of CPU spent in both user and system mode.
>           These are separately maintained counts in cgroups.
>      b) agent should publish delta (subtracting current from previous reading)
>    
> Agent will continue to include two CPU values as part of its inventory publication: 
>     1) Total CPU used by a process from the time it started. This value is used by the webserver to show CPU usage when a process terminates.
>     2) "Current" CPU used be a process. This is a delta computed as described in 2c above. This value is shown by the webserver while the process is running.



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