【BCC动态跟踪PostgreSQL】
BPF Compiler Collection (BCC)是基于eBPF的Linux内核分析、跟踪、网络监控工具。其源码存放于GitCode - 开发者的代码家园

想要监控PostgreSQL数据库的相关SQL需要在编译PostgreSQL的时候开启dtrace。下文主要介绍几个和PostgreSQL相关的工具,其他工具可根据需求自行了解。
1.dbslower:跟踪慢查询,然后打印超出延时的,默认延时是1ms
//终端 1:
[root@localhost tools]# ./dbslower postgres -p 58474//终端 2:
postgres=# select pg_backend_pid();pg_backend_pid
----------------58474
(1 row)
postgres=# select pg_sleep(3);pg_sleep
----------(1 row)
postgres=# select pg_sleep(2);pg_sleep
----------(1 row)
postgres=# select pg_sleep(1);pg_sleep
----------(1 row)
postgres=# select pg_sleep(2);pg_sleep
----------(1 row)/终端1:[root@localhost tools]# ./dbslower postgres -p 58474
Tracing database queries for pids 58474 slower than 1 ms...
TIME(s) PID MS QUERY
1.893949 58474 3004.362 select pg_sleep(3);
8.492827 58474 2002.784 select pg_sleep(2);
23.334969 58474 2004.094 select pg_sleep(2);

2.dbstat:跟踪PostgreSQL数据库进程查询,并显示查询延时的直方图
//终端1:
[root@localhost tools]# ./dbstat postgres -p 58518//终端2:
postgres=# select pg_backend_pid();pg_backend_pid
----------------58518
(1 row)
postgres=# select pg_sleep(0.2);pg_sleep
----------(1 row)
postgres=# select pg_sleep(0.2);pg_sleep
----------(1 row)
postgres=# select pg_sleep(0.01);pg_sleep
----------(1 row)
postgres=# select pg_sleep(2);pg_sleep
----------(1 row)//ctrl+c 终端1:
[root@localhost tools]# ./dbstat postgres -p 58518
Tracing database queries for pids 58518 slower than 0 ms...
[02:37:57]query latency (ms) : count distribution0 -> 1 : 0 | |2 -> 3 : 0 | |4 -> 7 : 0 | |8 -> 15 : 1 |******************** |16 -> 31 : 0 | |32 -> 63 : 0 | |64 -> 127 : 0 | |128 -> 255 : 2 |****************************************|256 -> 511 : 0 | |512 -> 1023 : 0 | |1024 -> 2047 : 1 |******************** |

3.execsnoop:跟踪新进程创建,跟踪exec函数
//终端1:
[root@localhost tools]# ./execsnoop//终端2:
[postgres@localhost data_uuid]$ psql
psql (11.20)
Type "help" for help.
postgres=# \q
[postgres@localhost data_uuid]$ psql
psql (11.20)
Type "help" for help.
postgres=# \q
[postgres@localhost data_uuid]$ ls
base pg_ident.conf pg_serial pg_tblspc postgresql.auto.conf
global pg_logical pg_snapshots pg_twophase postgresql.conf
pg_commit_ts pg_multixact pg_stat PG_VERSION postmaster.opts
pg_dynshmem pg_notify pg_stat_tmp pg_wal postmaster.pid
pg_hba.conf pg_replslot pg_subtrans pg_xact
[postgres@localhost data_uuid]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6//终端1:
[root@localhost tools]# ./execsnoop
PCOMM PID PPID RET ARGS
psql 58579 43545 0 /home/postgres/soft-11-20_uuid/bin/psql
psql 58582 43545 0 /home/postgres/soft-11-20_uuid/bin/psql
ls 58584 43545 0 /bin/ls --color=auto
cat 58585 43545 0 /bin/cat /etc/hosts

4.filetop:文件读和写的top(文件系统相关)
[root@localhost tools]# ./filetop02:45:02 loadavg: 0.06 0.10 0.76 2/141 58566TID COMM READS WRITES R_Kb W_Kb T FILE
58566 clear 2 0 8 0 R xterm
58565 filetop 1 0 4 0 R retprobe
58565 filetop 1 0 4 0 R type
24865 irqbalance 3 0 3 0 R stat
24865 irqbalance 3 0 3 0 R interrupts
58565 filetop 2 0 2 0 R loadavg
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity
24865 irqbalance 1 0 1 0 R smp_affinity

相关文章:
【BCC动态跟踪PostgreSQL】
BPF Compiler Collection (BCC)是基于eBPF的Linux内核分析、跟踪、网络监控工具。其源码存放于GitCode - 开发者的代码家园 想要监控PostgreSQL数据库的相关SQL需要在编译PostgreSQL的时候开启dtrace。下文主要介绍几个和PostgreSQL相关的工具,其他工具可根据需求自行了解。 …...
汽车架构解析:python cantools库快速解析arxml
文章目录 前言一、安装cantools二、官方说明文档三、cantools方法1、解析message的属性2、解析pdu中的signals3、根据message查找signals4、报文组成bytes 四、总结 前言 曾经有拿cantools来解析过dbc,用得比较浅,不知道可以用来解析arxml。最近有个需求…...
Vue 之 修饰符汇总
一、简介 在Vue中,修饰符是一种特殊的语法,用于修改指令或事件绑定的行为,它们以点号(.)的形式添加到指令或事件的后面,并可以改变其默认行为或添加额外的功能,如:禁止事件冒泡、数…...
如何通过内网穿透实现无公网IP远程访问内网的Linux宝塔面板
文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔,内网穿透三、使用固定公网地址访问宝塔 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。…...
综合跨平台全端ui自动化测试框架Airtest——AirtestIDE录制微信小程序脚本教学
前言 有在自动化测试领域的小伙伴应该都知道,app和小程序自动化这一类的自动化测试在实际操作中有时候很棘手让人心烦,动不动就是用appium写代码脚本维护什么的,不仅步骤繁琐,环境配置方面也是繁琐无比,动不动就与客户…...
如何在ArcGIS Pro中指定坐标系
在进行制图的时候,为了实现某些特定的效果,需要指定特定的坐标系,但是现有的数据可能不是所需要的坐标系,这时候就需要对现有的数据坐标系进行处理,这里为大家介绍一下ArcGIS Pro中指定坐标系的方法,希望能…...
macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系”
macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系” 网络问题系统时间问题镜像索引问题 网络问题 系统时间问题 镜像索引问题 恢复模式的 “实用工具 > 系统终端” 里执行如下 nvram IASUCatalogURLhttps://swscan.apple.com/content/catalogs/others/i…...
[C#]使用OpenCvSharp实现二维码图像增强超分辨率
【官方框架地址】 github.com/shimat/opencvsharp 【算法介绍】 借助于opencv自带sr.prototxt和sr.caffemodel实现对二维码图像增强 【效果展示】 【实现部分代码】 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin…...
优化|流形优化系列(一)
简介 流形优化是非线性优化的一个分支,它主要关注在特定的几何结构下进行优化。在流形优化中,优化问题通常是在黎曼流形上进行的,而非欧几里得空间。黎曼流形是带有黎曼度量的流形,该度量为流形上的每个点都定义了一个内积。这种…...
torch.where()函数
在深度学习的实现中,处理条件逻辑是一项常见而重要的任务。PyTorch 提供了一个强大的函数 torch.where(),它使得基于条件的张量操作变得既简单又高效。本文将深入探讨 torch.where() 的用法,并通过示例展示它在不同场景中的应用。 什么是 to…...
盖子的c++小课堂——第二十三讲:背包问题
前言 又是一次漫长的更新(我真不是故意的aaaaaaaaaaaaaaa),先不多说了,直接给我~坐下~说错了说错了,直接开始~ 背包问题----动态规划 背包问题(knapsack problem) 动态规划(dyna…...
k8s安装hostPath方式存储的PostgreSQL15
1.配置 PostgreSQL 的 ConfigMap cat > postgres-configmap.yaml << EOF apiVersion: v1 kind: ConfigMap metadata:name: postgres-configlabels:app: postgresnamespace: dev data:POSTGRES_DB: postgresdbPOSTGRES_USER: postgresadminPOSTGRES_PASSWORD: admin12…...
51单片机之按键和数码管
51单片机之按键和数码管 ✍前言:♐独立按键😀独立按键的原理😀软件实现按键控制LED灯的亮灭 ♐数码管😊数码管显示数字或者字母的原理🐉共阳极数码管🐉共阴极极数码管🐉4位1体数码管 Ƕ…...
【Oracle】 - 数据库的实例、表空间、用户、表之间关系
Oracle是一种广泛使用的关系型数据库管理系统,它具有高性能、高可靠性、高安全性等特点。1Oracle数据库的结构和组成是一个复杂而又有趣的话题,本文将介绍Oracle数据库的四个基本概念:数据库、实例、表空间和用户,以及它们之间的关…...
ssm基于HTML5的交流论坛的设计与实现+vue论文
摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…...
JDBC*
*JDBC数据库连接步骤 1.将JDBC驱动的jar添加到项目的依赖中。 2.加载JDBC驱动 例如: Class.forName("com.mysql.jdbc.Driver"); 3.连接数据库 例如: Connection con DriverManager.getConnection(URL,us…...
Zookeeper注册中心实战
Java学习手册面试指南:https://javaxiaobear.cn Spring Cloud Zookeeper通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法,为 Spring Boot 应用程序提供Apache Zookeeper集成。通过一些简单的注释,您可以快速启用和配置应用…...
1-02VS的安装与测试
一、概述 对于一名C语言程序员而言,进行C语言程序的开发一般需要一个文本编辑器加上一个编译器就足够了。但为了方便起见,我们选择使用集成开发环境——Visual Studio(简称VS)。安装Visual Studio 下面讲一下如何安装VS࿰…...
ctfshow——PHP特性
文章目录 web 89web 90web 91web 92web 93web 94web 95web 96web 97web 98web 99web 100——优先级、eval()用法web 101——RefelctionClass反射类web 102——php伪协议、hex2bin()web103web 104——sha1绕过web 105 web 89 使用人工分配 ID 键的数值型数组绕过preg_match. 两个…...
K8S陈述式资源管理
陈述式 命令行:kubectl命令行工具 优点:90%以上的场景都可以满足,对增,删,查比较方便,对改不是很友好 缺点:命令比较冗长,复杂,难记 声明式 k8s当中的yaml文件来实现资…...
Qubes OS自动化管理工具qubes-claw:声明式配置与安全隔离实践
1. 项目概述与核心价值最近在折腾一个挺有意思的项目,叫“qubes-claw”。这名字听起来有点神秘,对吧?我第一次看到的时候,也琢磨了半天。简单来说,这是一个专门为Qubes OS设计的自动化工具集。如果你对Qubes OS不熟悉&…...
数据库内机器学习:用SQL调用AI模型,简化预测工作流
1. 项目概述:当数据库遇上机器学习最近在开源社区里,一个名为mindsdb/anton的项目引起了我的注意。乍一看,这像是一个普通的数据库项目,但深入了解后,你会发现它试图解决一个困扰了数据工程师和分析师很久的痛点&#…...
2025年全国青少年信息素养大赛复赛真题(算法创意实践挑战赛C++小学组试卷1:带解析)(7月6日试卷)
2025年全国青少年信息素养大赛复赛真题(算法创意实践挑战赛C++小学组试卷1:带解析)(7月6日试卷) 选择题: 1、C++中,以下哪个是关键字,不能用作变量名? ( ) A、num B、world C、char D、value2 答案:C 解析:char是C++中的关键字,含义是字符类型。C++中的关键字不…...
推理服务为什么一加 Stop Sequences 就开始流式看着正常却尾延迟抖动:从 Token Suffix Match 到 Batch Exit 对齐的工程实战
很多团队给推理服务加 stop sequences,原意是让 JSON、工具调用或 SQL 输出在边界处稳稳停住。⚠️ 真进生产后,最先变差的往往不是准确率,而是尾延迟:流式首屏看着正常,GPU 利用率也不低,可 P99 会在高并发…...
在线 TTS 采购思维:不是买工具,是买可重复流程
🎯 在线 TTS 采购思维:不是买工具,是买可重复流程 在语音合成市场日益成熟的今天,越来越多的团队开始引入在线 TTS。但一个普遍误区是:大家只关注单次合成效果,却忽略了流程的可重复性。 真正聪明的采购&…...
3PEAK思瑞浦 TPA1812-VS1R MSOP8 运算放大器
特性 供电电压:4伏至30伏 低功耗:在25C时为55A(典型值) 低偏移电压:8V在25C(最大值) 零漂:0.01V/C 轨到轨输出 增益带宽积:500kHz 斜率:0.3V/...
可拖入多个文件或文件夹 合并所有内容到一个txt,方便投喂给AI
echo off chcp 65001 >nul setlocal enabledelayedexpansion title 万能拖拽合并工具(支持多文件/多文件夹)if "%~1""" (echo.echo echo 使用方法:echo 可拖入【多个文件】或【多个文件夹】echo 自动合并所有内容到…...
从公司Logo到页码:手把手教你定制OrCAD标题栏模板并全局应用
从公司Logo到页码:手把手教你定制OrCAD标题栏模板并全局应用 在电子设计领域,标准化文档不仅是专业性的体现,更是团队协作效率的保障。想象一下,当客户打开来自同一公司的不同项目文档,看到的却是风格迥异的标题栏——…...
互联网大厂 Java 求职面试:微服务与云原生
互联网大厂 Java 求职面试:微服务与云原生 在某互联网大厂的面试中,面试官与求职者燕双非展开了一场关于微服务与云原生的深入对话。以下是他们的问答记录。第一轮提问 面试官:燕双非,首先请你简单介绍一下你对微服务架构的理解。…...
Design - 一些免费图标网站
一些有用的工具网站;除了直接AI生成外,仍然有些有用的Icon免费网站,比较适合游戏的有:1. icons8.com最适合综合型游戏项目图标、插画、UI 资源比较全风格统一,适合游戏界面、按钮、功能图标可在线调整颜色和尺寸&#…...
