Git Product home page Git Product logo

proj20-ebpf-perftool's Introduction

proj20-ebpf-perftool

项目名称

基于eBPF的性能检测和展示工具

项目描述

在linux平台上,基于eBPF技术,开发一个工具,该工具可对任意指定应用进程采集如下种类的性能数据并以网页形式展现。

性能数据包括:

  • cpu使用率

  • 内存使用率

  • Disk I/O

  • 网络收发情况等

针对以上性能数据,该工具

  • 以时序方式保存到sqlite数据库中

  • 设计一种存储协议,可以json方式存储

  • 基于JS的开源可视化图形库(如highcharts、chartjs等),可将数据展现出来。数据展现的形式可配置(例如某个数据以饼图或柱状图形式展现)

所属赛道

2021全国大学生操作系统比赛的“OS功能设计”赛道

参赛要求

  • 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生(2021年春季学期或之后本科毕业的大一~大四的学生)
  • 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
  • 请遵循“2021全国大学生操作系统比赛”的章程和技术方案要求

项目导师

邓凡平(阿拉神农)

难度

中等

特征

  • 充分利用eBPF技术

  • 需对linux平台上cpu、内存、disk i/o、网络信息有一定了解

  • 需要了解如何把数据更好得展示出来

文档

参考博客 https://blog.csdn.net/innost/article/details/41678361

平台实现注意事项

  • eBPF对kernel版本有要求,需高版本的kernel

  • 需要开发者从底层到前端开发知识都要了解

License

预期目标

注意:下面的内容是建议内容,不要求必须全部完成。选择本项目的同学也可与导师联系,提出自己的新想法,如导师认可,可加入预期目标

第一题:eBPF性能数据采集

  • 编写eBPF代码,采集应用的各项性能数据

第二题:数据采集工具

  • 编写一个工具,能触发对指定应用的eBPF性能数据采集

  • 该工具可将数据存储到sqlite中或者以指定格式存储为本地文件

第三题:数据展现

  • 使用JS开发H5页面来展示性能数据

  • 使用自选H5模板+JS编写页面

  • 可选:使用React编写一个完整的H5页面和相关展示逻辑

proj20-ebpf-perftool's People

Contributors

wyfcyx avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.