BCC源码内容概览(1)
接前一篇文章:BCC源码编译和安装
本文参考官网中的Contents部分的介绍。
BCC源码根目录的文件,其中一些是同时包含C和Python的单个文件,另一些是.c和.py的成对文件,还有一些是目录。
跟踪(Tracing)
examples目录下的文件:
- examples/tracing/bitehist.py
块I/O大小直方图。
bcc/examples/tracing/bitehist.txt文件内容如下:
Demonstrations of bitehist.py, the Linux eBPF/bcc version.This prints a power-of-2 histogram to show the block I/O size distribution.
A summary is printed after Ctrl-C is hit.# ./bitehist.py
Tracing... Hit Ctrl-C to end.
^Ckbytes : count distribution0 -> 1 : 3 | |2 -> 3 : 0 | |4 -> 7 : 211 |********** |8 -> 15 : 0 | |16 -> 31 : 0 | |32 -> 63 : 0 | |64 -> 127 : 1 | |128 -> 255 : 800 |**************************************|This output shows a bimodal distribution. The largest mod of 800 I/O were
between 128 and 255 Kbytes in size, and another mode of 211 I/O were between
4 and 7 Kbytes in size.Understanding this distribution is useful for characterizing workloads and
understanding performance. The existence of this distribution is not visible
from averages alone.
- examples/tracing/disksnoop.py
跟踪块设备I/O延迟。
bcc/examples/tracing/disksnoop_example.txt文件内容如下:
Demonstrations of disksnoop.py, the Linux eBPF/bcc version.This traces block I/O, a prints a line to summarize each I/O completed:# ./disksnoop.py
TIME(s) T BYTES LAT(ms)
16458043.435457 W 4096 2.73
16458043.435981 W 4096 3.24
16458043.436012 W 4096 3.13
16458043.437326 W 4096 4.44
16458044.126545 R 4096 42.82
16458044.129872 R 4096 3.24
16458044.130705 R 4096 0.73
16458044.142813 R 4096 12.01
16458044.147302 R 4096 4.33
16458044.148117 R 4096 0.71
16458044.148950 R 4096 0.70
16458044.164332 R 4096 15.29
16458044.168003 R 4096 3.58
16458044.171676 R 4096 3.59
16458044.172453 R 4096 0.72
16458044.173213 R 4096 0.71
16458044.173989 R 4096 0.72
16458044.174739 R 4096 0.70
16458044.190334 R 4096 15.52
16458044.196608 R 4096 6.17
16458044.203091 R 4096 6.35The output includes a basic timestamp (in seconds), the type of I/O (W == write,
R == read, M == metadata), the size of the I/O in bytes, and the latency (or
duration) of the I/O in milliseconds.The latency is measured from I/O request to the device, to the device
completion. This excludes latency spent queued in the OS.Most of the I/O in this example were 0.7 and 4 milliseconds in duration. There
was an outlier of 42.82 milliseconds, a read which followed many writes (the
high latency may have been caused by the writes still being serviced on the
storage device).
- examples/hello_world.py
为新进程打印“Hello, World!”。
bcc/examples/hello_world.py文件内容如下:
#!/usr/bin/python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")# run in project examples directory with:
# sudo ./hello_world.py"
# see trace_fields.py for a longer examplefrom bcc import BPF# This may not work for 4.17 on x64, you need replace kprobe__sys_clone with kprobe____x64_sys_clone
BPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!\\n"); return 0; }').trace_print()
- examples/tracing/mysqld_query.py
使用USDT探测跟踪MySQL服务器查询。
bcc/examples/tracing/mysqld_query.txt文件内容如下:
# ./mysqld_query.py `pgrep -n mysqld`
TIME(s) COMM PID QUERY
17450459.549910001 mysqld 18608 select @@version_comment limit 1
17450463.822668001 mysqld 18608 SELECT DATABASE()
17450463.824042998 mysqld 18608 show databases
17450463.824570000 mysqld 18608 show tables
17450465.602717999 mysqld 18608 SELECT COUNT(*) FROM words
17450479.944897000 mysqld 18608 SELECT * FROM words WHERE word REGEXP '^bre.*n$'
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
BCC源码内容概览(1)
接前一篇文章:BCC源码编译和安装 本文参考官网中的Contents部分的介绍。 BCC源码根目录的文件,其中一些是同时包含C和Python的单个文件,另一些是.c和.py的成对文件,还有一些是目录。 跟踪(Tracing) exam…...
![](https://img-blog.csdnimg.cn/1ccea9bb2cfb4c8b8793e52f1401e571.png)
mysql限制用户登录失败次数,限制时间
mysql用户登录限制设置 mysql 需要进行用户登录次数限制,当使用密码登录超过 3 次认证链接失败之后,登录锁住一段时间,禁止登录这里使用的 mysql: 8.1.0 这种方式不用重启数据库. 配置: 首先进入到 mysql 命令行:然后需要安装两个插件: 在 mysql 命令行中执行: mysql> INS…...
![](https://www.ngui.cc/images/no-images.jpg)
从利用Arthas排查线上Fastjson问题到Java动态字节码技术(下)
上一篇从Arthas的源码引出了Java动态字节码技术,那么这一篇就从几种Java字节码技术出发,看看Arthas是如何通过动态字节码技术做到无侵入的源码增强; Java大部分情况下都是解释执行的,也就是解释.class文件,所以如果我们…...
![](https://img-blog.csdnimg.cn/a1179c1aff124843b9df1cd077a0c7c3.png)
Ubuntu中安装Anaconda 如何将 路径导入为全局变量
第一步:将你的anaconda 路径复制下来,在终端输入对应路径。 echo export PATH"/home/你的用户名/anaconda3/bin:$PATH" >> ~/.bashrc 第二步:在终端输入下面命令或者重启系统。 source ~/.bashrc 在对应的anaconda安装目…...
![](https://img-blog.csdnimg.cn/977a1e49aeba4ae697afaab348796da1.png)
【QT】Qt的随身笔记(持续更新...)
目录 Qt 获取当前电脑桌面的路径Qt 获取当前程序运行路径Qt 创建新的文本文件txt,并写入内容如何向QPlainTextEdit 写入内容QTimerQMessageBox的使用QLatin1StringQLayoutC在c头文件中写#include类的头文件与直接写class加类名有何区别mutable关键字前向声明 QFontQ…...
![](https://img-blog.csdnimg.cn/d660272ee9c1441dbf704ff352be2592.png)
【LeetCode-简单题】589. N 叉树的前序遍历
文章目录 题目方法一:单循环栈做法方法二:递归 题目 方法一:单循环栈做法 关键在于子节点的入栈顺序,决定了子节点的出栈顺序, 因为是前序遍历 所以压栈顺序先让右边的入栈 依次往左 这样左边的节点会在栈顶 这样下次…...
![](https://www.ngui.cc/images/no-images.jpg)
Linphone3.5.2 ARM RV1109音视频对讲开发记录
Linphone3.5.2 ARM RV1109音视频对讲开发记录 说明 这是一份事后记录,主要记录的几个核心关键点,有可能很多细节没有记上,主要是方便后面自己再找回来! 版本 3.5.2 一些原因选的是这样一个旧的版本! 新的开发最好选新一些的版…...
![](https://img-blog.csdnimg.cn/a3c7e5aebb2b4439a625503333efd43a.gif)
Unity用相机实现的镜子效果
首先登场 场景中的元素 mirror是镜子,挂着我们的脚本,Quad是一个面片。Camera是用来生成RenderTexture给面片的。里面的test1是我用来调试位置的球。 镜子size是大小,x是-2,为了反转一下贴图 相机直接可以禁用掉,用…...
![](https://img-blog.csdnimg.cn/f69c5daaa74f4ea3bb4f689ae26eec32.png)
计算机网络分类
按照覆盖范围分类 (1)个域网:通常覆盖范围在1~10m。 (2)局域网:通常覆盖范围在10m~1km。 (3)城域网:覆盖范围通常在5~50 km 。 &…...
![](https://img-blog.csdnimg.cn/8a17f9fda76241ffa192541f6fe84b69.png)
AI AIgents时代 - (三.) AutoGPT和AgentGPT
前两篇讲解了Agent的原理和组件,这节我将给大家介绍两个agent项目,给出它们的工作原理和区别,并教大家亲手尝试使用 Agents🎉 🟢 AutoGPT🤖️ 我们的老朋友,之前文章也专门写过。AutoGPT 是一…...
![](https://www.ngui.cc/images/no-images.jpg)
Jmeter接口自动化和Python接口自动化,如何选择?
选择Jmeter或Python进行接口自动化测试取决于您的具体需求和环境。以下是一些可以考虑的因素: 1. 语言熟悉度:如果您对Java更熟悉,那么Jmeter可能是更好的选择。而如果您的团队或个人对Python更熟悉,那么Python可能是更好的选择。…...
![](https://img-blog.csdnimg.cn/8bcb66a90de54d0bba412f6bd78957c0.jpeg)
Sqilte3初步教程
文章目录 安装创建数据库创建和删除表插入行数据 安装 Windows下安装,首先到下载页面,下载Windows安装软件,一般是 sqlite-dll-win32-*.zip sqlite-tools-win32-*.zip下载之后将其内容解压到同一个文件夹下,我把它们都放在了D:\…...
![](https://www.ngui.cc/images/no-images.jpg)
详解Python中的json库
目录 1. json简介2. dumps/loads3. dump/load4. jsonl格式 1. json简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于在不同应用程序之间传递数据。它是一种文本格式,易于阅读和编写,同时也易于…...
![](https://img-blog.csdnimg.cn/1dc18125f7b446d792f094e1998eebe7.png)
【Spring Boot】Spring Boot源码解读与原理剖析
这里写目录标题 前言精进Spring Boot首选读物“小册”变“大书”,彻底弄懂Spring Boot全方位配套资源,学不会来找我!技术新赛道,2023领先抢跑 前言 承载着作者的厚望,掘金爆火小册同名读物《Spring Boot源码解读与原理…...
![](https://www.ngui.cc/images/no-images.jpg)
C++学习(1)
一、C概述(了解) C在C语言的基础上添加了面向对象编程和泛型编程的支持 二、helloword程序(掌握) #define _CET_SECURE_NO_WARNINGS//在开发软件visual studio编译 c文件时, visual studio认为strcpy,scanf等函数不安全的导致报…...
![](https://img-blog.csdnimg.cn/72f3e91ea56e4661960335e2ce4cbe02.png)
机器人如何有效采摘苹果?
摘要:本文利用动捕数据构建拟人运动模型,对比观察两种苹果采摘模式,并对系统性能进行全面评估,为提高机器人采摘效率提供创新方法。 近期,一项关于苹果采摘机器人的有趣研究—— "Design and evaluation of a rob…...
![](https://img-blog.csdnimg.cn/be75f855c89749ba8651002d72333d1b.png)
C# OpenCvSharp Yolov8 Detect 目标检测
效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Open…...
![](https://www.ngui.cc/images/no-images.jpg)
rust数组
一、定义数组 (一)一维数组 1.指定所有元素 语法格式 let variable_name: [dataType; size] [value1,value2,value3];例如 let arr: [i32; 4] [10,20,30,40];2.指定初始值和长度 所有元素具有相同的值 语法格式 let variable_name: [dataType; siz…...
![](https://img-blog.csdnimg.cn/7cf8d15a0c8f43b5866566df00e87fd4.png)
ubuntu | 安装NVIDIA套件:驱动、CUDA、cuDNN
CUDA 查看支持最高的cuda版本 nvidia-smiCUDA Version:12.2 区官网下在12.2.x最新的版本即可CUDA Toolkit Archive | NVIDIA Developer 下载安装 wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run sudo…...
![](https://www.ngui.cc/images/no-images.jpg)
JAVA学习笔记
一、学习要点 java的最大优势就是跨平台; java的三个版本,javaSE标准版本,javaEE企业版本,javaME微型版本(用的比较少); JVM(Java Virtual Machine,Java虚拟机); JRE…...
![](https://img-blog.csdnimg.cn/img_convert/a1687ac767d17c4a229fb61626e55e32.png)
车载软件架构 —— 持续集成持续交付
车载软件架构 —— 持续集成持续交付 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 对学习而言,学习之后的思考、思考之后的行动、行动之后的改变更重要,如果不盯住内层的改变量,那么在表层投…...
![](https://www.ngui.cc/images/no-images.jpg)
c++ 二元运算符重载, 以加法为例
/* * c 二元运算符重载, 以加法为例 */ #include <stdio.h> class Complex { public: int r0; // real, 实部 int v0; //virtual, 虚部 }; // 重载加法 操作符 // 可见,c2元运算符,取其左侧为第一参数,右侧为第二参数 // 返回值可以付给新的变量 C…...
![](https://img-blog.csdnimg.cn/img_convert/1bec99dba00bf34e924f3d9f0dd3cb57.jpeg)
基于 SpringBoot+Vue的电影影城管理系统,附源码,数据库
文章目录 第一章 简介第二章 技术栈第三章 功能分析第四章 系统设计第5章 系统详细设计六 源码咨询 第一章 简介 本影城管理系统,是基于 Java SpringBoot 开发的。主要包括二大功能模块,即用户功能模块和管理员功能模块。 (1)管…...
![](https://img-blog.csdnimg.cn/img_convert/ea199c1b5d7e4a354ba8cb956b7f51dc.png)
Docker实战技巧(二):Kubernetes基础操作实战
Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题 1、关闭防火墙并设置开机禁用 systemctl stop firewalld systemctl disable firewalld 2、配置repo cd /etc/yum.repos.d/ 下载Docker repo wget https://mirrors.aliyun.com/docker-…...
![](https://img-blog.csdnimg.cn/dd5ff2337389444db742a557c5938d6f.png)
计算机视觉与深度学习-循环神经网络与注意力机制-Attention(注意力机制)-【北邮鲁鹏】
目录 引出Attention定义Attention-based model通俗解释应用在图像领域图像字幕生成(image caption generation)视频处理 序列到序列学习:输入和输出都是长度不同的序列 引出Attention 传统的机器翻译是,将“机器学习”四个字都学…...
![](https://img-blog.csdnimg.cn/af777ccf06ee4e44b1b68b9f2c7644a5.png)
Centos7安装wps无法打开及字体缺失的问题解决
在centos7上安装了最新的wps2019版本的wps-office-11.1.0.11704-1.x86_64.rpm,生成了桌面图标并信任,可以新建文件,但是软件无法打开。在终端执行如下命令,用命令行启动wps: cd /opt/kingsoft/wps-office/office6/ ./…...
![](https://www.ngui.cc/images/no-images.jpg)
华为OD机试真题-会议接待-2023年OD统一考试(B卷)
题目描述: 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1、一个团只能上一辆车,并且代表团人数(代表团数量小于30,每个代表团人数小于30)小于…...
![](https://img-blog.csdnimg.cn/5555a393910b4683afc3de3f9ab2a83b.png)
mysql explain学习记录
参考了公司内相关博客,实践并记录下,为后面分析并优化索引做准备。 MySQL explain命令是查看MySQL查询优化器如何执行查询的主要方法,可以很好的分析SQL语句的执行情况。 每当遇到执行慢(在业务角度)的SQL,…...
![](https://img-blog.csdnimg.cn/img_convert/1c51b5b6a38aa62c8283cc41673e4ad6.png)
电压放大电路的作用有哪些(电压放大器)
电压放大电路是电子电路中常见且重要的组件,其主要作用是将输入信号的电压放大到所需的输出电压级别,并保持输入信号的形状和准确度。电压放大电路广泛应用于各种电子设备和系统中,具有以下几个重要的作用: 信号放大:电…...
![](https://img-blog.csdnimg.cn/db04ba623deb481ebb1fab815cecf015.png)
编译opencv-3.4.5 [交叉编译]
在unbuntu20.04环境下编译opencv3.4.5, cmake 版本:3.27.4 gcc 版本:11.4.0 g版本:11.4.0 在此环境下编译opencv4.5.4正常。 1. 编译时遇到的问题 (1) Built target libprotobuf make: *** [Makefile:163…...
![](https://img-blog.csdnimg.cn/74c1367c6c86405ab7c242933f51b8fd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQWJ0WWVl,size_14,color_FFFFFF,t_70,g_se,x_16#pic_center)
做 理财网站有哪些问题/网络营销推广活动有哪些
socket、网络模型笔记 Socket是什么? socket是一个文件,也是一个编程模型,本质上是一种管道文件 那么既然是一个文件,就会有文件描述符 同时也是编程接口(Stub) 客户端只有一种socket,即代表服务端的socket&#…...
![](https://img-blog.csdnimg.cn/20210922100046567.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUUlKSUFMRTAx,size_20,color_FFFFFF,t_70,g_se,x_16)
绵阳市住房和城乡建设局网站/推广引流app
在领英加人时会发现邀请发出去后,通过的人很少,通过率很低,不像微信的通过率那么高。 领英通过率低的原因主要有以下几点: 领英相比其它平台的通过率本身就要低很多;领英是职业社交平台,使用的人大多是在工…...
![](/images/no-images.jpg)
海北州公司网站建设/seo自然排名优化
我是在企业信息化领域做开发派的工作。站来开发角度来看,企业信息化领域有两个分支:一个是对开发和技术要求不高,客户购买管理软件,更多的是想引入更好的更标准的行业最佳实践。软件公司常年扎在一个行业,东西南北、大…...
武汉汉阳建设局官方网站/温州seo排名公司
原文:http://coolketang.com/staticPhotoshop/5a98d43c17d009003595ee49.html 1. 本节课程将为您演示,[曝光度]命令的使用。依次点击[图像 > 调整 > 曝光度]命令,弹出[曝光度]窗口。 2. 3. [曝光度]是用来控制图片的色调强弱的工具。跟…...
![](/images/no-images.jpg)
网站文案技巧/免费的网站推广在线推广
1.Shell条件测试 1.1.数值比较: 操作符: gt:大于lt:小于eq:等于ne:不等于ge:大于等于le:小于等于 测试语法: 方式1:test 条件表达式 [rootVM-0-17-centos ~…...
![](http://static.oschina.net/uploads/img/201508/06161827_t826.jpg)
wordpress添加附件/公众号推广合作平台
2019独角兽企业重金招聘Python工程师标准>>> 学习的过程中没有不犯错误的。本文当中提到的这些产品设计流程当中的错误,我(英文原文作者)个人犯过很多次,也见过很多人同样在犯着。幸运的是,有种东西叫做互联网,有种媒介…...