CodeStream๊ณผ New Relic ํ๋ซํผ์ ํจ๊ป ์๋ํ์ฌ ์ฝ๋ ์ค๋ฅ์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ๋ฟ๋ง ์๋๋ผ APM ์์ด์ ํธ๋ก ์ฝ๋ ๊ณ์ธก์ ๋ ์ฝ๊ฒ ์์ํ ์ ์๋๋ก ํฉ๋๋ค.
CodeStream์ New Relic์ ์ฐ๊ฒฐํ๋ฉด ์คํ ์ถ์ ์ค๋ฅ์์ IDE์ ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋ ์ค๋ก ์ง์ ์ด๋ํ ์ ์์ต๋๋ค. IDE์์ ์คํ ์ถ์ ์ ํ์ํ๊ณ ํ์๊ณผ ํ๋ ฅํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
CodeStream๊ณผ New Relic ์ฐ๊ฒฐ
CodeStream์์ New Relic์ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ค๋ฉด ๋จผ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
CodeStream๊ณผ New Relic์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์๊ตฌ ์ฌํญ:
- New Relic ๊ณ์ (New Relic ๊ณ์ ์ด ์์ผ๋ฉด newrelic.com/signup ์์ ๊ฐ์ ํ์ญ์์ค. ์์ํ ๋ฌด๋ฃ์ ๋๋ค!)
- ์ ์ ๋ฌผ ์ฌ์ฉ์ ํค . ์์ธํ ๋ด์ฉ์ API ํค ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- ํต์ฌ ์ฌ์ฉ์ ๋๋ ์ ์ฒด ํ๋ซํผ ์ฌ์ฉ์ ์ ์ฌ์ฉ์ ์ ํ์ด ์์ด์ผ ํฉ๋๋ค.
New Relic ์ฌ์ฉ์ ํค๊ฐ ์์ผ๋ฉด CodeStream์ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ ์น์ ์์ Connect to New Relic ์ ํด๋ฆญํ ๋ค์ API ํค๋ฅผ ๋ถ์ฌ๋ฃ๊ณ Connect to New Relic ์ ํด๋ฆญํฉ๋๋ค.
์ฃผ์
์๋ก์ด Relic ์ฌ์ฉ์๋ CodeStream์์ ์คํ ์ถ์ ์ค๋ฅ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. CodeStream์ New Relic์ ์ฐ๊ฒฐํ๋ฉด CodeStream ์กฐ์ง์ ์ถ๊ฐํ๋ ๋ชจ๋ ์ ์ฌ์ฉ์๊ฐ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ค๋ฅ ๋ฐ ์์ธ ํ์ธ
CodeStream๊ณผ New Relic์ ์ฐ๊ฒฐํ ํ ์ํฌ๋ก๋ ๋ฐ ์ค๋ฅ ๋ฐ์ ํธ์งํจ์ ์ฌ์ฉํ์ฌ IDE์์ ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋๋ก ์ด๋ํฉ๋๋ค.
IDE์์ ์คํ ์ถ์ ์ค๋ฅ๋ฅผ ์ด๊ธฐ ์ํ ์๊ตฌ ์ฌํญ:
- New Relic ๊ณ์ (New Relic ๊ณ์ ์ด ์์ผ๋ฉด newrelic.com/signup ์์ ๊ฐ์ ํ์ญ์์ค. ์์ํ ๋ฌด๋ฃ์ ๋๋ค!)
- New Relic ์ฌ์ฉ์ ํค
- CodeStream ๋ฐ New Relic ์ฐ๊ฒฐ
- APM ๋ชจ๋ํฐ๋ง์ ํตํด New Relic์ ๋ณด๊ณ ๋๋ ๋ฐ์ดํฐ
- ์ค๋ฅ
- APM ์ค๋ฅ์ ๊ฒฝ์ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ ํด์ ๋ฐ ๋ฆด๋ฆฌ์ค ํ๊ทธ
New Relic ์ค๋ฅ ๋ฐ์ ํธ์งํจ์ ๊ณ ๊ฐ์๊ฒ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ์ค๋ฅ๋ฅผ ์ฌ์ ์ ๊ฐ์งํ๊ณ ์ฐ์ ์์๋ฅผ ์ง์ ํ๊ณ ์กฐ์น๋ฅผ ์ทจํ ์ ์๋ ๋จ์ผ ์ฅ์์ ๋๋ค. CodeStream์ ์ฌ์ฉํ๋ฉด IDE์์ ์ค๋ฅ์์ ๋ฌธ์ ๊ฐ ๋๋ ์ฝ๋๋ก ์ง์ ์ด๋ํ ์ ์์ต๋๋ค.
ํ
APM ์ค๋ฅ๋ก ์ ํ๋ฉ๋๋ค.
์ค๋ฅ ๋ฐ์ ํธ์งํจ์์ IDE๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ
one.newrelic.com/ ์์ Errors Inbox ๋ก ์ด๋ํ์ฌ ์คํ ์ถ์ ์ค๋ฅ๋ฅผ ํด๋ฆญํ ๋ค์ Open in IDE ๋ฅผ ํด๋ฆญํฉ๋๋ค.
APM ์ค๋ฅ ๋ฐ CodeStream
IDE์์ ์คํ ์ถ์ ์ค๋ฅ๋ฅผ ๋ณด๋ ค๋ฉด CodeStream์ ์ค๋ฅ๊ฐ ์ฐ๊ฒฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด์์ ์ผ๋ก๋ ์ค๋ฅ๋ฅผ ์์ฑํ ์ฝ๋ ๋ฒ์ ์ ์์์ผ ํฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ค๋ฅ์ ์ฐ๊ฒฐ
APM, ๋ชจ๋ฐ์ผ ๋๋ ๋ธ๋ผ์ฐ์ ์ ๋ํ ๋ชจ๋ํฐ๋ง์ ์์ํ ํ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ํฐํฐ๋ฅผ ๋ง๋ค๊ณ ๋ชจ๋ ์๋น์ค์ ์ํฐํฐ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ์ ์ฅ์ ์ํฐํฐ๋ฅผ ์์ฑํ๋ ค๋ฉด ์ ์ฅ์์ ์๊ฒฉ URL์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๊ฒฉ URL์ SSH ๋๋ HTTPS ํ์์ผ ์ ์์ต๋๋ค.
git@github.com:newrelic/beta-docs-site.git
https://github.com/newrelic/beta-docs-site.git
์ฃผ์
๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋์ผํ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ ๋ฒ ์ด์ ์ถ๊ฐํ ์ ์์ต๋๋ค. UI๋ ์ด์ ๋ํด ๊ฒฝ๊ณ ํ์ง๋ง ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๋ง์ง๋ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, https://github.com/tuna/repo
๋ฐ git@github.com:tuna/repo
์ ํ๋กํ ์ฝ์ด ๋ค๋ฅธ ๋์ผํ ์ ์ฅ์์
๋๋ค.
IDE์์ ์ค๋ฅ๋ฅผ ์ด๋ ค๊ณ ํ ๋ ์ฐ๊ฒฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์์ผ๋ฉด CodeStream์ ์ฐ๊ฒฐ์ ๋ง๋ค๊ณ New Relic์ ์๋ ์ง์ ๋ ์ํฐํฐ์ ๋ชจ๋ ์ค๋ฅ์ ๋ํด ํด๋น ์ฐ๊ฒฐ์ ์ ์ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ง์์ ์ธ ์๋ ์์ ์ด ๋ ํ์ํ๊ณ ์๊ฒฉ URL์ด ์๋ชป ๊ตฌ์ฑ๋ ๊ฒ๊ณผ ๊ฐ์ ์ต์ข ์ฌ์ฉ์์ ์ค์ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋น๋ SHA ๋๋ ๋ฆด๋ฆฌ์ค ํ๊ทธ๋ฅผ ์ค๋ฅ์ ์ฐ๊ฒฐ
APM ์คํ ์ถ์ ์ค๋ฅ์ ํจ๊ป CodeStream์ IDE์์ ์ด๊ธฐ ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์คํ ์ค์ธ ์ํํธ์จ์ด ๋ฒ์ ๊ณผ ์ฐ๊ฒฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปค๋ฐ ์ค ๋ฐ/๋๋ ๋ฆด๋ฆฌ์ค ํ๊ทธ ๋ก APM ์์ด์ ํธ๋ฅผ ๊ตฌ์ฑํ์ญ์์ค.
CodeStream์ ์ด ์ฐ๊ฒฐ์ ๋ง๋ค๊ธฐ ์ํด ์ปค๋ฐ ์ค์ ์ฒ์ 7์(์: 734713b
)๋ง ํ์ํ์ง๋ง ์ ์ฒด ์ค๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
๋๋ CodeStream์ ๋ํ ๋ฆด๋ฆฌ์ค ํ๊ทธ(์: v0.1.209
๋๋ release-209
)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ ์ฝ๋๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
New Relic APM์ ๊ฒฝ์ฐ ์ปค๋ฐ ๋ฐ/๋๋ ๋ฆด๋ฆฌ์ค ํ๊ทธ( tags.commit
๋ฐ tags.releaseTag
)๊ฐ Transaction
๋ฐ TransactionError
์ด๋ฒคํธ์ ์์ฑ์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค. APM ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.
๋น๋ ํ์ดํ๋ผ์ธ์ ์ผ๋ถ๋ก ์ด๋ฌํ ๋ณ์ ์ค ํ๋ ๋๋ ๋ ๋ค๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
NEW_RELIC_METADATA_COMMIT
- ์ปค๋ฐ ์ค. ์ ์ฒด๋ฅผ ํฌํจํ๊ฑฐ๋ ์ฒ์ 7์๋ง ํฌํจํ ์ ์์ต๋๋ค.NEW_RELIC_METADATA_RELEASE_TAG
- ๋ฆด๋ฆฌ์ค ํ๊ทธ(์:v0.1.209
๋๋release-209
). ์ฌ๋์ด ์ฝ์ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
์ด๋ฌํ ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ ์ธ์ด์ ๋ํ ํน์ ๊ตฌ์ฑ ์ธ๋ถ์ ๋ณด์ ๋๋ค.
CodeStream์ผ๋ก APM ์์ด์ ํธ ์ค์น
CodeStream์ ํตํด New Relic APM ์์ด์ ํธ๋ฅผ ์ค์นํ๊ธฐ ์ํ ์๊ตฌ ์ฌํญ:
์ง์๋๋ ์ธ์ด ์์ฉ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฒ ์ด์ค
- .NET Core
- ์๋ฐ
- ๋ ธ๋.JS
CodeStream์ New Relic์ ์ฒ์ ์ฐ๊ฒฐํ ๋ New Relic์์ ๋ชจ๋ํฐ๋งํ์ง ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋๋ฒ ์ด์ค์์ ์์ ํ๋ ๊ฒฝ์ฐ CodeStream์ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ์ธกํ๋๋ก ์ ์ํฉ๋๋ค.
New Relic์ ์ค์น ์๋ด ์ ๋ง์ฐฌ๊ฐ์ง๋ก CodeStream์ APM ์์ด์ ํธ๋ฅผ ์ค์นํ์ฌ New Relic์ ๋ฐ์ดํฐ ์ ์ก์ ์์ํ๋ ๋ชจ๋ ๋จ๊ณ๋ฅผ ์๋ดํ๊ณ ์๋ํํฉ๋๋ค.
์ด ๊ฒ์ฌ๋ ์ด๊ธฐ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ์๋ง ์๋์ผ๋ก ๋ฐ์ํฉ๋๋ค. ๋์ค์ ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด CodeStream ํ์ฅ์์ ์ฌ์ฉ์ ์ด๋ฆ์ ํด๋ฆญํ ๋ค์ New Relic Setup ์ ํด๋ฆญํฉ๋๋ค.
Go ๋ฐ Pixie๋ฅผ ์ฌ์ฉํ ๋์ ๋ก๊น
Go๋ก ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์
CodeStream์ ์ฌ์ฉํ์ฌ Pixie์์ ๋ชจ๋ํฐ๋งํ๋ Go ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋์ ๋ก๊น ์ ํ์ฑํํ ์ ์์ต๋๋ค. ๋ฉ์๋ ์ด๋ฆ์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๊ณ Pixie๋ฅผ ์ฌ์ฉํ ๋์ ๋ก๊น ์ ์ ํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
Python์ ์ฌ์ฉํ ์ฝ๋ ์์ค ์ธก์ ํญ๋ชฉ
- New Relic ๊ณ์
- New Relic ์ฌ์ฉ์ API ํค
- CodeStream ๋ฐ New Relic ์ฐ๊ฒฐ
- ์ ์ฅ์์ ์ปค๋ฐ ํด์ ๋ฐ ๋ฆด๋ฆฌ์ค ํ๊ทธ
- ์ง์๋๋ ํ๋ ์์ํฌ ๋ก ์์ฑ๋ Python ์ ํ๋ฆฌ์ผ์ด์
CodeStream ๋ฐ New Relic์ ์ฌ์ฉํ์ฌ Python ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ ์ฑ๋ฅ์ ๊ณ์ธกํ ์ ์์ต๋๋ค. ํ์ฑํ๋๋ฉด ๋ฉํธ๋ฆญ์ด IDE์์ CodeLens ๋๋ ์ฝ๋ ๋ฉ์๋ ์์ ์ฝ์ ๋ ํ ์คํธ๋ก ํ์๋ฉ๋๋ค.