Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-67051

Create per action memory and duration metric for linux

    XMLWordPrintableJSON

Details

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • Dev Platform 2022-06-27, Dev Platform 2022-07-11

    Description

      For Command line actions, we can take over the SPAWN construction variable, which will call our own spawn function and then we can tailor the command and process output before returning back to scons.

      For function actions we can duck-type the FunctionAction calls to execute from our own function.

      Memory

      For Linux we can use procfs and the process spawn pid.

      For function actions we can use https://pypi.org/project/memory-profiler/

      CPU

      for now we will leave the cpu field empty.

      Duration

      From python, we can measure the wall clock time of the subprocess. I plan on using https://docs.python.org/3/library/timeit.html#timeit.default_timer

      Json Format:
       
      Note: for the action field, either the function name or command line will be used.
      {
       build_tasks: [{
      	 array_index: <int>(2),
      	 outputs: [<str>](2),
      	 inputs: [<str>](2),
      	 action: <str>(2),
       cpu_time: <float>(2),
       mem_usage: <long>(2),
      	 start_time: <datetime timestamp>(2),
      	 end_time: <datetime timestamp>(2)
      }]
      }
      
      

      Attachments

        Activity

          People

            daniel.moody@mongodb.com Daniel Moody
            daniel.moody@mongodb.com Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: