基于eBPF的性能检测和展示工具
在linux平台上,基于eBPF技术,开发一个工具,该工具可对任意指定应用进程采集如下种类的性能数据并以网页形式展现。
性能数据包括:
-
cpu使用率
-
内存使用率
-
Disk I/O
-
网络收发情况等
针对以上性能数据,该工具
-
以时序方式保存到sqlite数据库中
-
设计一种存储协议,可以json方式存储
-
基于JS的开源可视化图形库(如highcharts、chartjs等),可将数据展现出来。数据展现的形式可配置(例如某个数据以饼图或柱状图形式展现)
2021全国大学生操作系统比赛的“OS功能设计”赛道
- 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生(2021年春季学期或之后本科毕业的大一~大四的学生)
- 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
- 请遵循“2021全国大学生操作系统比赛”的章程和技术方案要求
邓凡平(阿拉神农)
- github
- email [email protected] 或者 [email protected]
- blog blog.csdn.net/innost
中等
-
充分利用eBPF技术
-
需对linux平台上cpu、内存、disk i/o、网络信息有一定了解
-
需要了解如何把数据更好得展示出来
参考博客 https://blog.csdn.net/innost/article/details/41678361
-
eBPF对kernel版本有要求,需高版本的kernel
-
需要开发者从底层到前端开发知识都要了解
- 编写eBPF代码,采集应用的各项性能数据
-
编写一个工具,能触发对指定应用的eBPF性能数据采集
-
该工具可将数据存储到sqlite中或者以指定格式存储为本地文件
-
使用JS开发H5页面来展示性能数据
-
使用自选H5模板+JS编写页面
-
可选:使用React编写一个完整的H5页面和相关展示逻辑