有一个场景:一个请求过来后,后端业务要分很多步处理(包括再向其他服务发请求),想要分析每一步的耗时,找到比较耗时的步聚。 想到可以用类似打点的方式,统计每个请求里每个步聚的耗时。自己做的话,数据分析、展示又是个问题。 有什么工具、插件可以用么?像prometheus这些的。
其实就是个apm工具,你可以接下 skywalking 和 elastic-apm, 比较建议这个 elastic-apm, 完成度很高,开箱即用基本支持node.js栈所有主流包
@zurmokeeper 好的,我去看看,感谢
看了下,skywalking更轻量,但文档是真的不详细
Open Telemetry , 简称 otel
开发测试阶段,可以起个 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
IMG2
======== IMG3
可以试试cpuprofile,里面每个方法消耗的时间一清二楚
@waitingsong 看起来不错!我现在接了个elastic apm的,有空试试你说的这个
@cool-firer cpuprofile 性能测试主要用于开发测试阶段。otel 是分布式追踪、日志记录和指标收集提工具,既可用于开发测试也可以运行在生产环境做实时、持续监测。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
其实就是个apm工具,你可以接下 skywalking 和 elastic-apm, 比较建议这个 elastic-apm, 完成度很高,开箱即用基本支持node.js栈所有主流包
@zurmokeeper 好的,我去看看,感谢
看了下,skywalking更轻量,但文档是真的不详细
Open Telemetry , 简称 otel
开发测试阶段,可以起个 jaeger-all-in-on 当 otel 的采集展示端 docker-compose.yml
IMG1
IMG2
======== IMG3
可以试试cpuprofile,里面每个方法消耗的时间一清二楚
@waitingsong 看起来不错!我现在接了个elastic apm的,有空试试你说的这个
@cool-firer cpuprofile 性能测试主要用于开发测试阶段。otel 是分布式追踪、日志记录和指标收集提工具,既可用于开发测试也可以运行在生产环境做实时、持续监测。