pub fn install(self) -> Result<(), SetRecorderError> {
        let arced = Arc::new(self);
        let wrapped = PrintRecorderWrapper(arced.clone());
        // this can still fail due to parallelism
        let res = metrics::set_boxed_recorder(Box::new(wrapped));
        if res.is_ok() {
            Self::start_thread(arced);
        }
        res
    }
/// Register this recorder as the global recorder,
/// if no other recorder is already registered.
///
/// If another recorder is registered, this will return an error.
///
/// Also starts the background thread for printing.
Register this recorder as the global recorder,
if no other recorder is already registered.

If another recorder is registered, this will return an error.

Also starts the background thread for printing.
Register this recorder as the global recorder if no other recorder is already registered . If another recorder is registered this will return an error . Also starts the background thread for printing .
pub fn install(self) -> Result<(), SetRecorderError> {
        let arced = Arc::new(self);
        let wrapped = PrintRecorderWrapper(arced.clone());
        // this can still fail due to parallelism
        let res = metrics::set_boxed_recorder(Box::new(wrapped));
        if res.is_ok() {
            Self::start_thread(arced);
        }
        res
    }
pub fn install ( self ) -> Result < ( ) , SetRecorderError > { let arced = Arc :: new ( self ) ; let wrapped = PrintRecorderWrapper ( arced . clone ( ) ) ; // this can still fail due to parallelism let res = metrics :: set_boxed_recorder ( Box :: new ( wrapped ) ) ; if res . is_ok ( ) { Self :: start_thread ( arced ) ; } res }
Register this recorder as the global recorder,
if no other recorder is already registered.
Register this recorder as the global recorder if no other recorder is already registered .
self