5.40 BCC工具之ustat.py解读

03-07 1364阅读

一,工具简介

ustat是一个类似于“top”的工具,用于监控高级语言中的事件。它为每个使用Java、Node、Perl、PHP、Python、Ruby和Tcl运行时的进程打印关于垃圾收集、方法调用、对象分配以及各种其他事件的统计信息。

5.40 BCC工具之ustat.py解读
(图片来源网络,侵删)

二,代码示例

#!/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):
  
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]