From bd1ee0cfe9122b83eda226c6f2ed2b5b7e29f707 Mon Sep 17 00:00:00 2001 From: Sander Hautvast Date: Wed, 18 Jul 2018 15:26:13 +0200 Subject: [PATCH] refresh & clear --- src/main/java/perfix/Registry.java | 4 ++++ src/main/java/perfix/server/HTTPServer.java | 20 ++++++++++++++++---- ui/src/Tree.js | 10 ++++++++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/main/java/perfix/Registry.java b/src/main/java/perfix/Registry.java index 6856809..21b7c41 100644 --- a/src/main/java/perfix/Registry.java +++ b/src/main/java/perfix/Registry.java @@ -88,4 +88,8 @@ public class Registry { }); } + public static void clear() { + methods.clear(); + callstack.clear(); + } } diff --git a/src/main/java/perfix/server/HTTPServer.java b/src/main/java/perfix/server/HTTPServer.java index fb29ebc..fa21ddf 100644 --- a/src/main/java/perfix/server/HTTPServer.java +++ b/src/main/java/perfix/server/HTTPServer.java @@ -5,7 +5,6 @@ import perfix.Registry; import perfix.server.json.Serializer; import java.io.IOException; -import java.io.InputStream; import java.util.ArrayList; public class HTTPServer extends NanoHTTPD { @@ -33,7 +32,10 @@ public class HTTPServer extends NanoHTTPD { return perfixMetrics(); case "/callstack": return perfixCallstack(); - default: return newFixedLengthResponse(Response.Status.NOT_FOUND, "text/plain", "NOT FOUND"); + case "/clear": + return clear(); + default: + return newFixedLengthResponse(Response.Status.NOT_FOUND, "text/plain", "NOT FOUND"); } } @@ -47,8 +49,8 @@ public class HTTPServer extends NanoHTTPD { } private Response addCors(Response response) { - response.addHeader("Access-Control-Allow-Origin","*"); - response.addHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"); + response.addHeader("Access-Control-Allow-Origin", "*"); + response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); return response; } @@ -61,4 +63,14 @@ public class HTTPServer extends NanoHTTPD { } } + private Response clear() { + Registry.clear(); + try { + return addCors(newFixedLengthResponse(Response.Status.OK, "application/json", Serializer.toJSONString(Registry.getCallStack()))); + } catch (Exception e) { + e.printStackTrace(); + return newFixedLengthResponse(e.toString()); + } + } + } diff --git a/ui/src/Tree.js b/ui/src/Tree.js index f12e7c0..12a418f 100644 --- a/ui/src/Tree.js +++ b/ui/src/Tree.js @@ -14,11 +14,16 @@ class Tree extends Component { .then(response => this.setState({ data: response.data })); } + clear() { + axios.get("http://localhost:2048/clear") + .then(response => this.setState({ data: response.data })); + } + renderChildren(children) { return (