首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏linux驱动个人学习

    bcc 语法

    基本结构 #导入库 from bcc import BPF #使用BPF()执行bpf代码 BPF(text=""" #C语言代码段 """ ) #对bpf的处理代码 C语言代码编写 不需要写main函数 例: from bcc import BPF # BPF(text= """ int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello hello() { char comm[TASK_COMM_LEN]; bpf_get_current_comm(&comm,sizeof(comm)); return 0; } 部分bcc 使用方法如下所示: from bcc import BPF b = BPF(text=""" //。。。bpf代码。。。 BPF_PERF_OUTPUT(events); //。。。 bcc代码。。。

    75140编辑于 2022-10-07
  • 来自专栏linux驱动个人学习

    bcc之hello world

    bcc代码——Hello,world 1、简单监控clone()系统调用,将相关的信息打印出来 #! /usr/bin/python from bcc import BPF BPF(text=""" int kprobe__sys_clone(void *ctx){ bpf_trace_printk( /usr/bin/python from bcc import BPF prog=""" int hello(void *ctx){ bpf_trace_printk("hello,world

    70010编辑于 2022-10-07
  • 来自专栏linux驱动个人学习

    bcc工具之execsnoop

    在实际工作中,偶尔会遇到系统的CPU使用率和系统平均负载很高,但却找不到高CPU的应用;

    1.3K10编辑于 2022-05-10
  • 来自专栏linux驱动个人学习

    bcc工具之syscount

    bcc为 我们提供了这个工具 syscount sh@ubuntu:/usr/sbin$ sudo syscount-bpfcc Tracing syscalls, printing top 10..

    73810编辑于 2022-05-10
  • 来自专栏charlieroro

    BCC(可观测性)

    BCC(可观测性) 目录 BCC(可观测性) 简介 动机 安装 安装依赖 安装和编译LLVM 安装和编译BCC windows源码查看 BCC的基本使用 工具讲解 execsnoop opensnoop BCC使用C语言进行内核检测,并使用Python和lua作为前端简化了BPF程序的编写,它适用于多种任务,如性能分析和网络流量控制。 BCC支持的分析工具示意图如下,更多参见官方文档。 git clone https://github.com/iovisor/bcc.git mkdir bcc/build; cd bcc/build cmake3 .. make sudo make install 上述命令执行成功后,bcc会被安装在/usr/share/bcc路径下。 windows源码查看 windows下可以直接使用如下命令安装BCC即可查看源码: > pip install bcc BCC的基本使用 本节看下BCC自带的部分工具(/usr/share/bcc/tool

    3.7K30发布于 2020-07-09
  • 来自专栏linux驱动个人学习

    BCC工具之biolatency

    biolatency通过追踪块设备IO,记录IO延迟分布,并以直方图显示。biolatency通过动态追踪blk_族函数并记录函数的变化。

    76530编辑于 2022-11-23
  • 来自专栏charlieroro

    BCC和libbpf的转换

    BCC和libbpf的转换 本文讲述如何将基于BCC的BPF应用转换为libbpf + BPF CO-RE。BPF CO-RE可以参见上一篇博文。 为什么是libbpf和BPF CO-RE? 检测BCC与libbpf模式 在需要同时支持BCC和libbpf模式的场景下,需要检测BPF程序代码能够编译为哪种模式。 最简单的方式是依赖BCC中的宏BCC_SEC: #ifdef BCC_SEC #define __BCC__ #endif 之后,在整个BPF代码中,可以执行以下操作: #ifdef __BCC__ / BCC和libbpf模式使用。 BCC允许Tracepoint使用tracepoint__<category>__<name>命名模式。BCC会在编译时自动生成相应的类型。

    2.1K00发布于 2021-01-07
  • 来自专栏大话swift

    Email之cc bcc科普

    最近在自己做一个关于文件上传解析之后发送邮件的功能,今天在测试发送的时候看到发送人选项有 cc bcc,突然好奇了起来--这两个有什么区别呢???(汗颜收发了这么多邮件居然没有注意到这个……) ? CC 英文全称是 Carbon Copy(抄送) BCC英文全称是 Blind Carbon Copy(暗抄送)。 两者的区别在于在BCC栏中的收件人可以看到所有的收件人名(TO,CC,BCC),而在TO 和CC栏中的收件人看不到BBC的收件人名 扩展 折叠职场应用规则 1、不要越级发邮件 E-mail的最重要特征就是容易被转发

    2.2K60发布于 2019-07-04
  • 来自专栏charlieroro

    Linux探测工具BCC(网络)

    Linux探测工具BCC(网络) Icmp的探测 首先看下促使我学习bcc的这篇文章中的程序traceicmpsoftirq.py,使用该程序的本意是找出对ping响应的进程位于哪个CPU core上, probe_icmp_events.perf_submit(ctx, &__data, sizeof(__data)); return 0; } """ from bcc /usr/bin/python from __future__ import print_function from bcc import BPF from bcc.containers import filter_by_containers from bcc.utils import printb import argparse from socket import inet_ntop, ntohs # define BPF program bpf_text = """ #include <uapi/linux/ptrace.h> #include <net/sock.h> #include <bcc

    2.9K30发布于 2020-07-13
  • 来自专栏linux驱动个人学习

    bcc-tools工具之profile

    相比perf -g而言,profile功能化更加细分,可以根据需要选择追踪层面,例如-U(用户要调用流程) -K (内核态调用流程)

    43510编辑于 2024-04-08
  • 来自专栏程栩的性能优化笔记

    结合例子学习eBPF与bcc:初探

    引 当你问ChatGPT:eBPF和bcc是什么? eBPF是一种内核技术,它允许用户在不修改内核源代码的情况下,通过一种安全的、可编程的方式来扩展内核功能。 BCC是一组用于eBPF的工具和库,它们使开发人员能够使用高级语言编写eBPF程序,从而更轻松地构建和部署内核跟踪和监控工具。 本文不会介绍eBPF和bcc的由来和历史,而是会基于bcc文档中的例子来介绍与学习ebpf和bcc。 eBPF和bcc后续简写为bcc。本文提到的例子均出现在bcc仓库examples下。 from bcc import BPF from bcc.utils import printb # define BPF program prog = """ int hello(void *ctx /usr/bin/python from __future__ import print_function from bcc import BPF from bcc.utils import printb

    78520编辑于 2023-11-01
  • 来自专栏全栈程序员必看

    UVA10765-Doves and bombs(BCC)

    } if (fa < 0 && child == 1) b[u].val = 1; low[u] = lowu; return lowu; } void find_bcc break; g[u].push_back(v); g[v].push_back(u); } find_bcc

    35040编辑于 2022-02-01
  • 来自专栏IT杂症

    BCC校验又称异或校验

    BCC校验小知识 BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验。

    2.9K10发布于 2021-11-08
  • 来自专栏程栩的性能优化笔记

    结合例子学习eBPF与bcc:直方图

    在了解完BPF_PERF_OUTPUT作为输出以后,我们会看到一系列的数据,这些数据是基于时间序列的,那么是否有别的数据展示形式能够帮助我们更好的发现问题呢?

    35430编辑于 2023-11-01
  • 来自专栏笔记+

    容器内运行bcc-tools方法

    安装bcc-tools 以及上传编译好的libbpf-tools yum install bcc-tools -y 7. 验证工具可运行: 运行bcc: 运行libbpf:

    71200编辑于 2023-12-28
  • 来自专栏亨利笔记

    比特币BTC和BCC的平行世界

    知往鉴今,我们从以太坊的案例,看看今后BCC的演进方式。 知往鉴今,我们从以太坊的案例,看看今后BCC的演进方式。 等到BCC 出块速度提上来后,开放冲币,价差将会缩小。届时,可能很多场外到BCC 也会进入交易所冲击价格。预计 BCC 价格会有一波探底走势。 BCC和BTC的主要技术区别是没有隔离见证(SegWit)和具有8MB大区块,在其他方面的特性几乎一样。假设 BCC 的算力能够提升到一定程度,那么 BCC 和BTC的较量就是在解决网络性能方面了。 BTC 因为是“正宗”的比特币,品牌效应影响甚大,加上技术上不比 BCC 差,BTC 的价格理应在 BCC 之上。

    3.3K00编辑于 2023-04-18
  • 来自专栏爱可生开源社区

    技术分享 | 如何使用 bcc 工具观测 MySQL 延迟

    ---- 最近在极客时间上学习《Linux 性能优化实战》,接触到了基于 eBPF 的 BCC 软件包。今天来分享一下 bcc 软件包中用来观测 MySQL 的几个工具。 1. 什么是 bcc Bcc 的开源项目:https://github.com/iovisor/bcc eBPF 虚拟机使用的是类似于汇编语言的指令,对于程序编写来说直接使用难度非常大。 bcc 提供了一个名为 bcc 的 python 库,简化了 eBPF 应用的开发过程 Bcc 收集了大量现成的 eBPF 程序可以直接拿来使用,可以通过以下工具分布图感受一下 ? 3. install bcc-tools export PATH=$PATH:/usr/share/bcc/tools 以 CentOS 7.7 的系统为例,安装后的工具集如下: [root@liuan 使用限制 bcc 基于 eBPF 开发(需要 Linux 3.15 及更高版本)。bcc 使用的大部分内容都需要 Linux 4.1 及更高版本。

    1.9K20发布于 2020-03-26
  • 来自专栏Kirin博客

    smtplib bcc 密送 失败解决方案

    smtplib 解决密送失效问题 一般常见的都是 msg[‘Bcc’]=’mail_url’ # 密送地址 这种方式在smtplib中好像并不起作用,所以找了不少资料,终于扎到了解决方法 实际上密送应该添加到 sendemail的时候的收件地址后面 他应该是这样的 email_url=’xxxx@163.com msg[‘Bcc’]=’email_url’ # 密送地址 然后在代码中是这样的 msg.sendmail (sender, [receiver_qq,mail_bcc], msg.as_string()) # 重点是中间的收件人地址是一个列表, 将刚才定义的收件人填入列表后面即可完成密送,这才是正确的方式 = 'xxx@126.com' mail_pwd = 'hellopwd' mail_to = 'xxao@gmail.com' mail_cc = 'xx@xx.com' mail_bcc msg['Subject'] = 'this is a python test mail' msg['To'] = mail_to msg['Cc'] = mail_cc msg['Bcc

    1.7K30发布于 2020-10-27
  • 来自专栏山河已无恙

    BPF:BCC(BPF Compiler Collection)工具集认知

    文件系统性能优化:通过 BCC 工具集中的 ftrace、ext4slower 等工具,监控文件系统的读写操作。 调试和故障排查:利用 BCC 和 BPF 技术进行调试和故障排查。 BCC 的组件 开源项目地址:https://github.com/iovisor/bcc git clone https://github.com/iovisor/bcc.git 目录结构 liruilonger BCC 的特性 CC 的内核态特性 BCC 会使用不少内核态的特性,比如BPF、kprobes、uprobes等。 用户态前端和 BCC 代码仓库中提供了以下用户态的特性。 尽管 BCC 支持不同的语言前端,但 BCC 工具中 用户态组件主要使用 Python 语言完成 内核态 BPF 程序则主要使用 C 语言完成 这些使用 Python/C 语言的工具会得到来自 BCC

    83310编辑于 2024-06-21
  • 来自专栏大卫李的技术分享

    eBPF文章翻译(2)——BCC介绍(附实验环境)

    BCC调用LLVM Clang编译器,这个编译器具有BPF后端,可以将C代码转换成eBPF字节码。然后,BCC负责使用bpf()系统调用函数,将eBPF字节码加载到内核中。 这是创建BCC的另一个动机——因为很难写出明显正确的BPF程序;当你犯了错误时,BCC会通知你。 一个非常快速的”Hello, World“示例 为了演示如何快速地开始使用BCC,下面是来自BCC项目的“Hello, World!”示例程序(译者注:必须使用root权限执行)。 译者注: 为了更方便大家动手操作,提供了vagrant虚拟机环境,已安装bcc工具集合。 base dir is `/usr/share/bcc` # BCC tool collection is in `/usr/share/bcc/tools` # You can find the examples

    3.2K30发布于 2020-05-11
领券