Set logging level

Setting an overall logging level is possible by adding `-DNES_LOGGING_LEVEL=<preferred log level>. Possible log level are from highest to lowest:

  • FATAL_ERROR
  • ERROR
  • WARN
  • INFO
  • DEBUG
  • TRACE

Create a flamegraph

For creating a flamegraph a bash script benchmark/scripts/create_flamegraph.sh was written. This expects a process id. It records via perf and creates a flamegraph with the help of FlameGraph Git.

create_flamegraph.sh [-h] [-p <process id>] [-t <thread id>] [-l <flamegraph git location>] [-d <record duration in seconds>] [-g <class or function name>] [-f <freq>] [-n <name output svg>] [-s]

One thing to add is that a process id is not a thread id. So if one would get a id via htop or top this id is usually a process id. As per common knowledge multiple threads make up one process. Gathering all thread ids can be done via ps -e -T | grep <process id>. The bash script excepts all possibilities (solely process id, solely thread id or both). The script always needs a process/thread id. The other arguments have default values that can be overwritten. These arguments can be printed by executing

create_flamegraph.sh -h

Some examples can be found below. Here a process with the id 123456 is recorded for 60 seconds and with a frequency of 1000 Hz.

create_flamegraph.sh -p 123456 -d 60 -f 1000

Here a thread with the id 56789 is recorded for 2 seconds and with a frequency of 100 Hz. Additionally, a custom name for the output plot is given.

create_flamegraph.sh -t 56789 -d 2 -f 100 -n "output_thread_flamegraph"
 
how_to_..._in_nes.txt · Last modified: 2021/03/22 11:02 by 134.96.191.189
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki