public BSONObject getStats() { BSONObject response = new BasicBSONObject("ns", getFullName()); response.put("count", Integer.valueOf(documents.size())); response.put("size", Long.valueOf(dataSize.get())); double averageSize = 0; if (!documents.isEmpty()) { averageSize = dataSize.get() / (double) documents.size(); } response.put("avgObjSize", Double.valueOf(averageSize)); response.put("storageSize", Integer.valueOf(0)); response.put("numExtents", Integer.valueOf(0)); response.put("nindexes", Integer.valueOf(indexes.size())); BSONObject indexSizes = new BasicBSONObject(); for (Index index : indexes) { indexSizes.put(index.getName(), Long.valueOf(index.getDataSize())); } response.put("indexSize", indexSizes); Utils.markOkay(response); return response; }