Quick Client Setup

  • Download the zip archive of our latest release in the Release section of our github repository or via direct download from the Download section on our web page .
  • Extract it to a local folder
  • Simply double click the startClient.bat, startClient.command or startClient.sh file from the bin folder, depending whether you're using windows , mac os or linux. If Java isn't on your PATH, then set an explicit JRE or JDK Path inside the startClient script, as shown in the commentary. If Java is not installed on your machine, you can download it here and install it
  • Once the GUI opens, click the "+" sign to choose a connector


We strongly recommend using the JMX connector as a starter, as it is one of the simplest ways to connect to a remote JVM and use the sampler mode of djigger.

Direct connection setup

JMX mode

Only requirement : the following flags need to be set on the command line the remote JVM :

  • Choose JMX and enter the hostname & JMX port number of the remote JVM which you want to monitor. If a user and password authentication is used on the remote JVM side, you need to provide those as well.
  • Connect and start sampling by hitting the Play button and then refreshing the view by clicking the button with the circling blue arrows:


Agent mode

  • Set the following command line flags on the target jvms and make the jar files available on the underlying host :
  • Reboot the target JVM.

PS: If djigger isn't installed on the remote machine, you can just copy our "javaagent" Jar File from the "agent" folder of the zip archive and reference it locally in the command line of the remove JVM by setting the javaagent flag above.

Process attach mode

  • Add the tools.jar file from the corresponding JDK (needs to be the same version as the target JVM) to your client's classpath. You'll find it under jdk_1.x.y_z/lib . If you set the path to the java.exe (<system_prefix>/<jdk_version>/bin/java.exe) of your JDK in the variable "JVM_PATH", djigger will automatically pick up the tools.jar. See example given inside the startClient script.
  • Start your djigger client and use the process attach connector to connect to the process you want. The available Java processes will appear in the list.

Jstack output files mode

  • start your djigger client
  • provide jstack-style (hotspot) formated thread dump outputs that you've previously gathered and dumped into one file, separated by empty lines (EOF character). You can also use the kill -3 PID command (on Windows) and Ctrl+Break key combination of the CMD window of your java process (on Windows) to issue a SIGQUIT signal which will also dump the thread stacks. Simply gather that stuff into a text file and open it via the jstack connector in the djigger client

Collector DB mode

Requirements : installing a collector (go to the "Installing a collector" section, down below)

  • Click the "Collector DB" connector mode and provide the hostname on which the mongoDB instance of the collector is hosted (the client will directly connect to the mongoDB instance).
  • Query your samples in the new filter found at the very top of the screen, next to the date range selector. You can query the properties that you set in the collector configuration, this is why it's important to set your own attributes there.

For example, I can query the key values provided in the sample CSV file by executing the following query :

env=myPc and app=test and myAttributeKeyX=myAttributeValueX and ( node=1 or node=2)

Collector DB setup

Installing a collector


  • Available mongoDB binaries (mongod daemon, preferably 3.0+)
  • java 6+ JRE or JDK (JDK needed for process attach)


  • You can download the mongoDB community edition here.
  • You can download a JRE or JDK here.
  • If the binaries aren't accessible via your system PATH variable, set your java and mongoDB bin paths in the startMongo and startCollector scripts of the djigger/collector/bin folder

Configuring a collector

  • Configure your Collector.xml file (under the conf folder) so as to set the retention policy (TTL) you want in seconds, configure your mongoDB host and point at the list of connections that you wish to set up via the following XML block. You can add as many files as you want and combine XML, JSON and CSV formats :
  • Configure your list of connections, either via XML or JSON format for agent connections and subscriptions or simple flat CSV lines if you only want JMX connections and want to work with a simple file:
    • If XML or JSON: these file formats allow you to configure your store using all the available connection modes (JMX based, Agent based, process attach or JStack file watcher). You can just open the example given in the Collector.xml and Collector.json files, and defines your own connections
    • If CSV : all you need is to set a few attributes on each line, representing a different connection. The columns work as follows :
  • Start your mongoDB instance via the startMongo script and then start the collector (startCollector script in the /bin folder)

You should now see documents being inserted in the threaddump collection of your mongoDB instance JVM, which means that the target JVM is being monitored. You can use the Store connector of the client to query your data !

Created by Jerome Brongniart on 2018/08/13 12:43
Copyright © exense GmbH