5.40 BCC工具之ustat.py解读
一,工具简介
ustat是一个类似于“top”的工具,用于监控高级语言中的事件。它为每个使用Java、Node、Perl、PHP、Python、Ruby和Tcl运行时的进程打印关于垃圾收集、方法调用、对象分配以及各种其他事件的统计信息。
(图片来源网络,侵删)
二,代码示例
#!/usr/bin/python from __future__ import print_function import argparse from bcc import BPF, USDT, USDTException import os import sys from subprocess import call from time import sleep, strftime class Category(object): THREAD = "THREAD" METHOD = "METHOD" OBJNEW = "OBJNEW" CLOAD = "CLOAD" EXCP = "EXCP" GC = "GC" class Probe(object): def __init__(self, language, procnames, events): """ 使用特定的语言、要监控的该语言的进程名集合,以及事件和类别的字典来初始化一个新的探测对象。该字典是USDT探测名称(例如'gc__start')到本工具支持的——来自Category类的事件类别的映射。 """ self.language = language self.procnames = procnames self.events = events def _find_targets(self):
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。