ebpf+perfetto实现调度延迟记录与展示

1.背景

  1. 需要分析生产环境的调度问题,如线程的调度延迟有多少,在哪些时间点延迟比较明显,影响其调度的主要原因是什么?
  2. 其次,我们希望可以比较直观的展示调度延迟情况。最好能对接perfetto的UI和后处理,因为perfetto已经用于分析比较多的性能数据,可以和调度数据进行整合.

我们期望最终能做成如下效果:
在这里插入图片描述

  1. 开销要小,能够在生产环境中使用. perfetto本身的ftrace采集数据太多,性能损耗较大
  2. 可以对指定进程或线程进行分析,可以只对大于某个范围的调度延迟进行统计,减少数据量和性能损耗

2.解决方案分析

我们可以利用ebpf实现调度延迟的监控

2.1 ebpf监控原理

调度延迟是指线程进入runnable状态后,等待其实际获得CPU开始运行之间的时间。
我们可以跟踪线程从放入就绪队列到实际被选中并获得CPU的过程。
其中linux中,线程放入就绪队列是通过以下函数实现的:

2.1.1 sched_wakeup, sched_wakeup_new

而实际选中并获得cpu是通过以下函数实现的:

2.1.2 sched_switch

因此,我们只需在2.1.1时记录线程的tid和时间,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/796812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达:AI 智能体工作流

热门文章推荐: (1)《为什么很多人工作 3 年 却只有 1 年经验?》(2)《一文掌握大模型提示词技巧:从战略到战术巧》(3)《AI 时代,程序员的出路在何方&#xff1…

RGB三通道和灰度值的理解

本文都是来自于chatGPT的回答!!! 目录 Q1:像素具有什么属性?Q2:图像的色彩是怎么实现的?Q3:灰度值和颜色值是一个概念吗?Q4:是不是像素具有灰度值,也有三个颜色分量RGB?Q5:灰度图像是没有色彩的吗?Q6: 彩色图像是既具有灰度值也具有RGB三…

leecode面试经典150题

1 88. 合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最…

简历复印--原型模式

1.1 夸张的简历 简历的打印。"对编程来说,简单的复制粘贴极有可能造成重复代码的灾难。我所说的意思你根本还没听懂。那就以刚才的例子,我出个需求你写写看,要求有一个简历类,必须要有姓名,可以设置性别和年龄&am…

web自动化测试系列-如何选择实战项目(四)

目录 1.项目安装 2.项目优点 3.项目介绍 3.1 项目介绍 3.3 商品展示 接上文 :web自动化测试系列-页面元素该如何定位?(三)-CSDN博客 在后续的技术操作中都将会使用到项目 ,如果你有自己的练手项目 ,优先拿自己的项目做练习&#xff0c…

【话题】如何看待那些速成并精通软件书籍的神器

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景1. 神话与现实1.1 理论与实践之间的鸿沟1.2 一劳永逸的错觉 2. 速成书籍的优势与局限2.1 优势:2.2 局限: 3. 如何有效利用速成书籍3.1 量力而…

算法——链表(1)

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享链表专题的第一部分 如果有不足的或者错误的请您指出! 1.链表常用技巧总结 1.1引入虚拟头结点 在力扣上,基本提供的链表题目都是"无头的",但是针对无头链表,我们最…

【话题】程序员35岁会失业吗?

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景招聘分析一、技术更新换代的挑战二、经验与技术的双重优势三、职业发展的多元化选择四、个人成长与职业规划的平衡五、结语文章推荐 背景 35岁被认为是程序员职业生…

数据治理与大数据平台解决方案(免费|可下载)

1、知识星球下载: 如需下载完整PPTX可编辑源文件,请前往星球获取:https://t.zsxq.com/191Y7dD3p 2、免费领取步骤: 【1】关注公众号 方案驿站 【2】私信发送 数据治理与大数据平台 【3】获取本方案PDF下载链接,直接…

007 CSS的继承和层叠 元素特性

文章目录 CSS属性的继承CSS属性的层叠选择器的权重 HTML元素的类型编写HTML注意事项元素隐藏方法CSS属性-overflowCSS样式不生效可能原因 CSS属性的继承 如果一个属性具备继承性,那么在该元素上设置后,它的后代元素都可以继承这个属性 如果后代元素自己…

v-on内联语句

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>v-on内联语句</title> </head> …

如何用图形化工具远程连接MySQL或MariaDB

2024年4月7日&#xff0c;周日上午 在远程连接数据库时&#xff0c;可能会遇到如下问题&#xff1a; Lost connection to MySQL server at ‘reading initial communication packet, system error: 0 解决的办法 第一步&#xff1a;修改my.cnf my.cnf一般在/etc/mysql里面&a…

2023年度总结:允许迷茫,破除迷茫;专注自身,把握当下

0、前言 &#x1f4dc;为什么24年已经过了几个月&#xff0c;才提笔写这年度总结呢&#xff1f;毫不羞愧直问我的内心&#xff0c;其实就是懒罢了。直到前几天朋友看到了我去年写的总结&#xff0c;我自己点进那篇总结&#xff0c;完完整整的看了一遍&#xff0c;又翻看我23年…

C语言 | Leetcode C语言题解之第12题整数转罗马数字

题目&#xff1a; 题解&#xff1a; const char* thousands[] {"", "M", "MM", "MMM"}; const char* hundreds[] {"", "C", "CC", "CCC", "CD", "D", "DC"…

职业教育的痛点

一是毕业生不能满足产业的用人需求&#xff08;职教的经济属性&#xff09;。我国产业从中低端向中高端延伸&#xff0c;生产方式从流水线模式向复合化、集成化、绿色制造、柔性定制等转变&#xff0c;复合型的岗位增多。数字化转型要求每个岗位都需要掌握必要的“数字思维、数…

中国电子学会(CEIT)2021年12月真题C语言软件编程等级考试四级(含详细解析答案)

中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试四级 2021年12月 编程题五道 总分:100分一、移动路线(25分) 桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为…

Go语言如何处理整数溢出

如果不了解在Go语言中如何处理整数溢出问题,可能会导致非常严重的错误。下面我们来讨论这个主题。在讨论之前,我们需要记住一些与整数有关的概念。 1. 概念 Go总共提供了10种整数类型。有4种有符号整数类型和4种无符号整数类型,具体如下表所示。 有符号整数无符号整数int8 …

Vue2(完结):replace属性、编程式路由导航、缓存路由组件、两个新钩子、路由守卫、history与hash

一、router-link的replace属性 1、作用&#xff1a;控制路由跳转时操作浏览器历史记录的模式 2、浏览器的历史记录有两种写入方式&#xff1a;分别为push和replace&#xff0c;push是追加历史记录&#xff0c;replace是替换当前记录。路由跳转时候默认为push 3、如何开启repla…

4.6

数求和阶乘和质数 #include <iostream> using namespace std; int mproduct(int a) { if(a>1) { return a*mproduct((a-1)); } else { return 1; } } class number { int a; public: number():a(5){}; number(int a):a(a){…

HTTPS中的TLS和TCP能同时握手吗

一般情况下&#xff0c;不管 TLS 握手次数如何&#xff0c;都得先经过 TCP 三次握手后才能进行 因为 HTTPS 都是基于 TCP 传输协议实现的&#xff0c;得先建立完可靠的 TCP 连接才能做 TLS 握手的事情。 「HTTPS 中的 TLS 握手过程可以同时进行三次握手」对不对呢&#xff1f…