# Global Metrics

path: .metrics.mi.mi_sei
old: 58.0464577789826
new: 72.66361187003852
path: .metrics.mi.mi_original
old: 62.7077880708254
new: 81.00091811068373
path: .metrics.mi.mi_visual_studio
old: 36.67122109404994
new: 47.36895795946417
path: .metrics.loc.ploc
old: 38.0
new: 24.0
path: .metrics.loc.sloc
old: 92.0
new: 37.0
path: .metrics.loc.blank
old: 16.0
new: 6.0
path: .metrics.loc.cloc
old: 38.0
new: 7.0
path: .metrics.halstead.length
old: 95.0
new: 73.0
path: .metrics.halstead.N2
old: 41.0
new: 29.0
path: .metrics.halstead.effort
old: 3245.833333333333
new: 2832.7022991841286
path: .metrics.halstead.volume
old: 475.0
new: 374.43766023698254
path: .metrics.halstead.level
old: 0.14634146341463417
new: 0.13218390804597702
path: .metrics.halstead.n2
old: 24.0
new: 23.0
path: .metrics.halstead.vocabulary
old: 32.0
new: 35.0
path: .metrics.halstead.time
old: 180.32407407407405
new: 157.3723499546738
path: .metrics.halstead.N1
old: 54.0
new: 44.0
path: .metrics.halstead.n1
old: 8.0
new: 12.0
path: .metrics.halstead.purity_ratio
old: 1.410937894919029
new: 2.0145407533967834
path: .metrics.halstead.bugs
old: 0.07307400141321153
new: 0.0667338276400098
path: .metrics.halstead.estimated_program_length
old: 134.03910001730776
new: 147.06147499796518
path: .metrics.halstead.difficulty
old: 6.833333333333333
new: 7.565217391304348
path: .metrics.cyclomatic.average
old: 1.0
new: 1.5
path: .metrics.cyclomatic.sum
old: 13.0
new: 3.0

# Spaces Data

## Minimal test - lines (13, 35)

path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[0].metrics.mi.mi_original
old: null
new: 89.55937030510714
path: .spaces[0].metrics.mi.mi_sei
old: null
new: 80.24789458272105
path: .spaces[0].metrics.mi.mi_visual_studio
old: null
new: 52.37390076322055
path: .spaces[0].metrics.halstead.time
old: 0.0
new: 139.76048538775606
path: .spaces[0].metrics.halstead.n1
old: 0.0
new: 12.0
path: .spaces[0].metrics.halstead.N1
old: 0.0
new: 43.0
path: .spaces[0].metrics.halstead.N2
old: 1.0
new: 24.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: null
new: 123.730172764082
path: .spaces[0].metrics.halstead.effort
old: 0.0
new: 2515.688736979609
path: .spaces[0].metrics.halstead.vocabulary
old: 1.0
new: 31.0
path: .spaces[0].metrics.halstead.purity_ratio
old: null
new: 1.846718996478836
path: .spaces[0].metrics.halstead.level
old: null
new: 0.13194444444444445
path: .spaces[0].metrics.halstead.bugs
old: 0.0
new: 0.06165713616651705
path: .spaces[0].metrics.halstead.difficulty
old: 0.0
new: 7.578947368421052
path: .spaces[0].metrics.halstead.volume
old: 0.0
new: 331.93115279592064
path: .spaces[0].metrics.halstead.length
old: 1.0
new: 67.0
path: .spaces[0].metrics.halstead.n2
old: 1.0
new: 19.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 2.0
path: .spaces[0].metrics.loc.cloc
old: 0.0
new: 3.0
path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 18.0
path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 23.0

### Code

    class nsProfilerStartParams : public nsIProfilerStartParams {
     public:
      // This class can be used on multiple threads. For example, it's used for the
      // observer notification from profiler_start, which can run on any thread but
      // posts the notification to the main thread.
      NS_DECL_THREADSAFE_ISUPPORTS
      NS_DECL_NSIPROFILERSTARTPARAMS

      nsProfilerStartParams(uint32_t aEntries,
                            const mozilla::Maybe& aDuration,
                            double aInterval, uint32_t aFeatures,
                            nsTArray&& aFilters,
                            uint64_t aActiveBrowsingContextID);

     private:
      virtual ~nsProfilerStartParams();
      uint32_t mEntries;
      mozilla::Maybe mDuration;
      double mInterval;
      uint32_t mFeatures;
      nsTArray mFilters;
      uint64_t mActiveBrowsingContextID;
    };