Issue reporting instructions - brndnmtthws/conky GitHub Wiki
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.
- 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>
).
- Optionally, add any arguments you run conky with at the end of the command (e.g.
- 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.
- Start conky
- 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).- If the file is too large, you can use some other file transfer service, or create a gist on GitHub.
- Uninstall
valgrind
if you want to.