๐Ÿ„Pinpoint

Pintpoint APM

github: https://pinpoint-apm.gitbook.io/pinpoint/

pinpoint ๋ณด์•ˆ์„ค์ •

production์— ์ ์šฉํ•  ๋•Œ๋Š” ๋ณด์•ˆ์„ ์œ„ํ•ด ๋ช‡๊ฐ€์ง€ ๊บผ์ค˜์•ผ ํ•˜๋Š” ์„ค์ •์ด ์žˆ๋‹ค

  • ๋ถˆํ•„์š”ํ•œ ์—”๋“œํฌ์ธํŠธ ์ œ์™ธ

oAuth ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ /oauth/token๋„ ์ œ์™ธ์‹œํ‚ฌ ๊ฒƒ

profiler.tomcat.excludeurl=/actuator/health,/actuator/prometheus
  • ๋ฏผ๊ฐํ•œ url ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆจ๊ธฐ๊ธฐ

profiler.tomcat.tracerequestparam=false
  • DB ์ฟผ๋ฆฌ ์ค‘ ๋ฏผ๊ฐ์ •๋ณด ์ˆจ๊ธฐ๊ธฐ

profiler.jdbc.mysql.tracesqlbindvalue=false
profiler.jdbc.mariadb.tracesqlbindvalue=false

๊ธฐํƒ€ ์„ธํŒ…

  • ์ƒ˜ํ”Œ๋ง ๋ ˆ์ดํŠธ: ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์„ ๊ฒฝ์šฐ ์กฐ์ • ํ•„์š”

= Allow sampling.
profiler.sampling.enable=true

= 1 out of n transactions will be sampled where n is the rate. (1: 100%, 20: 5%)
profiler.sampling.rate=
  • ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ณ„๋„์˜ ์—”ํŠธ๋ฆฌํฌ์ธํŠธ๋ฅผ ์ถ”๊ฐ€

= https://github.com/naver/pinpoint/blob/2cc86076ff58f2a2bb9273fb99c4fd3410e1e60e/plugins/user/src/main/java/com/navercorp/pinpoint/plugin/user/UserPluginConfig.java
= Needs to be a comma separated list of fully qualified method names. Wild card not supported.
profiler.entrypoint=
= Ex: foo.bar.MyClass.myMethod, foo.bar.MyClass.anotherMethod
  • ์ถ”์ ๋˜์ง€ ์•Š๋Š” async executor ๊ฐ€ ์žˆ์„ ๋•Œ

= https://github.com/naver/pinpoint/blob/master/plugins/spring/src/main/java/com/navercorp/pinpoint/plugin/spring/async/SpringAsyncConfig.java
profiler.spring.async.executor.class.names=