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

Create artifact metrics

    • Type: Icon: New Feature New Feature
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Dev Platform 2022-06-27, Dev Platform 2022-07-11, Dev Platform 2022-07-25

      All files built will be recorded by name, type and size. Name will be the platform and variant independent path (without the ixes or variant dir, e.g. build/opt/mongo/db/libtest.so -> mongo/db/test ) similar to how SCons internally uniquely identifies nodes. The “type” will be a set of known classifiers, First coming from scons builder types if possible or otherwise something reasonable. For example such a list would include “Object”, “Library”, “Program”, “text”, “json” etc. If the type cannot be discerned, the term “unknown” will be used. Generally the extension will be used to discern the type of file, but parsing the file for other clues could also be an option in some cases. Object, Program, and Library types can have the elf data parsed on linux for additional information, otherwise the bin_metrics field will be empty. The bloaty tool can output csv for all the sections and be parsed to discover all the information needed. Some of the fields (like debug) will be the summation of similar fields (ex. .debug_info, .debug_str, .debug_*, etc).

      Json Format:
      
      {
          artifact_metrics: {
          total_artifiact_size: <long>(1),
          num_artifacts: <long>(1),
          artifacts:[{
              array_index: <int>(1),
              name: <str>(1),
              type: <str>(1),
              size: <long>(1),
              bin_metrics: {
                  text_size: <long>(2),
                  data_size: <long>(2),
                  rodata_size: <long>(2),
                  bss_size: <long>(2),
                  debug_size: <long>(2),
                  symtab_len: <long>(2),
                  dyntab_len: <long>(2),
              }
          }]},
      }
      
      

            Assignee:
            richard.samuels@mongodb.com Richard Samuels (Inactive)
            Reporter:
            daniel.moody@mongodb.com Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: