5.88 BCC工具之tcpsynbl.py解读

一,工具简介

tcpsynbl工具以直方图的形式显示SYN到达时的TCP SYN积压大小。这可以让我们了解应用程序距离达到积压限制并丢弃SYN(导致SYN重传产生性能问题)还有多远。

TCP SYN 数据包则通常用于启动 TCP 三次握手过程的第一次握手。

二,代码示例

#!/usr/bin/env python

from __future__ import print_function
import argparse
from bcc import BPF
from time import sleep

# load BPF program
bpf_text = """
#include <net/sock.h>

typedef struct backlog_key {
    u32 backlog;
    u64 slot;
} backlog_key_t;

BPF_HISTOGRAM(dist, backlog_key_t);

int do_entry(struct pt_regs *ctx) {
    struct sock *sk = (struct sock *)PT_REGS_PARM1(ctx);

    backlog_key_t key = {};
    key.backlog = sk->sk_max_ack_backlog;
    key.slot = bpf_log2l(sk->sk_ack_backlog);
    dist.atomic_increment(key);

    return 0;
};
"""
examples = """examples:
    ./tcpsynbl          # trace syn backlog
    ./tcpsynbl -4       # trace IPv4 family only
    ./tcpsynbl -6       # trace IPv6 family

相关推荐

  1. 5.8 BCC工具mysqld_query.py解读

    2024-03-28 10:40:02       52 阅读
  2. 5.54 BCC工具dbstat.py解读

    2024-03-28 10:40:02       48 阅读
  3. 5.56 BCC工具funcslower.py解读

    2024-03-28 10:40:02       47 阅读
  4. 5.53 BCC工具dbslower.py解读

    2024-03-28 10:40:02       41 阅读
  5. 5.49 BCC工具rdmaucma.py解读

    2024-03-28 10:40:02       42 阅读
  6. 5.52 BCC工具dbslower.py解读

    2024-03-28 10:40:02       47 阅读
  7. 5.69 BCC工具runqlen.py解读

    2024-03-28 10:40:02       46 阅读
  8. 5.82 BCC工具tcpdrop.py解读

    2024-03-28 10:40:02       41 阅读
  9. 5.70 BCC工具runqslower.py解读

    2024-03-28 10:40:02       35 阅读
  10. 5.72 BCC工具wakeuptime.py解读

    2024-03-28 10:40:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 10:40:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 10:40:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 10:40:02       87 阅读
  4. Python语言-面向对象

    2024-03-28 10:40:02       96 阅读

热门阅读

  1. stm32重写printf函数串口调试---环境:stm32+hal+cubeide

    2024-03-28 10:40:02       42 阅读
  2. MySQL添加数据的方式

    2024-03-28 10:40:02       44 阅读
  3. 力扣练习 3.27

    2024-03-28 10:40:02       41 阅读
  4. python爬虫基础----字符串高级

    2024-03-28 10:40:02       38 阅读
  5. 云计算运维工程师

    2024-03-28 10:40:02       37 阅读
  6. 【uniapp】Vue3移动端滚动加载 分页组件的封装

    2024-03-28 10:40:02       40 阅读
  7. mysql_数据_增删改查

    2024-03-28 10:40:02       40 阅读
  8. rust - 使用serde_yaml读取配置文件

    2024-03-28 10:40:02       44 阅读