์์ ์ฌํญ
- Kotlin ์ฝ๋ฃจํด์์ ํ์ฌ ๊ตฌํ ๊ด๋ จ ์ค๋ฅ๋ฅผ ์์ ํฉ๋๋ค.
CancellableContinuation
์ฌ์ฉ ์ค๋จ
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
ํ์ฌ ์ฌ์ฉ ์ค์ธ Java ์์ด์ ํธ ๋ฒ์ ์ ์๋ณํ๋ ค๋ฉด java -jar newrelic.jar -v ์ ์คํํฉ๋๋ค. Java ์์ด์ ํธ ๋ฒ์ ์ด ์ฝ์์ ์ธ์๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ Java ์์ด์ ํธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ ์ฒด Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฅผ ๋ค๋ฅธ ์์น์ ๋ฐฑ์
ํฉ๋๋ค. ํด๋น ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์
NewRelic_Agent#.#.#์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ฌ๊ธฐ์#.#.#์ ์์ด์ ํธ ๋ฒ์ ๋ฒํธ์ ๋๋ค. - ์์ด์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
- ์ ์์ด์ ํธ ๋ค์ด๋ก๋ ํ์ผ์ ์์ถ์ ํผ ๋ค์
newrelic-api.jar๋ฐnewrelic.jar์ ์๋ Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ ๋ณต์ฌํฉ๋๋ค. - ์ด์
newrelic.yml์ zip์์ ์๋ก ๋ค์ด๋ก๋ํnewrelic.yml๊ณผ ๋น๊ต ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค . - Java ๋์คํจ์ฒ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
Java ์์ด์ ํธ ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐฑ์ ๋ New Relic ์์ด์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ณต์ํ์ญ์์ค.
์์ด์ ํธ ๊ตฌ์ฑ ์ฐจ์ด์ ์ ๋ฐ์ดํธ
์์ด์ ํธ์ ์ ๋ฒ์ ์ ์ถ์ํ ๋ newrelic.yml ์ ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.diff ๋๋ ๋ค๋ฅธ diffing ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ๊ณ ์ด์ ํ์ผ์ ์ ๊ตฌ์ฑ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ผ์ด์ผ์ค ํค, ์ฑ ์ด๋ฆ ๋๋ ๊ธฐ๋ณธ ์ค์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ด ํ์ผ์ ๋ํด ์ํํ ์ฌ์ฉ์ ์ ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ืืื ื ๋ฒ์ 7.10.0 ๋ฐ 7.11.0์ ๋ํ ๊ธฐ๋ณธ newrelic.yml ํ์ผ์ diff ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ธ์๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...์ด ์์์ ์ด๋ฌํ ์ค์ ืืื ๋ฒ์ 7.11.0์ ๊ธฐ๋ณธ newrelic.yml ์ ์ถ๊ฐ๋์์ต๋๋ค. 7.11.0 ์ด์์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ ์๋ newrelic.yml ์ ์ด๋ฌํ ์ ์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ง์ง ์ฑ๋ช :
- ๋ด๋ ๋ฆญ์ ์์ด์ ํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ด์ ์ ์ป์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ, ์ด์ ๋ฆด๋ฆฌ์ค๋ ์ง์ ์ข ๋ฃ ์์ ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๊ฐ์ ์ฌํญ
- 2512๋ ์ @deleonenriqueta๊ฐ 25 ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- @jtduffy๊ฐ 2535์ Logback-1.5.20์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- @jtduffy๊ฐ 2490๋
์
call๋ฐexecSQL ํ์ ์ ๊ท ํํ์ ์คํ์ ๋นํ์ฑํํ๋ ๊ตฌ์ฑ ์ต์ ์ ์๊ฐํฉ๋๋ค. - @dhilpipre๊ฐ 2454๋ ์ Kotlin Coroutines v1.4+์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- @dhilpipre๊ฐ 2456๋ ์ Kotlin Coroutines ์ธ๋ถ์์ ์์ฑํ Kotlin Coroutines Suspend ํจ์์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค.
- @jbedell-newrelic์ด 2508๋ ์ ๋ฐ์ดํฐ์คํ ์ด๋ฅผ ๊ฐ์งํ๋ ๋์ ์ฌ๋ฌ ํธ์คํธ์ ๋ํ ๊ธฐ๋ณธ ์ค์ ๊ตฌ์ฑ์ ๋์ ํ์ต๋๋ค.
- @jtduffy๊ฐ 2509๋ ์ ์ํฐํฉํธ ๊ฑด๋๋ฐ๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ์์คํ ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.
- @sharvath-newrelic์ด 2532๋ ์ ์ปจํธ๋กค๋ฌ ํด๋์ค ์ด๋ฆ๊ณผ ๋ฉ์๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ Spring Controller ํธ๋์ญ์ ์ ์ด๋ฆ์ ์ง์ ํ ์ ์๋๋ก ํ๋ ์ค์ ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
- @jasonjkeller๊ฐ 2529๋
์ ๋ชจ๋
distributed_tracing.sampler๊ตฌ์ฑ์SamplerConfig๋ก ์ค์ํํ์ฌ SamplerConfig๋ฅผ ๊ตฌํํ์ต๋๋ค. - 2516๋
@sharvath-newrelic์ W3C Trace Context ์ง์๊ณผ ํจ๊ป ํ๋์ ์ธ ๋ณํ๊ธฐ ์ถ์ API๋ฅผ ์ฌ์ฉํ๋๋ก
kafka-clients-spans-0.11.0.0์์ฐ์ ์ธก์ , ํธ๋์ญ์ ์ ์ ๋ฐ์ดํธํ์ต๋๋ค.
์์ ์ฌํญ
- 2497๋ @sharvath-newrelic์ ์ค๋ฅ ํด๋์ค ์ด๋ฆ ๊ตฌ๋ฌธ ๋ถ์์ ์์ ํ์ต๋๋ค.
- @jtduffy๊ฐ 2498๋ ์ ์ค๋ฅ ๋ก๊น ์์ ์ง๋์น๊ฒ ํฐ ์คํ ์ถ์ ์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์ฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
- 2501๋ @sharvath-newrelic์ ์ํ ๋ง์ถคํ ๋์๋ณด๋ ๋ฐ ๋ก๊น ์ด๋ฒคํธ์ ์ ํจํ์ง ์์ ์์ฑ์ ๋ํ ๋ก๊น ๋ฉ์์ง๋ฅผ ๋ช ํํ ํ์ต๋๋ค.
์ฌ์ฉ ์ค๋จ
๋ค์ ์ธก์ , ๊ณ์ธก ๋ชจ๋์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
ํ์ฌ ์ฌ์ฉ ์ค์ธ Java ์์ด์ ํธ ๋ฒ์ ์ ์๋ณํ๋ ค๋ฉด java -jar newrelic.jar -v ์ ์คํํฉ๋๋ค. Java ์์ด์ ํธ ๋ฒ์ ์ด ์ฝ์์ ์ธ์๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ Java ์์ด์ ํธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ ์ฒด Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฅผ ๋ค๋ฅธ ์์น์ ๋ฐฑ์
ํฉ๋๋ค. ํด๋น ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์
NewRelic_Agent#.#.#์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ฌ๊ธฐ์#.#.#์ ์์ด์ ํธ ๋ฒ์ ๋ฒํธ์ ๋๋ค. - ์์ด์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
- ์ ์์ด์ ํธ ๋ค์ด๋ก๋ ํ์ผ์ ์์ถ์ ํผ ๋ค์
newrelic-api.jar๋ฐnewrelic.jar์ ์๋ Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ ๋ณต์ฌํฉ๋๋ค. - ์ด์
newrelic.yml์ zip์์ ์๋ก ๋ค์ด๋ก๋ํnewrelic.yml๊ณผ ๋น๊ต ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค . - Java ๋์คํจ์ฒ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
Java ์์ด์ ํธ ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐฑ์ ๋ New Relic ์์ด์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ณต์ํ์ญ์์ค.
์์ด์ ํธ ๊ตฌ์ฑ ์ฐจ์ด์ ์ ๋ฐ์ดํธ
์์ด์ ํธ์ ์ ๋ฒ์ ์ ์ถ์ํ ๋ newrelic.yml ์ ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.diff ๋๋ ๋ค๋ฅธ diffing ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ๊ณ ์ด์ ํ์ผ์ ์ ๊ตฌ์ฑ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ผ์ด์ผ์ค ํค, ์ฑ ์ด๋ฆ ๋๋ ๊ธฐ๋ณธ ์ค์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ด ํ์ผ์ ๋ํด ์ํํ ์ฌ์ฉ์ ์ ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ืืื ื ๋ฒ์ 7.10.0 ๋ฐ 7.11.0์ ๋ํ ๊ธฐ๋ณธ newrelic.yml ํ์ผ์ diff ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ธ์๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...์ด ์์์ ์ด๋ฌํ ์ค์ ืืื ๋ฒ์ 7.11.0์ ๊ธฐ๋ณธ newrelic.yml ์ ์ถ๊ฐ๋์์ต๋๋ค. 7.11.0 ์ด์์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ ์๋ newrelic.yml ์ ์ด๋ฌํ ์ ์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ง์ง ์ฑ๋ช :
- ๋ด๋ ๋ฆญ์ ์์ด์ ํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ด์ ์ ์ป์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ, ์ด์ ๋ฆด๋ฆฌ์ค๋ ์ง์ ์ข ๋ฃ ์์ ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๊ฐ์ ์ฌํญ
- @obenkenobi๊ฐ 2465๋ ์ MongoDB Reactive Streams 5.2.0 ์ด์์ ์ง์ํ์ต๋๋ค.
- @kanderson250์ด 2466๋ ์ Jedis 6์ ์ง์ํ์ต๋๋ค.
์์ ์ฌํญ
- CouchBase: ์ด์ค ์ธก์ ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฑด๋๋ฐ๊ธฐ ํด๋์ค ์ถ๊ฐ, 2462์์ @jtduffy ์์ฑ
- Spring WebClient 5.x: @jtduffy๊ฐ 2464๋ ์ ์์ฑํ ์ ์ฒด ์๋ต ๋์ ํค๋๋ง ๋ํ
์ฌ์ฉ ์ค๋จ
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
ํ์ฌ ์ฌ์ฉ ์ค์ธ Java ์์ด์ ํธ ๋ฒ์ ์ ์๋ณํ๋ ค๋ฉด java -jar newrelic.jar -v ์ ์คํํฉ๋๋ค. Java ์์ด์ ํธ ๋ฒ์ ์ด ์ฝ์์ ์ธ์๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ Java ์์ด์ ํธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ ์ฒด Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฅผ ๋ค๋ฅธ ์์น์ ๋ฐฑ์
ํฉ๋๋ค. ํด๋น ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์
NewRelic_Agent#.#.#์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ฌ๊ธฐ์#.#.#์ ์์ด์ ํธ ๋ฒ์ ๋ฒํธ์ ๋๋ค. - ์์ด์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
- ์ ์์ด์ ํธ ๋ค์ด๋ก๋ ํ์ผ์ ์์ถ์ ํผ ๋ค์
newrelic-api.jar๋ฐnewrelic.jar์ ์๋ Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ ๋ณต์ฌํฉ๋๋ค. - ์ด์
newrelic.yml์ zip์์ ์๋ก ๋ค์ด๋ก๋ํnewrelic.yml๊ณผ ๋น๊ต ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค . - Java ๋์คํจ์ฒ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
Java ์์ด์ ํธ ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐฑ์ ๋ New Relic ์์ด์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ณต์ํ์ญ์์ค.
์์ด์ ํธ ๊ตฌ์ฑ ์ฐจ์ด์ ์ ๋ฐ์ดํธ
์์ด์ ํธ์ ์ ๋ฒ์ ์ ์ถ์ํ ๋ newrelic.yml ์ ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.diff ๋๋ ๋ค๋ฅธ diffing ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ๊ณ ์ด์ ํ์ผ์ ์ ๊ตฌ์ฑ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ผ์ด์ผ์ค ํค, ์ฑ ์ด๋ฆ ๋๋ ๊ธฐ๋ณธ ์ค์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ด ํ์ผ์ ๋ํด ์ํํ ์ฌ์ฉ์ ์ ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ืืื ื ๋ฒ์ 7.10.0 ๋ฐ 7.11.0์ ๋ํ ๊ธฐ๋ณธ newrelic.yml ํ์ผ์ diff ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ธ์๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...์ด ์์์ ์ด๋ฌํ ์ค์ ืืื ๋ฒ์ 7.11.0์ ๊ธฐ๋ณธ newrelic.yml ์ ์ถ๊ฐ๋์์ต๋๋ค. 7.11.0 ์ด์์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ ์๋ newrelic.yml ์ ์ด๋ฌํ ์ ์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ง์ง ์ฑ๋ช :
- ๋ด๋ ๋ฆญ์ ์์ด์ ํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ด์ ์ ์ป์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ, ์ด์ ๋ฆด๋ฆฌ์ค๋ ์ง์ ์ข ๋ฃ ์์ ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๊ฐ์ ์ฌํญ
- @jtduffy๊ฐ 2425๋ ์ graphql v24๋ฅผ ์ง์ํ๊ธฐ ์ํด ์ ๋ฐ์ดํธํ์ต๋๋ค.
- ์์์ถ 6.5 ์ธก์ ์ถ๊ฐ, 2430๋ @kanderson250 ์์ฑ
- @jtduffy๊ฐ 2421๋ ์ commons-lang ๋ฒ์ ์ 3.18.0์ผ๋ก ์ฌ๋ ธ์ต๋๋ค.
- @kanderson250์ด 2423์ ๋ฐ์ดํฐ์คํ ์ด ๋งค๊ฐ๋ณ์์ lettuce dbName์ ์ถ๊ฐํ์ต๋๋ค.
- ํน์ ์ ํ๋ฆฌ์ผ์ด์
๊ตฌํ์ ๊ฑด๋๋ฐ๋ ค๋ฉด ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ํ๊ฒฝ ๋ณ์ ์ด๋ฆ์
NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS์ ๋๋ค. ๊ทธ ๊ฐ์ ์์ด์ ํธ๊ฐ ์ธก์ ํด์๋ ์ ๋๋ ์ฃผ์ ํด๋์ค, ์คํ ๊ฐ๋ฅํ jar ํ์ผ ๋๋ ืืืฉื ๊ธฐ๋ฐ ๋๊ตฌ/์ฑ์ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ ๋๋ค(์:NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass) @jtduffy๊ฐ 2433์ ๊ฒ์ํจ
์์ ์ฌํญ
- 8๊ฐ์ ์์ฑ์ด ์๋ SQS ๋ฉ์์ง๊ฐ AWS๋ก ์ ์ก๋์ง ์๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค. SQS ๋ฉ์์ง๋ 2422๋ ์ @obenkenobi์ ์ํ ์์ถ ํธ๋ ์ด์ค ํค๋๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด 8๊ฐ ๋ฏธ๋ง์ ์์ฑ์ด ํ์ํฉ๋๋ค.
- @jbedell-newrelic๊ฐ 2440๋ ์ Azure Service Bus ํด๋ผ์ด์ธํธ์์ ํ ํฝ ์ด๋ฆ ๋์ "๊ตฌ๋ " ๋นํธ๋ฅผ ์๋ผ๋์ต๋๋ค.
- @jasonjkeller๊ฐ 2451๋ ์ AutoConfiguredOpenTelemetrySdk ๊ตฌ์ฑ์ ์์ ํ์ต๋๋ค.
์ฌ์ฉ ์ค๋จ
๋ค์ ์ธก์ , ๊ณ์ธก ๋ชจ๋์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
ํ์ฌ ์ฌ์ฉ ์ค์ธ Java ์์ด์ ํธ ๋ฒ์ ์ ์๋ณํ๋ ค๋ฉด java -jar newrelic.jar -v ์ ์คํํฉ๋๋ค. Java ์์ด์ ํธ ๋ฒ์ ์ด ์ฝ์์ ์ธ์๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ Java ์์ด์ ํธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ ์ฒด Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฅผ ๋ค๋ฅธ ์์น์ ๋ฐฑ์
ํฉ๋๋ค. ํด๋น ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์
NewRelic_Agent#.#.#์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ฌ๊ธฐ์#.#.#์ ์์ด์ ํธ ๋ฒ์ ๋ฒํธ์ ๋๋ค. - ์์ด์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
- ์ ์์ด์ ํธ ๋ค์ด๋ก๋ ํ์ผ์ ์์ถ์ ํผ ๋ค์
newrelic-api.jar๋ฐnewrelic.jar์ ์๋ Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ ๋ณต์ฌํฉ๋๋ค. - ์ด์
newrelic.yml์ zip์์ ์๋ก ๋ค์ด๋ก๋ํnewrelic.yml๊ณผ ๋น๊ต ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค . - Java ๋์คํจ์ฒ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
Java ์์ด์ ํธ ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐฑ์ ๋ New Relic ์์ด์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ณต์ํ์ญ์์ค.
์์ด์ ํธ ๊ตฌ์ฑ ์ฐจ์ด์ ์ ๋ฐ์ดํธ
์์ด์ ํธ์ ์ ๋ฒ์ ์ ์ถ์ํ ๋ newrelic.yml ์ ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.diff ๋๋ ๋ค๋ฅธ diffing ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ๊ณ ์ด์ ํ์ผ์ ์ ๊ตฌ์ฑ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ผ์ด์ผ์ค ํค, ์ฑ ์ด๋ฆ ๋๋ ๊ธฐ๋ณธ ์ค์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ด ํ์ผ์ ๋ํด ์ํํ ์ฌ์ฉ์ ์ ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ืืื ื ๋ฒ์ 7.10.0 ๋ฐ 7.11.0์ ๋ํ ๊ธฐ๋ณธ newrelic.yml ํ์ผ์ diff ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ธ์๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...์ด ์์์ ์ด๋ฌํ ์ค์ ืืื ๋ฒ์ 7.11.0์ ๊ธฐ๋ณธ newrelic.yml ์ ์ถ๊ฐ๋์์ต๋๋ค. 7.11.0 ์ด์์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ ์๋ newrelic.yml ์ ์ด๋ฌํ ์ ์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ง์ง ์ฑ๋ช :
- ๋ด๋ ๋ฆญ์ ์์ด์ ํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ด์ ์ ์ป์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ, ์ด์ ๋ฆด๋ฆฌ์ค๋ ์ง์ ์ข ๋ฃ ์์ ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๊ฐ์ ์ฌํญ
- Azure ์๋น์ค๋ฒ์ค 7.15.0 ์ธก์ , ๋๊ตฌ, ์์ฑ์: @jbedell-newrelic, 2384
- @jbedell-newrelic๊ฐ 2399๋ ์ Azure App Services์ ๋ํ ๋ฉํ๋ฐ์ดํฐ ์ฐ๊ฒฐ
- @jtduffy๊ฐ 2377๋ ์ ์ฐ๊ฒฐ ์ค๋ฅ๋ฅผ SEVERE๋ก ๋ณด๊ณ ํ์ต๋๋ค.
- 2388๋ @jtduffy์ ์ํด ๋ก๊ทธ์ธ ๋ฐ ์ด๋ฒคํธ์ ์์ฑ์ผ๋ก ์ถ๊ฐ๋ ์ ํจํ์ง ์์ ํค๋ฅผ ๋ก๊ทธ์ธ ๋ฐ ๋๋ ํํฉ๋๋ค.
์์ ์ฌํญ
- @meiao๊ฐ 2383๋ ์ IntelliJ ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ ํ์ต๋๋ค.
- @jtduffy๊ฐ 2386๋ ์ ์๋ฒ ์ธก sampling_target ์ค์ ์ ์ง์ํ์ต๋๋ค.
- 2400์์ @deleonenriqueta์ ์ํ ์ ์ฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์์ ํ๊ธฐ ์ํด MonoFlatMapMain ์ธก์ , ๋ก๊ทธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
์ฌ์ฉ ์ค๋จ
๋ค์ ์ธก์ , ๊ณ์ธก ๋ชจ๋์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ
ํ์ฌ ์ฌ์ฉ ์ค์ธ Java ์์ด์ ํธ ๋ฒ์ ์ ์๋ณํ๋ ค๋ฉด java -jar newrelic.jar -v ์ ์คํํฉ๋๋ค. Java ์์ด์ ํธ ๋ฒ์ ์ด ์ฝ์์ ์ธ์๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ต์ Java ์์ด์ ํธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ ์ฒด Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฅผ ๋ค๋ฅธ ์์น์ ๋ฐฑ์
ํฉ๋๋ค. ํด๋น ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์
NewRelic_Agent#.#.#์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ฌ๊ธฐ์#.#.#์ ์์ด์ ํธ ๋ฒ์ ๋ฒํธ์ ๋๋ค. - ์์ด์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
- ์ ์์ด์ ํธ ๋ค์ด๋ก๋ ํ์ผ์ ์์ถ์ ํผ ๋ค์
newrelic-api.jar๋ฐnewrelic.jar์ ์๋ Java ์์ด์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์ ๋ณต์ฌํฉ๋๋ค. - ์ด์
newrelic.yml์ zip์์ ์๋ก ๋ค์ด๋ก๋ํnewrelic.yml๊ณผ ๋น๊ต ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ํ์ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค . - Java ๋์คํจ์ฒ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
Java ์์ด์ ํธ ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐฑ์ ๋ New Relic ์์ด์ ํธ ๋๋ ํฐ๋ฆฌ์์ ๋ณต์ํ์ญ์์ค.
์์ด์ ํธ ๊ตฌ์ฑ ์ฐจ์ด์ ์ ๋ฐ์ดํธ
์์ด์ ํธ์ ์ ๋ฒ์ ์ ์ถ์ํ ๋ newrelic.yml ์ ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.diff ๋๋ ๋ค๋ฅธ diffing ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ๋ ์ฌํญ์ ํ์ธํ๊ณ ์ด์ ํ์ผ์ ์ ๊ตฌ์ฑ ์ค์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ผ์ด์ผ์ค ํค, ์ฑ ์ด๋ฆ ๋๋ ๊ธฐ๋ณธ ์ค์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๊ฐ์ด ํ์ผ์ ๋ํด ์ํํ ์ฌ์ฉ์ ์ ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ืืื ื ๋ฒ์ 7.10.0 ๋ฐ 7.11.0์ ๋ํ ๊ธฐ๋ณธ newrelic.yml ํ์ผ์ diff ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ธ์๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...์ด ์์์ ์ด๋ฌํ ์ค์ ืืื ๋ฒ์ 7.11.0์ ๊ธฐ๋ณธ newrelic.yml ์ ์ถ๊ฐ๋์์ต๋๋ค. 7.11.0 ์ด์์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ ์๋ newrelic.yml ์ ์ด๋ฌํ ์ ์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ง์ง ์ฑ๋ช :
- ๋ด๋ ๋ฆญ์ ์์ด์ ํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ์ด์ ์ ์ป์ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ, ์ด์ ๋ฆด๋ฆฌ์ค๋ ์ง์ ์ข ๋ฃ ์์ ์ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.