Remove toString() method on Result.Code and fix metrics recording

We almost certainly had intended to record a String representation of the
numeric Code all along, but a bad toString() method on the enum resulted
in the wrong thing happening.  This is more evidence of why overriding
toString() on enums is bad.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133583683
This commit is contained in:
mcilwain 2016-07-31 07:44:42 -04:00 committed by Ben McIlwain
parent aa2af68af0
commit b1e1dd0f47
2 changed files with 6 additions and 7 deletions

View file

@ -55,18 +55,22 @@ public class EppMetrics {
* @see FlowRunner * @see FlowRunner
*/ */
public void incrementEppRequests(EppMetric metric) { public void incrementEppRequests(EppMetric metric) {
String eppStatusCode =
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
eppRequests.increment( eppRequests.increment(
metric.getCommandName().or(""), metric.getCommandName().or(""),
metric.getClientId().or(""), metric.getClientId().or(""),
metric.getStatus().isPresent() ? metric.getStatus().toString() : ""); eppStatusCode);
} }
/** Record the server-side processing time for an EPP request. */ /** Record the server-side processing time for an EPP request. */
public void recordProcessingTime(EppMetric metric) { public void recordProcessingTime(EppMetric metric) {
String eppStatusCode =
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
processingTime.record( processingTime.record(
metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis(), metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis(),
metric.getCommandName().or(""), metric.getCommandName().or(""),
metric.getClientId().or(""), metric.getClientId().or(""),
metric.getStatus().isPresent() ? metric.getStatus().toString() : ""); eppStatusCode);
} }
} }

View file

@ -150,11 +150,6 @@ public class Result extends ImmutableObject {
public boolean isSuccess() { public boolean isSuccess() {
return code < 2000; return code < 2000;
} }
@Override
public String toString() {
return String.format("{code:'%s', msg:'%s', msgLang:'%s'}", code, msg, msgLang);
}
} }
/** The result code for this result. This is always present. */ /** The result code for this result. This is always present. */