---
# System prepended metadata

title: 'Benchmarking and Introspection, December 21, 2022'
tags: [' introspection', ' profiling', ' benchmarking', unikraft]

---

---
title: "Benchmarking and Introspection, December 21, 2022"
tags: unikraft, profiling, introspection, benchmarking
datetime: 2022-12-21T10:00:00+02:00
location: Online, Discord (https://bit.ly/UnikraftDiscord), the `#monkey-business` voice channel
teams:
- bench-prof
participants:
- Marc
- Marco
- Cezar
- Gabi
- Adina
- RăzvanD
---

## :dart: Agenda

- Status update
- Next steps

## :closed_book: Discussions

### Hooking

GM: I looked into kprobes.
And in hooking libraries.

GM: The hooking libraries use a tooling part.

MR: These functions replace the function, instead of letting you add your own function.
But if there's a jump they add, we can add a call to that.

MR: The first thing I would do is take a fresh unikernel.
Try to install a hook at runtime to another function.

RD: Agree with MR.

### VMI Support

AV: I tried to replicate the GSoC work.

AV: There is a Unikraft application using `libvmi`.

AV: All `libvmi` does is to do calls to KVM.

AV: There are a set of patches for KVM and QEMU.
You have to recompile both.

AV: They were talking about getting them upstream in 2019.

MR: I still it makes sense for the requirements inside Unikraft to support `libvmi`.

## :wrench: TODOs and Decisions

GM: Work on PoC on hooking the main function for a simple kernel.

AV: Create document with findings related to VMI use.

AV: What is required for a guest OS (e.g. Unikraft) to be introspected using VMI on a working (patched) QEMU / KVM setup?

AP: Investigate further GCoV / llvm-cov support.

MS: Provide support to AP when required about llvm-cov support.

Next meeting: Wednesday, January 11, 2023, 10am CET.