'Make the call to mongo host and collect the data'

def _collectStats(self, monitorConn):

    root = {}
    root['agentVersion'] = self.mmsAgent.agentVersion
    root['agentHostname'] = self.mmsAgent.agentHostname
    root['agentSessionKey'] = self.mmsAgent.sessionKey
    cmdStartTime = datetime.datetime.now()
    root['serverStatus'] = monitorConn.admin.command('serverStatus')
    cmdExecTime = (datetime.datetime.now() - cmdStartTime)
    root['serverStatusExecTimeMs'] = ((((((cmdExecTime.days * 24) * 60) * 60) + cmdExecTime.seconds) * 1000) + (cmdExecTime.microseconds / 1000.0))
    root['buildInfo'] = monitorConn.admin.command('buildinfo')
    try:
        root['cmdLineOpts'] = monitorConn.admin.command('getCmdLineOpts')
    except Exception as e:
        self.mmsAgent.handleOperationFailure(self.hostKey, 'getCmdLineOpts', e)
    try:
        root['connPoolStats'] = monitorConn.admin.command('connPoolStats')
    except Exception as e:
        self.mmsAgent.handleOperationFailure(self.hostKey, 'connPoolStats', e)
    if self.mmsAgent.hasCommand('getLog', self.hostKey, monitorConn):
        try:
            root['startupWarnings'] = monitorConn.admin.command({'getLog': 'startupWarnings'})
        except Exception as e:
            self.mmsAgent.handleOperationFailure(self.hostKey, 'getLog.startupWarnings', e)
    if self.mmsAgent.hasCommand('hostInfo', self.hostKey, monitorConn):
        try:
            root['hostInfo'] = monitorConn.admin.command({'hostInfo': 1})
        except Exception as e:
            self.mmsAgent.handleOperationFailure(self.hostKey, 'hostInfo', e)
    try:
        root['isSelf'] = monitorConn.admin.command('_isSelf')
    except Exception as e:
        self.mmsAgent.handleOperationFailure(self.hostKey, '_isSelf', e)
    try:
        root['getParameterAll'] = monitorConn.admin.command({'getParameter': '*'})
    except Exception as e:
        self.mmsAgent.handleOperationFailure(self.hostKey, 'getParameter.*', e)
    isMaster = monitorConn.admin.command('ismaster')
    root['isMaster'] = isMaster
    if (isMaster['ismaster'] and ('msg' in isMaster)):
        if (isMaster['msg'] != 'isdbgrid'):
            try:
                root['shardVersion'] = monitorConn.admin.command({'getShardVersion': 'mdbfoo.foo'})
            except Exception as e:
                self.mmsAgent.handleOperationFailure(self.hostKey, 'getShardVersion.mdbfoo.foo', e)
    elif isMaster['ismaster']:
        try:
            root['shardVersion'] = monitorConn.admin.command({'getShardVersion': 'mdbfoo.foo'})
        except Exception as e:
            self.mmsAgent.handleOperationFailure(self.hostKey, 'getShardVersion.mdbfoo.foo', e)
    try:
        if (isMaster['ismaster'] and (isMaster.get('msg', '') == 'isdbgrid')):
            root['netstat'] = monitorConn.admin.command('netstat')
    except pymongo.errors.OperationFailure as e:
        self.mmsAgent.handleOperationFailure(self.hostKey, 'netstat', e)
    if ('repl' in root['serverStatus']):
        try:
            root['replStatus'] = monitorConn.admin.command('replSetGetStatus')
        except pymongo.errors.OperationFailure as e:
            self.mmsAgent.handleOperationFailure(self.hostKey, 'replSetGetStatus', e)
    return root
