Repository: incubator-htrace Updated Branches: refs/heads/master bb0c683a5 -> 601b8e389
HTRACE-34. MilliSpan#toJson: avoid constructing a new ObjectMapper on each call (cmccabe) Project: http://git-wip-us.apache.org/repos/asf/incubator-htrace/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-htrace/commit/601b8e38 Tree: http://git-wip-us.apache.org/repos/asf/incubator-htrace/tree/601b8e38 Diff: http://git-wip-us.apache.org/repos/asf/incubator-htrace/diff/601b8e38 Branch: refs/heads/master Commit: 601b8e3890e9a80cbf201fcf167a90723bcadf60 Parents: bb0c683 Author: Colin P. Mccabe <[email protected]> Authored: Tue Dec 30 17:37:26 2014 -0800 Committer: Colin P. Mccabe <[email protected]> Committed: Tue Dec 30 17:37:26 2014 -0800 ---------------------------------------------------------------------- htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/601b8e38/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java b/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java index 3932b79..77e289e 100644 --- a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java +++ b/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.apache.htrace.Span; import org.apache.htrace.TimelineAnnotation; @@ -46,6 +47,7 @@ import java.util.Random; public class MilliSpan implements Span { private static Random rand = new Random(); + private static ObjectWriter JSON_WRITER = new ObjectMapper().writer(); private long begin; private long end; @@ -271,9 +273,8 @@ public class MilliSpan implements Span { @Override public String toJson() { StringWriter writer = new StringWriter(); - ObjectMapper mapper = new ObjectMapper(); try { - mapper.writeValue(writer, this); + JSON_WRITER.writeValue(writer, this); } catch (IOException e) { // An IOException should not be possible when writing to a string. throw new RuntimeException(e);
