APM(Application Performance Monitoring,应用性能观测) 工具介绍
介绍
常见的APM
- Apache skywalking
- Demo skywalking/skywalking
 
- Elastic APM
- Glowroot
- Pinpoint
- jaeger
- Zipkin
- uptrace/uptrace Open source APM: OpenTelemetry traces, metrics, and logs
- 国内的产品
- 鹰眼(阿里)
- 点评 dianping/cat 作为服务端项目基础组件,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
- Hydra(京东)
- traces(滴滴)
 
Jaeger vs Zipkin
- 参考 May 23, 2018
- jaeger 兼容的客户端语言和采样策略上较好,zipkin 传输层较强
- jaeger 基于 go 语言编写的,在并发性能、对系统资源的消耗上也对基于 java 的 openzipkin 强
  
      
          | 表头 | 表头 | 表头 | 
  
  
      
          |  | JAEGER | ZIPKIN | 
      
          | OpenTracing compatibility | Yes | Yes | 
      
          | OpenTracing-compatible clients | Python Go Node Java C++ C# Ruby * PHP * Rust * | Go Java Ruby * C++ Python (work in progress) | 
      
          | Storage support | In-memory Cassandra Elasticsearch ScyllaDB (work in progress) | In-memory MySQL Cassandra Elasticsearch | 
      
          | Sampling | Dynamic sampling rate   (supports rate limiting and  probabilistic sampling strategies) | Fixed sampling rate (supports probabilistic sampling strategy) | 
      
          | Span transport | UDP HTTP | HTTP Kafka Scribe AMQP | 
      
          | Docker ready | Yes | Yes | 
  
$ curl 'https://api.github.com/repos/openzipkin/zipkin' 2>/dev/null | grep -E 'created_at|updated_at|stargazers_count|watchers_count|forks_count'
  "created_at": "2012-06-06T18:26:16Z",
  "updated_at": "2024-06-09T10:23:19Z",
  "stargazers_count": 16793,
  "watchers_count": 16793,
  "forks_count": 3073,
$ curl 'https://api.github.com/repos/jaegertracing/jaeger' 2>/dev/null | grep -E 'created_at|updated_at|stargazers_count|watchers_count|forks_count'
  "created_at": "2016-04-15T18:49:02Z",
  "updated_at": "2024-06-09T21:47:51Z",
  "stargazers_count": 19710,
  "watchers_count": 19710,
  "forks_count": 2349,