package com.dianping.pigeon.console.servlet.json; import com.dianping.pigeon.remoting.common.monitor.trace.ApplicationTraceRepository; import com.dianping.pigeon.remoting.common.codec.json.JacksonSerializer; import com.dianping.pigeon.remoting.common.monitor.trace.MonitorDataFactory; import com.dianping.pigeon.remoting.common.util.InvocationUtils; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author qi.yin * 2016/11/16 下午3:46. */ public class TraceStatsJsonServlet extends HttpServlet { private static final ObjectMapper mapper = new ObjectMapper(); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ApplicationTraceRepository traceData = MonitorDataFactory.getTraceData(); ApplicationTraceRepository old = traceData.copy(); traceData.reset(); String traceDataJson = mapper.writeValueAsString(old); response.getWriter().print(traceDataJson); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }