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

Create metrics evergreen task



    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.2.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • Dev Platform 2022-07-25
    • 35


      Evergreen task steps and procedure

      1. Assuming normal required evergreen build steps like checking out the source code, etc are in place, first a script will launch to monitor system memory usage while the build is running. Primarily we are interested in peak memory usage.
      2. The next step will be a clean build with metrics gathering turned on, but with the cache disabled. The build will use the targets install-all-meta and generate-libdeps-graph. We will turn off random build order, to create consistent builds to compare against. Since this will be building everything in one build it is expected to take several hours.
      3. Next the build will be rerun in its completed state, with push to cache turned on, so that the cache will be populated. The build will pus to a local cache to see relative performance of our caching mechanism such as the ratio between a clean build, pushing everything to cache, and pulling everything from cache.
      4. Next the build will be cleaned, and a build will be completed with a hot cache to see the ratio of pulling from the cache. Note that some things which do not go into the cache will be rebuilt, so the performance impacts of those files will be accounted for here.
      5. The libdeps graph analyzer will run and extract basic metrics about the dependency graph.
      6. Finally, the artifacts of the build will be analyzed. This will include detailed data for binary artifacts (executable and compiled objects), and basic data for all other artifacts generated to the build directory.
      7. All steps will generate some json data which will be uploaded to evergreen performance analysis infrastructure.
      8. Finally a build visualization graph will be generated from the json data.




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