async def run(self) -> None:
    server_start_options = read_server_start_options(self.server_start_options_reader, self.remote_logging)
    session_timer = timer.Timer()
    try:
        LOG.info(f'Starting Pyre server from configuration: {server_start_options}')
        (await self._run(server_start_options))
    except Exception:
        _log_lsp_event(remote_logging=self.remote_logging, event=LSPEvent.DISCONNECTED, integers={'duration': int(session_timer.stop_in_millisecond())}, normals={**self._auxiliary_logging_info(server_start_options), 'exception': traceback.format_exc()})
        raise
async def run(self) -> None:
    server_start_options = read_server_start_options(self.server_start_options_reader, self.remote_logging)
    session_timer = timer.Timer()
    try:
        LOG.info(f'Starting Pyre server from configuration: {server_start_options}')
        (await self._run(server_start_options))
    except Exception:
        _log_lsp_event(remote_logging=self.remote_logging, event=LSPEvent.DISCONNECTED, integers={'duration': int(session_timer.stop_in_millisecond())}, normals={**self._auxiliary_logging_info(server_start_options), 'exception': traceback.format_exc()})
        raise