Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Instructions

 

...

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@957
showSpacefalse
sortmodified
typepage
reversetrue
labelsanalysis
cqllabel = "analysis" and type = "page" and space = "KB"

...

hiddentrue

...

This articles explains how to create a thread dump series, which can be a useful tool to investigate unexpected behaviour.

Instructions

On a virtual machine

  1. Create a run script called jStackSeries.sh that looks as follows on your HiveMQ machine

    Code Block
    languagebash
    #!/bin/bash
    if [ $# -eq 0 ]; then
        echo >&2 "Usage: jstackSeries <pid> <run_user> [ <count> [ <delay> ] ]"
        echo >&2 "    Defaults: count = 10, delay = 0.5 (seconds)"
        exit 1
    fi
    pid=$1          # required
    user=$2         # required
    count=${3:-10}  # defaults to 10 times
    delay=${4:-0.5} # defaults to 0.5 seconds
    while [ $count -gt 0 ]
    do
        sudo -u $user jstack -l $pid >jstack.$pid.$(date +%H%M%S.%N)
        sleep $delay
        let count--
        echo -n "."
    done
  2. Find the HiveMQ run user <user> and process ID <pid> by running ps aux | grep hivemq

  3. Run the script as follows:
    sh jStackSeries-docker.sh <pid> <user> 20

  4. This will result in 20 files (filename: 'jstack.<pid>.<date>.N') being generated

  5. Please pack these 20 files in a zip file and attach them to your HiveMQ Support issue

 In docker

  1. Create the following run run-script jstack-series.sh

    Code Block
    languagebash
    #!/bin/bash
    if [ $# -eq 0 ]; then
        echo >&2 "Usage: jstackSeries [ <count> [ <delay> ] ]"
        echo >&2 "    Defaults: count = 10, delay = 0.5 (seconds)"
        exit 1
    fi
    count=${1:-20}  # defaults to 10 times
    delay=${2:-0.5} # defaults to 0.5 seconds
    while [ $count -gt 0 ]
    do
        ./jattach 1 threaddump>jstack.$pid.$(date +%H%M%S.%N)
        sleep $delay
        let count--
        echo -n "."
    done
  2. Run the following inside your Docker container:

    Code Block
    languagebash
    curl -L https://github.com/apangin/jattach/releases/download/v1.5/jattach > jattach && \
    chmod +x jattach
  3. Run the created script: ./jstack-series.sh

  4. This will result in 20 files (filename: 'jstack.<pid>.<date>.N') being generated

  5. Please pack these 20 files in a zip file and attach them to your HiveMQ Support issue

Info

Make sure that you run the script with user that has the necessary permissions. (i.e. root or the HiveMQ run user)