On 24/10/15 14:18, Vincent Schwarzer wrote:
If you want to profile the application, your current best bet is to
compile it as a userspace process and do profiling there.
If you want to profile the system part of Rumprun (scheduler, memory
allocation, etc.), I don't really have a good answer to give. We should
figure out easy-to-follow recipes for that, but nobody has had time to do
so yet. You can get some info out of the instance with the tools in
rumpctrl or simply with gdb (which admittedly has some downsides if you're
trying to understand what's going on in a live system). It's generally a
good area to contribute to (hint hint ;)
How can I compile rumprun as userspace process since so far I used only
rump-gcc wrapper --> rumpbake --> rumprun ? My goal is to measure
performance metrics of an application running in rumpkernel respectively
rumpkernel as a whole to compare these metrics with the current system /
deployment the application is running in e.g. using perf-tools to do some
measurements.
You can't compile the entire rumprun unikernel as a userspace process,
sorry. There's frankenlibc, but it's different, and unless it has been
keeping up with the latest performance enhancements in rumprun, you
wouldn't be profiling anything which will match deployment reality. (I
never understood why frankenlibc was implemented as a fork instead of a
rumprun platform, but then again c'est la open source development)