Pinpoint
Pinpoint是一个开源的APM实现,基于Google Dapper论文。通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系。
Pinpoint使用了字节码植入技术(bytecode instrumentation technique),在类加载时,注入到观察的应用Class文件中。所以在启动应用时,必须设置-javaagent为Pinpoint的agent。
cat catalina.out | grep 'RejectedExecutionCount='
Zipkin
- ZIPKIN_LOG_LEVEL=DEBUG should emit log lines for each trace found
- start up zipkin server:
- java -jar zipkin.jar --logging.level.zipkin2=DEBUG
- STORAGE_TYPE=elasticsearch ES_HOSTS=http://myhost:9200 java -jar zipkin.jar
- java -server -Dfile.encoding=UTF-8-Xms512m -Xmx2g -XX:+UseG1GC -jar zipkin.jar --logging.level.zipkin2=DEBUG
- nohup sudo QUERY_PORT=80 java -server -Dfile.encoding=UTF-8 -Xms512m -Xmx2g -XX:+UseG1GC -jar zipkin.jar --logging.level.zipkin2=DEBUG &
- startup zipkin-dependencies
- STORAGE_TYPE=elasticsearch ES_HOSTS=10.220.202.100 java -jar zipkin-dependencies.jar `date -u -d '1 day ago' +%F`
- STORAGE_TYPE=elasticsearch ES_HOSTS=10.220.202.100 java -jar zipkin-dependencies.jar `date +%F`
- 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
- 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'
- docker logs -f 3a3e8227ac15 (container id)
- Control memory span : zipkin.storage.mem.max-spans:500000