Skip to content

Commit 56d092f

Browse files
author
Remi Hakim
committed
Merge pull request #49 from DataDog/yann/fix-bad-regression
fix bad regression with `Status` type
2 parents 0c825a3 + f8472d2 commit 56d092f

File tree

8 files changed

+35
-19
lines changed

8 files changed

+35
-19
lines changed

CHANGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
Changes
22
=======
33

4-
# 0.5.0 / Unreleased
4+
# 0.5.1 / 04-02-2015
5+
* [BUGFIX] Fix bad regression with `Status` type. See [#49][]
6+
7+
# 0.5.0 / 03-16-2015
58
* [FEATURE] Send service checks for JMX integrations
69
* [FEATURE] Support list of filters instead of simple filters: See [#20][]
710

@@ -26,4 +29,5 @@ Changes
2629
[#26]: https://github.com/DataDog/jmxfetch/issues/26
2730
[#28]: https://github.com/DataDog/jmxfetch/issues/28
2831
[#30]: https://github.com/DataDog/jmxfetch/issues/30
32+
[#49]: https://github.com/DataDog/jmxfetch/issues/49
2933
[@coupacooke]: https://github.com/coupacooke

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>datadog</groupId>
55
<artifactId>jmxfetch</artifactId>
6-
<version>0.5.0</version>
6+
<version>0.5.1</version>
77
<packaging>jar</packaging>
88

99
<name>jmxfetch</name>

src/main/java/org/datadog/jmxfetch/App.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public void doIteration() {
166166
while (it.hasNext()) {
167167
Instance instance = it.next();
168168
LinkedList<HashMap<String, Object>> metrics;
169-
int instanceStatus = Status.STATUS_OK;
169+
String instanceStatus = Status.STATUS_OK;
170170
String instanceMessage = null;
171171
try {
172172
metrics = instance.getMetrics();
@@ -282,7 +282,7 @@ private HashMap<String, YamlParser> getConfigs(AppConfig config) {
282282
}
283283

284284
private void reportStatus(AppConfig appConfig, Reporter reporter, Instance instance,
285-
int metricCount, String message, int status) {
285+
int metricCount, String message, String status) {
286286
String checkName = instance.getCheckName();
287287
appConfig.getStatus().addInstanceStats(checkName, instance.getName(),
288288
metricCount, message, status);

src/main/java/org/datadog/jmxfetch/Status.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
public class Status {
1212

13-
public final static int STATUS_WARNING = 1;
14-
public final static int STATUS_OK = 0;
15-
public final static int STATUS_ERROR = 2;
13+
public final static String STATUS_WARNING = "WARNING";
14+
public final static String STATUS_OK = "OK";
15+
public final static String STATUS_ERROR = "ERROR";
1616
private final static Logger LOGGER = Logger.getLogger(Status.class.getName());
1717
private final static String INITIALIZED_CHECKS = "initialized_checks";
1818
private final static String FAILED_CHECKS = "failed_checks";
@@ -40,12 +40,12 @@ private void clearStats() {
4040
instanceStats.put(FAILED_CHECKS, new HashMap<String, Object>());
4141
}
4242

43-
public void addInstanceStats(String checkName, String instance, int metricCount, String message, int status) {
43+
public void addInstanceStats(String checkName, String instance, int metricCount, String message, String status) {
4444
addStats(checkName, instance, metricCount, message, status, INITIALIZED_CHECKS);
4545
}
4646

4747
@SuppressWarnings("unchecked")
48-
private void addStats(String checkName, String instance, int metricCount, String message, int status, String key) {
48+
private void addStats(String checkName, String instance, int metricCount, String message, String status, String key) {
4949
LinkedList<HashMap<String, Object>> checkStats;
5050
HashMap<String, Object> initializedChecks;
5151
initializedChecks = (HashMap<String, Object>) this.instanceStats.get(key);
@@ -70,7 +70,7 @@ private void addStats(String checkName, String instance, int metricCount, String
7070
this.instanceStats.put(key, initializedChecks);
7171
}
7272

73-
public void addInitFailedCheck(String checkName, String message, int status) {
73+
public void addInitFailedCheck(String checkName, String message, String status) {
7474
addStats(checkName, null, -1, message, status, FAILED_CHECKS);
7575
}
7676

src/main/java/org/datadog/jmxfetch/reporter/ConsoleReporter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public LinkedList<HashMap<String, Object>> getMetrics() {
3434
return returnedMetrics;
3535
}
3636

37-
public void sendServiceCheck(String checkName, int status, String message, String hostname, String[] tags) {
37+
public void sendServiceCheck(String checkName, String status, String message, String hostname, String[] tags) {
3838
String tagString = "";
3939
if (tags != null && tags.length > 0) {
4040
tagString = "[" + Joiner.on(",").join(tags) + "]";
@@ -43,7 +43,7 @@ public void sendServiceCheck(String checkName, int status, String message, Strin
4343

4444
HashMap<String, Object> sc = new HashMap<String, Object>();
4545
sc.put("name", checkName);
46-
sc.put("status", Integer.toString(status));
46+
sc.put("status", status);
4747
sc.put("message", message);
4848
sc.put("hostname", hostname);
4949
sc.put("tags", tags);

src/main/java/org/datadog/jmxfetch/reporter/Reporter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private void postProcessCassandra(HashMap<String, Object> metric) {
108108

109109
protected abstract void sendMetricPoint(String metricName, double value, String[] tags);
110110

111-
public abstract void sendServiceCheck(String checkName, int status, String message, String hostname, String[] tags);
111+
public abstract void sendServiceCheck(String checkName, String status, String message, String hostname, String[] tags);
112112

113113
public abstract void displayMetricReached();
114114

src/main/java/org/datadog/jmxfetch/reporter/StatsdReporter.java

+14-2
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,27 @@ protected void sendMetricPoint(String metricName, double value, String[] tags) {
3131
statsDClient.gauge(metricName, value, tags);
3232
}
3333

34-
public void sendServiceCheck(String checkName, int status, String message,
34+
private int statusToInt(String status) {
35+
if (status == Status.STATUS_OK) {
36+
return 0;
37+
} else if (status == Status.STATUS_WARNING) {
38+
return 1;
39+
} else if (status == Status.STATUS_ERROR) {
40+
// critical
41+
return 2;
42+
}
43+
return 3;
44+
}
45+
46+
public void sendServiceCheck(String checkName, String status, String message,
3547
String hostname, String[] tags) {
3648
if (System.currentTimeMillis() - this.initializationTime > 300 * 1000) {
3749
this.statsDClient.stop();
3850
init();
3951
}
4052

4153
ServiceCheck sc = new ServiceCheck(String.format("%s.can_connect", checkName),
42-
status, message, hostname, tags);
54+
this.statusToInt(status), message, hostname, tags);
4355
statsDClient.serviceCheck(sc);
4456
}
4557

src/test/java/org/datadog/jmxfetch/TestApp.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ public void testServiceCheckOK() throws Exception {
271271
assertNotNull(sc.get("tags"));
272272

273273
String scName = (String) (sc.get("name"));
274-
int scStatus = Integer.parseInt((String) (sc.get("status")));
274+
String scStatus = (String) (sc.get("status"));
275275
String[] scTags = (String[]) (sc.get("tags"));
276276

277277
assertEquals("jmx", scName);
@@ -318,7 +318,7 @@ public void testServiceCheckWarning() throws Exception {
318318
assertNotNull(sc.get("tags"));
319319

320320
String scName = (String) (sc.get("name"));
321-
int scStatus = Integer.parseInt((String) (sc.get("status")));
321+
String scStatus = (String) (sc.get("status"));
322322
String[] scTags = (String[]) (sc.get("tags"));
323323

324324
assertEquals("too_many_metrics", scName);
@@ -355,7 +355,7 @@ public void testServiceCheckCRITICAL() throws Exception {
355355
assertNotNull(sc.get("tags"));
356356

357357
String scName = (String) (sc.get("name"));
358-
int scStatus = Integer.parseInt((String) (sc.get("status")));
358+
String scStatus = (String) (sc.get("status"));
359359
String scMessage = (String) (sc.get("message"));
360360
String[] scTags = (String[]) (sc.get("tags"));
361361

@@ -381,7 +381,7 @@ public void testServiceCheckCRITICAL() throws Exception {
381381
assertNotNull(sc.get("tags"));
382382

383383
scName = (String) (sc.get("name"));
384-
scStatus = Integer.parseInt((String) (sc.get("status")));
384+
scStatus = (String) (sc.get("status"));
385385
scMessage = (String) (sc.get("message"));
386386
scTags = (String[]) (sc.get("tags"));
387387

0 commit comments

Comments
 (0)