Skip to content
This repository was archived by the owner on Dec 23, 2017. It is now read-only.

Commit 04acba4

Browse files
author
Jochen Schalanda
committed
Make MongoDB database stats and CPU (hostInfo) optional
Refs Graylog2/graylog2-server#1195
1 parent 3dd4b15 commit 04acba4

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

src/main/java/org/graylog/plugins/usagestatistics/collectors/MongoCollector.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,29 @@ public MongoCollector(ClusterStatsService clusterStatsService) {
3535
public MongoStats getMongoStats() {
3636
final org.graylog2.system.stats.mongo.MongoStats stats = clusterStatsService.mongoStats();
3737
final DatabaseStats databaseStats = stats.databaseStats();
38-
final MongoDatabaseStats mongoDatabaseStats = MongoDatabaseStats.create(
39-
databaseStats.collections(),
40-
databaseStats.objects(),
41-
databaseStats.avgObjSize(),
42-
databaseStats.dataSize(),
43-
databaseStats.storageSize(),
44-
databaseStats.numExtents(),
45-
databaseStats.indexes(),
46-
databaseStats.indexSize(),
47-
databaseStats.fileSize(),
48-
databaseStats.nsSizeMB()
49-
);
5038

39+
final MongoDatabaseStats mongoDatabaseStats;
40+
if (databaseStats != null) {
41+
mongoDatabaseStats = MongoDatabaseStats.create(
42+
databaseStats.collections(),
43+
databaseStats.objects(),
44+
databaseStats.avgObjSize(),
45+
databaseStats.dataSize(),
46+
databaseStats.storageSize(),
47+
databaseStats.numExtents(),
48+
databaseStats.indexes(),
49+
databaseStats.indexSize(),
50+
databaseStats.fileSize(),
51+
databaseStats.nsSizeMB()
52+
);
53+
} else {
54+
mongoDatabaseStats = null;
55+
}
5156

5257
return MongoStats.create(
5358
stats.buildInfo().version(),
5459
stats.servers().size(),
55-
stats.hostInfo().system().cpuArch(),
60+
stats.hostInfo() == null ? "unknown" : stats.hostInfo().system().cpuArch(),
5661
mongoDatabaseStats
5762
);
5863
}

src/main/java/org/graylog/plugins/usagestatistics/dto/MongoStats.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
import com.fasterxml.jackson.annotation.JsonProperty;
2020
import com.google.auto.value.AutoValue;
2121

22+
import javax.annotation.Nullable;
23+
2224
@JsonAutoDetect
2325
@AutoValue
2426
public abstract class MongoStats {
25-
public static MongoStats create(String version, int serverCount, String cpuArch, MongoDatabaseStats databaseStats) {
27+
public static MongoStats create(String version, int serverCount, String cpuArch,
28+
@Nullable MongoDatabaseStats databaseStats) {
2629
return new AutoValue_MongoStats(version, serverCount, cpuArch, databaseStats);
2730
}
2831

@@ -36,5 +39,6 @@ public static MongoStats create(String version, int serverCount, String cpuArch,
3639
public abstract String cpuArch();
3740

3841
@JsonProperty
42+
@Nullable
3943
public abstract MongoDatabaseStats databaseStats();
4044
}

0 commit comments

Comments
 (0)