CNode

有分析程序步耗时的工具么?

问答
Ccool-firer发布于2 年前最后回复2 年前9 回复3964 浏览0 收藏

有一个场景:一个请求过来后,后端业务要分很多步处理(包括再向其他服务发请求),想要分析每一步的耗时,找到比较耗时的步聚。 想到可以用类似打点的方式,统计每个请求里每个步聚的耗时。自己做的话,数据分析、展示又是个问题。 有什么工具、插件可以用么?像prometheus这些的。

查看回复

回复 (9)

Z
zurmokeeper#1·2 年前

其实就是个apm工具,你可以接下 skywalking 和 elastic-apm, 比较建议这个 elastic-apm, 完成度很高,开箱即用基本支持node.js栈所有主流包

C
cool-firer#3·2 年前

看了下,skywalking更轻量,但文档是真的不详细

W
waitingsong#4·2 年前

Open Telemetry , 简称 otel

W
waitingsong#5·2 年前

开发测试阶段,可以起个 jaeger-all-in-on 当 otel 的采集展示端 docker-compose.yml

# docker run -p 6831:6831/udp -p 6832:6832/udp -p 16686:16686 -p 4317:4317 -p 4318:4318 -p 5778:5778 -p 14250:14250 -p 14268:14268 jaegertracing/all-in-one --log-level=debug
# http://localhost:16686/search

services:
  jaeger:
    image: jaegertracing/all-in-one:1.57
    container_name: jaeger-all-in-one
    restart: always
    environment:
      TZ: 'Asia/Chongqing'
      COLLECTOR_OTLP_ENABLED: 'true'
    ports:
      - 6831:6831/udp
      - 6832:6832/udp
      - 5778:5778
      - 4317:4317
      - 4318:4318
      - 14250:14250
      - 14268:14268
      - 14269:14269
      - 9411:9411
      - 16686:16686
    tmpfs:
      - /tmp
    shm_size: 2G
W
waitingsong#6·2 年前

IMG1 20.png

IMG2 21.png

======== IMG3 22.png

Z
zy445566#7·2 年前

可以试试cpuprofile,里面每个方法消耗的时间一清二楚

C
cool-firer#8·2 年前
引用 waitingsongIMG1 ======== IMG2 ======== IMG3

@waitingsong 看起来不错!我现在接了个elastic apm的,有空试试你说的这个

W
waitingsong#9·2 年前
引用 cool-firer@waitingsong 看起来不错!我现在接了个elastic apm的,有空试试你说的这个

@cool-firer cpuprofile 性能测试主要用于开发测试阶段。otel 是分布式追踪、日志记录和指标收集提工具,既可用于开发测试也可以运行在生产环境做实时、持续监测。

参与回复
登录后即可参与回复。登录