void ClientMetadata::serialize(StringData driverName, StringData driverVersion, BSONObjBuilder* builder) { ProcessInfo processInfo; serializePrivate(driverName, driverVersion, processInfo.getOsType(), processInfo.getOsName(), processInfo.getArch(), processInfo.getOsVersion(), builder); }
// static void Explain::generateServerInfo(BSONObjBuilder* out) { BSONObjBuilder serverBob(out->subobjStart("serverInfo")); out->append("host", getHostNameCached()); out->appendNumber("port", serverGlobalParams.port); out->append("version", versionString); out->append("gitVersion", gitVersion()); ProcessInfo p; BSONObjBuilder bOs; bOs.append("type", p.getOsType()); bOs.append("name", p.getOsName()); bOs.append("version", p.getOsVersion()); serverBob.append(StringData("os"), bOs.obj()); serverBob.doneFast(); }
bool run(const string& dbname, BSONObj& cmdObj, int, string& errmsg, BSONObjBuilder& result, bool fromRepl) { ProcessInfo p; BSONObjBuilder bSys, bOs; bSys.appendDate( "currentTime" , jsTime() ); bSys.append( "hostname" , prettyHostName() ); bSys.append( "cpuAddrSize", p.getAddrSize() ); bSys.append( "memSizeMB", static_cast <unsigned>( p.getMemSizeMB() ) ); bSys.append( "numCores", p.getNumCores() ); bSys.append( "cpuArch", p.getArch() ); bSys.append( "numaEnabled", p.hasNumaEnabled() ); bOs.append( "type", p.getOsType() ); bOs.append( "name", p.getOsName() ); bOs.append( "version", p.getOsVersion() ); result.append( StringData( "system" ), bSys.obj() ); result.append( StringData( "os" ), bOs.obj() ); p.appendSystemDetails( result ); return true; }