---
# System prepended metadata

title: 'eBPF for ROS2 #2 / 2019-11-12'
tags: [Profiling]

---

###### tags: `Profiling`

# eBPF for ROS2 #2 / 2019-11-12

目前問題：

- 在 Raspberry pi 列為官方支援的作業系統 Raspbian 只提供 32bit 作業系統，因此 Raspbian 的 package 只支援 armhf 架構

- 在 `/etc/apt/sources.list` 加入 debian repository，並用 dpkg 新增架構
```
# dpkg --add-architecture arm64
```

> package is installed for multiple architectures if the version is matched[^1].
>  
>  tricky to multiarch between a parent distro and a derivative.

[^1]: https://www.raspberrypi.org/forums/viewtopic.php?t=254027

- bcc 不支援 32 位元的系統，需用 64 位元系統的編譯器才能執行


---

Client: Laptop
Server: Raspberry pi
![](https://i.imgur.com/B6G0QnJ.png)


在不同機器上的兩個節點之間測量來回傳輸延遲 (RTT)，每次都傳輸一個 18 字元的字串，計算從呼叫 `publish()` 到 subscriber 的 callback 被呼叫之間的時間差，以下為統計結果。

![](https://i.imgur.com/lszfSum.png)
