From 715023fd7743abdcfcef0199c2cb5fc79ee33368 Mon Sep 17 00:00:00 2001
From: Daniel <daniel@harvey>
Date: Wed, 15 Apr 2020 16:21:53 +0200
Subject: [PATCH] DOC: Profiling with VisualVM.

---
 doc/devel/Benchmarking.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/doc/devel/Benchmarking.md b/doc/devel/Benchmarking.md
index 3e48dc4f..7800d568 100644
--- a/doc/devel/Benchmarking.md
+++ b/doc/devel/Benchmarking.md
@@ -1,3 +1,17 @@
+# Profiling #
+
+If the server is started with the `run-debug-single` make target, it will expose
+the JMX interface, by default on port 9090.  Using a profiler such as VisualVM,
+one can then connect to the CaosDB server and profile execution times.
+
+## Example settings for VisualVM ##
+
+In the sampler settings, you may want to add these expressions to the blocked
+packages: `org.restlet.**, com.mysql.**`.  Branches on the call tree which are
+entirely inside the blacklist, will become leaves.  Alternatively, specify a
+whitelist, for example with `caosdb.server.database.backend.implementation.**`,
+if you only want to see the time spent for certain MySQL calls.
+
 # Manual Java-side benchmarking #
 
 Benchmarking can be done using the `TransactionBenchmark` class (in package
-- 
GitLab