Skip to content

Issue reporting instructions

Tin Švagelj edited this page May 2, 2024 · 2 revisions

Some issues are easy to identify and fix, but in a lot of cases the fault in the code might be obscure and/or hard to replicate. This page lists some common ways to make issue reports more helpful.

Performance issues

  • Make sure you have valgrind installed, as well as other needed build dependencies.
  • Clone conky with git clone https://github.com/brndnmtthws/conky.git conky-perf-debugging
  • Enter temporary build directory: cd conky-perf-debugging
  • Configure project: cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo --fresh
  • Build: cmake --build build > >(tee -a build.stdout.txt) 2> >(tee -a build.errlog.txt >&2)
    • If the build fails, check the last 2/3 lines to see whether you're missing a build requirement.
    • If you're not sure, attach build.errlog.txt file in the issue comment and others will help you out 🙂.
  • Profiling:
    • Start conky valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes build/src/conky
      • Optionally, add any arguments you run conky with at the end of the command (e.g. -c <one_of_your_config_files>).
    • Valgrind slows conky down because it's collecting a lot of data, it will take a while until conky draws anything but a blank window.
    • Do whatever causes performace issues when you run conky normally.
    • Wait a minute so the code gets executed.
    • Press Ctrl+C in the terminal to stop conky.
    • Wait for valgrind to print out "miss rate" lines and exit.
  • Move generated report file to home directory: mv callgrind.out.* ~/callgrind.out.txt
  • Remove temporaray build directory: cd .. && rm -r conky-perf-debugging
  • Attach callgrind.out.txt file from home directory to the issue (Drag'n'drop).
  • Uninstall valgrind if you want to.
Clone this wiki locally