Simple jetty perf test
This commit is contained in:
parent
e65132e462
commit
599211e750
|
@ -0,0 +1,13 @@
|
|||
dependencies {
|
||||
compile project(':dd-java-agent-perftests')
|
||||
compile group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.4.1.v20170120'
|
||||
compile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.4.1.v20170120'
|
||||
}
|
||||
|
||||
jar {
|
||||
manifest {
|
||||
attributes(
|
||||
"Main-Class": "dd.perftest.jetty.JettyPerftest"
|
||||
)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package dd.perftest.jetty;
|
||||
|
||||
import dd.perftest.Worker;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.annotation.WebServlet;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
|
||||
public class JettyPerftest {
|
||||
private static final int PORT = 8080;
|
||||
private static final String PATH = "/work";
|
||||
private static final Server jettyServer = new Server(PORT);
|
||||
private static final ServletContextHandler servletContext = new ServletContextHandler();
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
servletContext.addServlet(PerfServlet.class, PATH);
|
||||
jettyServer.setHandler(servletContext);
|
||||
jettyServer.start();
|
||||
|
||||
Runtime.getRuntime()
|
||||
.addShutdownHook(
|
||||
new Thread() {
|
||||
public void run() {
|
||||
try {
|
||||
jettyServer.stop();
|
||||
jettyServer.destroy();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@WebServlet
|
||||
@SuppressWarnings("serial")
|
||||
public static class PerfServlet extends HttpServlet {
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
if (request.getParameter("error") != null) {
|
||||
throw new RuntimeException("some sync error");
|
||||
}
|
||||
final String workVal = request.getParameter("workTimeMS");
|
||||
long workTimeMS = 0l;
|
||||
if (null != workVal) {
|
||||
workTimeMS = Long.parseLong(workVal);
|
||||
}
|
||||
if (workTimeMS > 0) {
|
||||
Worker.doWork(workTimeMS);
|
||||
}
|
||||
response.getWriter().print("Did " + workTimeMS + "ms of work.");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ include ':dd-java-agent:testing'
|
|||
include ':dd-java-agent:tooling'
|
||||
include ':dd-java-agent-ittests'
|
||||
include ':dd-java-agent-perftests'
|
||||
include ':dd-java-agent-perftests:jetty-perftest'
|
||||
include ':dd-trace-examples:dropwizard-mongo-client'
|
||||
include ':dd-trace-examples:spring-boot-jdbc'
|
||||
include ':dd-trace-examples:rest-spark'
|
||||
|
|
Loading…
Reference in New Issue