Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-5047

UIMA-DUCC: refactor agent code which gathers node and process metrics

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2.0-Ducc
    • Component/s: DUCC
    • Labels:
      None

      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 -1 ( read: 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.

        Activity

        Hide
        cwiklik Jerry Cwiklik added a comment -

        Modified to use cgroups as source for node and process level stats

        Show
        cwiklik Jerry Cwiklik added a comment - Modified to use cgroups as source for node and process level stats
        Hide
        lou.degenaro Lou DeGenaro added a comment -

        Support cgroups cpu reporting on WS Machines page:

        • MachineFacts
        • MachineFactsTest
        • DuccMachinesData
        • MachneInfo
        • DuccHandlerClassic
        • DuccHandlerJsonFormat
        Show
        lou.degenaro Lou DeGenaro added a comment - Support cgroups cpu reporting on WS Machines page: MachineFacts MachineFactsTest DuccMachinesData MachneInfo DuccHandlerClassic DuccHandlerJsonFormat
        Hide
        lou.degenaro Lou DeGenaro added a comment - - edited

        Modify the following to support cgroups cpu reporting flag:

        • NodeMetricsUpdateDuccEvent
        Show
        lou.degenaro Lou DeGenaro added a comment - - edited Modify the following to support cgroups cpu reporting flag: NodeMetricsUpdateDuccEvent

          People

          • Assignee:
            cwiklik Jerry Cwiklik
            Reporter:
            cwiklik Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development