当调用REST服务时,我需要发布(到Graphite)Mongo db实例的“可用活动连接数”状态。我知道我们可以使用db.serverStatus()来了解服务器端连接的详细信息。我希望使用JAVA API在客户端获取“可用活动连接数”信息。 MongoDB Java驱动程序API文档对此没有太多帮助。
当调用REST服务时,我需要发布(到Graphite)Mongo db实例的“可用活动连接数”状态。我知道我们可以使用db.serverStatus()来了解服务器端连接的详细信息。我希望使用JAVA API在客户端获取“可用活动连接数”信息。 MongoDB Java驱动程序API文档对此没有太多帮助。
假设您正在使用3.0.x驱动程序,并连接到默认端口的本地主机:
MongoClient mongoClient = new MongoClient();
MongoDatabase database = mongoClient.getDatabase("admin");
Document serverStatus = database.runCommand(new Document("serverStatus", 1));
Map connections = (Map) serverStatus.get("connections");
Integer current = (Integer) connections.get("current");
db.serverStatus() 提供有关已创建连接数和可用连接数的信息。类似以下内容:
"connections" : {
"current" : 3,
"available" : 2045,
"totalCreated" : NumberLong(3)
}
你也可以使用 db.currentOp(true) 来获取正在进行的详细信息。
http://docs.mongodb.org/manual/reference/method/db.currentOp/