You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeORM 对接 Postgres 连接池指标获取及 Node 服务监控问题咨询

问题1:TypeORM + Postgres 连接池状态获取方法

TypeORM 连接 Postgres 时底层依赖 pg 库的原生连接池实现,你可以直接从 TypeORM 连接实例中获取到原生 Pool 对象,读取其内置的状态属性:

  • 先通过 getConnection() 获取当前激活的 TypeORM 连接实例
  • 访问 connection.driver.master 即可拿到 pg 库的 Pool 实例

该实例内置了以下可用属性:

  • totalCount:连接池总连接数
  • idleCount:当前空闲连接数
  • waitingCount:当前排队等待获取连接的请求数
  • 活跃连接数可通过 totalCount - idleCount 计算得到

代码示例:

import { getConnection } from 'typeorm';

const connection = getConnection();
const pgPool = connection.driver.master;

const poolMetrics = {
  totalConnections: pgPool.totalCount,
  idleConnections: pgPool.idleCount,
  activeConnections: pgPool.totalCount - pgPool.idleCount,
  waitingRequests: pgPool.waitingCount
};

问题2:Node 生态类似 JMX 的指标暴露机制

Node 生态没有 JVM 内置 JMX 那样的标准化统一管理接口,但当前行业有通用的事实标准方案:

  • 最常用的是基于 OpenMetrics 规范的指标暴露方式:在服务内启动独立的监控端口或者挂载 /metrics 路由,输出符合格式的文本指标,供监控组件采集,这是目前 Node 服务埋点监控的主流实现方案
  • 如果需要获取 Node 运行时的内部状态,可使用 Node 内置的 inspector 模块,它基于通用调试协议实现,可以采集到堆内存占用、CPU 使用率、事件循环延迟、GC 统计等运行时数据,多用于性能排查场景
  • 目前 OpenTelemetry 规范正在统一全语言的可观测性埋点标准,Node 生态已有成熟的 SDK 支持,可实现多语言一致的指标、链路、日志埋点体验

内容的提问来源于stack exchange,提问作者nolt2232

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:04