[DataDog] Continuous Profiler
DataDog์ ์ง์์ ํ๋กํ์ผ๋ง์ ์ํ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ค.
๊ธฐ๋ณธ ์์ด์ ํธ ์ธํ
๋ง ํด๋ ํ๋กํ์ผ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ ์กํด์ ์์์ค๋ค.
์์ด์ ํธ ์ง์ ์์ค
๋ฉ์ด์ ํ ์ธ์ด๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ค.
Go, Java, Node.js, PHP, Python, Ruby, C#, C/C++, Rust ์ ๋๋ค. (Rust๋ ๊ทธ๋ ๊ฒ ์ ์ง์๋์ง ์์)

์์ด์ ํธ ์ธํ ํ๊ธฐ
๋ฌธ์์์ ๊ฐ์ด๋ํ๋๋๋ก ์๋ฒ์ ์ธํ
์ฝ๋๋ฅผ ์ ๋นํ ๋ฃ์ผ๋ฉด ๋๋ค.
์ ์ฉ ํจํค์ง๋ฅผ ์จ์ ๋ค์๊ณผ ๊ฐ์ด ๋ช
์์ ์ผ๋ก ํ์ฑํํ ์ ์๋ค. ๋ค์์ Go์ ๊ฒฝ์ฐ๋ค.

์ธ์ด๋ณ ์์ธํ ์ธํ ๋ฐฉ๋ฒ์ ๋ฌธ์ ์ฐธ์กฐ: https://docs.datadoghq.com/ko/profiler/enabling/java?tab=linux
APM์์ ๊ด์ธกํ๊ธฐ
์๋น์ค์ ํ๋กํ์ผ๋ง ํญ์ผ๋ก ์ง์ ํ๋ฉด, CPU/Memory ๋ฑ์ ์ค์๊ฐ ํ๋กํ์ผ๋ง ์ ๋ณด๋ฅผ ๋ฐ๋ก ๊ด์ธกํ ์ ์๋ค.


๊ทธ๋ฆฌ๊ณ ๊ฐ๋ณ ๋ณด๋์ Dive ๋ฒํผ์ผ๋ก ์ง์ ํ๋ฉด, ๋์ฑ ์์ธํ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋ค. flamegraph ๊ฐ์ ์คํ์ผ๋ก, ํจ์ ๋จ์์ ์ฌ์ฉ๋ ์ง๊ณ๋ฅผ ๋ฐ๋ก ๋ณผ ์ ์๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ์์ฉํ๋ฉด ์ฑ๋ฅ ์ถ์ /์ต์ ํ๋ฅผ ๋์ฑ ์ ํํ๊ฒ ์ํํ ์ ์๋ค.
TradeOff
์ด๊ฒ ์์ง์ ๋ฐ๋ฅธ ์ฑ๋ฅ ์์ค์ด ์์ ์๋๊ฑด ์๋๋ค. ์๋ฌดํผ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํด์ ์ฌ์ฉ๋์ ์์งํ๊ณ , ๊ทธ๊ฑธ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฝ์คํธ๊ฐ ์๊ธด ์๋ค.
ํ์ง๋ง ๋์ฒด๋ก ์๋ฒ ์ฑ๋ฅ์ 1-5% ์ ๋๋ฅผ ์ก์๋จน์ ๋ฟ์ด๊ณ , ์ด๋ฅผ ํตํด์ ์ป์ ์ ์๋ ์ ์ฌ์ ์ธ ์ด๋์ด ๋ ํฌ๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ์ ์น์ฑ์๋ ๊ฐ์ํ ๋งํ๋ค.