I think RecordStats is also the wrong name what about    ```  std::string DebugString(bool record=true) const;  ```  ?     Btw, do you know why we not need empty metrics here? Can we just remove this logic? 