Pinpoint

Pinpoint是一个开源的APM实现,基于Google Dapper论文。通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系。

Pinpoint使用了字节码植入技术(bytecode instrumentation technique),在类加载时,注入到观察的应用Class文件中。所以在启动应用时,必须设置-javaagent为Pinpoint的agent。

cat catalina.out | grep 'RejectedExecutionCount='

Zipkin

  1. ZIPKIN_LOG_LEVEL=DEBUG should emit log lines for each trace found
  2. start up zipkin server:
    1. java -jar zipkin.jar --logging.level.zipkin2=DEBUG
    2. STORAGE_TYPE=elasticsearch ES_HOSTS=http://myhost:9200 java -jar zipkin.jar
    3. java -server -Dfile.encoding=UTF-8-Xms512m -Xmx2g -XX:+UseG1GC -jar zipkin.jar --logging.level.zipkin2=DEBUG
    4. nohup sudo QUERY_PORT=80 java -server -Dfile.encoding=UTF-8 -Xms512m -Xmx2g -XX:+UseG1GC -jar zipkin.jar --logging.level.zipkin2=DEBUG &
  3. startup zipkin-dependencies
    1. STORAGE_TYPE=elasticsearch ES_HOSTS=10.220.202.100 java -jar zipkin-dependencies.jar `date -u -d '1 day ago' +%F`
    2. STORAGE_TYPE=elasticsearch ES_HOSTS=10.220.202.100 java -jar zipkin-dependencies.jar `date +%F`
    3. docker run --name zipkin-dependencies --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=10.220.202.100 --env ES_INDEX=zipkin --rm=true -e JAVA_OPTS="-Xmx3550m -Xms3550m" openzipkin/zipkin-dependencies:latest
    4. To process spans since midnight every hour, and all spans each day, change the entrypoint to cron : docker run --name zipkin-dependencies --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=10.220.202.100 --env ES_INDEX=zipkin --rm=true -e JAVA_OPTS="-Xmx3550m -Xms3550m" openzipkin/zipkin-dependencies:latest sh -c 'crond -f'
  4. docker logs -f 3a3e8227ac15 (container id)
  5. Control memory span : zipkin.storage.mem.max-spans:500000

Jaeger

References

  1. Pinpoint - 应用性能管理(APM)平台实践之部署篇
  2. Pinpoint的Collector-TCP源码分析
  3. Using Pinpoint with Docker

Zipkin References

  1. Spring Cloud Sleuth
  2. Zipkin depdendencies

results matching ""

    No results matching ""