From 85fe66873c5e843c0466ceccda32fc3f29aed51a Mon Sep 17 00:00:00 2001 From: Jaehong Kim Date: Wed, 28 Oct 2015 15:19:51 +0900 Subject: [PATCH] add transactionmeta.jsp --- .../view/TransactionMetaDataSerializer.java | 30 ++++++ .../view/TransactionMetaDataViewModel.java | 102 ++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataSerializer.java create mode 100644 web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataViewModel.java diff --git a/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataSerializer.java b/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataSerializer.java new file mode 100644 index 000000000..5e12f9e74 --- /dev/null +++ b/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataSerializer.java @@ -0,0 +1,30 @@ +package com.navercorp.pinpoint.web.view; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; + +/** + * @author jaehong.kim + */ +public class TransactionMetaDataSerializer extends JsonSerializer { + @Override + public void serialize(TransactionMetaDataViewModel.MetaData value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { + jgen.writeStartArray(); + jgen.writeString(value.getTraceId()); + jgen.writeNumber(value.getCollectorAcceptTime()); + jgen.writeNumber(value.getStartTime()); + jgen.writeNumber(value.getElapsed()); + jgen.writeString(value.getApplication()); + jgen.writeString(value.getAgentId()); + jgen.writeString(value.getEndpoint()); + jgen.writeNumber(value.getException()); + jgen.writeString(value.getRemoteAddr()); + jgen.writeString(value.getLogButtonName()); + jgen.writeString(value.getLogPageUrl()); + jgen.writeEndArray(); + } +} diff --git a/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataViewModel.java b/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataViewModel.java new file mode 100644 index 000000000..887311759 --- /dev/null +++ b/web/src/main/java/com/navercorp/pinpoint/web/view/TransactionMetaDataViewModel.java @@ -0,0 +1,102 @@ +package com.navercorp.pinpoint.web.view; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.navercorp.pinpoint.common.bo.SpanBo; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author jaehong.kim + */ +public class TransactionMetaDataViewModel { + private List spanBoList = new ArrayList(); + + public void setSpanBoList(List spanBoList) { + this.spanBoList = spanBoList; + } + + @JsonProperty("metadata") + public List getMetadata() { + List list = new ArrayList(); + for (SpanBo span : spanBoList) { + list.add(new MetaData(span)); + } + + return list; + } + + @JsonSerialize(using=TransactionMetaDataSerializer.class) + public static class MetaData { + private String traceId; + private long collectorAcceptTime; + private long startTime; + private long elapsed; + private String application; + private String agentId; + private String endpoint; + private int exception; + private String remoteAddr; + private String logButtonName; + private String logPageUrl; + + public MetaData(SpanBo span) { + traceId = span.getTransactionId(); + collectorAcceptTime = span.getCollectorAcceptTime(); + startTime = span.getStartTime(); + elapsed = span.getElapsed(); + application = span.getRpc(); + agentId = span.getAgentId(); + endpoint = span.getEndPoint(); + exception = span.getErrCode(); + remoteAddr = span.getRemoteAddr(); + logButtonName = ""; + logPageUrl = ""; + } + + public String getTraceId() { + return traceId; + } + + public long getCollectorAcceptTime() { + return collectorAcceptTime; + } + + public long getStartTime() { + return startTime; + } + + public long getElapsed() { + return elapsed; + } + + public String getApplication() { + return application; + } + + public String getAgentId() { + return agentId; + } + + public String getEndpoint() { + return endpoint; + } + + public int getException() { + return exception; + } + + public String getRemoteAddr() { + return remoteAddr; + } + + public String getLogButtonName() { + return logButtonName; + } + + public String getLogPageUrl() { + return logPageUrl; + } + } +}