• /
  • EnglishEspaรฑolFranรงaisๆ—ฅๆœฌ่ชžํ•œ๊ตญ์–ดPortuguรชs
  • ๋กœ๊ทธ์ธ์ง€๊ธˆ ์‹œ์ž‘ํ•˜๊ธฐ

Java agent release notesRSS

November 12, 2025
Java agent v8.25.0

์ด ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • 2512๋…„์— @deleonenriqueta๊ฐ€ 25 ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • @jtduffy๊ฐ€ 2535์— Logback-1.5.20์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • @jtduffy๊ฐ€ 2490๋…„์— call ๋ฐ exec SQL ํŒŒ์„œ ์ •๊ทœ ํ‘œํ˜„์‹ ์‹คํ–‰์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ตฌ์„ฑ ์˜ต์…˜์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  • @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.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1
  • spring-3.0.0
  • thrift-0.8
  • solr-4.0.0
  • solr-5.0.0
  • jdbc-inet-merlia
  • jdbc-inet-oranxo
  • grails-1.3
  • rabbit-amqp-1.7.2
  • rabbit-amqp-2.4.1
  • rabbit-amqp-2.5.0
  • rabbit-amqp-2.7.0
  • glassfish-3
  • hibernate-3.3
  • hibernate-3.5
  • jdbc-jtds

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ Java ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด java -jar newrelic.jar -v ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Java ์—์ด์ „ํŠธ ๋ฒ„์ „์ด ์ฝ˜์†”์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  Java ์—์ด์ „ํŠธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „์ฒด Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ NewRelic_Agent#.#.# ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ #.#.# ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
  2. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  3. ์ƒˆ ์—์ด์ „ํŠธ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ newrelic-api.jar ๋ฐ newrelic.jar ์„ ์›๋ž˜ Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ „ newrelic.yml ์„ zip์—์„œ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•œ newrelic.yml ๊ณผ ๋น„๊ต ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค .
  5. 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 ์— ์ด๋Ÿฌํ•œ ์ƒˆ ์ค„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ง€ ์„ฑ๋ช…:

  • ๋‰ด๋ ๋ฆญ์€ ์—์ด์ „ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ์ด์ ์„ ์–ป์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด์ „ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€์› ์ข…๋ฃŒ ์‹œ์  ์— ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

September 3, 2025
Java agent v8.24.0

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • @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.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ Java ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด java -jar newrelic.jar -v ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Java ์—์ด์ „ํŠธ ๋ฒ„์ „์ด ์ฝ˜์†”์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  Java ์—์ด์ „ํŠธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „์ฒด Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ NewRelic_Agent#.#.# ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ #.#.# ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
  2. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  3. ์ƒˆ ์—์ด์ „ํŠธ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ newrelic-api.jar ๋ฐ newrelic.jar ์„ ์›๋ž˜ Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ „ newrelic.yml ์„ zip์—์„œ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•œ newrelic.yml ๊ณผ ๋น„๊ต ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค .
  5. 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 ์— ์ด๋Ÿฌํ•œ ์ƒˆ ์ค„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ง€ ์„ฑ๋ช…:

  • ๋‰ด๋ ๋ฆญ์€ ์—์ด์ „ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ์ด์ ์„ ์–ป์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด์ „ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€์› ์ข…๋ฃŒ ์‹œ์  ์— ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

August 13, 2025
Java agent v8.23.0

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • @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.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ Java ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด java -jar newrelic.jar -v ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Java ์—์ด์ „ํŠธ ๋ฒ„์ „์ด ์ฝ˜์†”์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  Java ์—์ด์ „ํŠธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „์ฒด Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ NewRelic_Agent#.#.# ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ #.#.# ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
  2. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  3. ์ƒˆ ์—์ด์ „ํŠธ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ newrelic-api.jar ๋ฐ newrelic.jar ์„ ์›๋ž˜ Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ „ newrelic.yml ์„ zip์—์„œ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•œ newrelic.yml ๊ณผ ๋น„๊ต ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค .
  5. 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 ์— ์ด๋Ÿฌํ•œ ์ƒˆ ์ค„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ง€ ์„ฑ๋ช…:

  • ๋‰ด๋ ๋ฆญ์€ ์—์ด์ „ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ์ด์ ์„ ์–ป์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด์ „ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€์› ์ข…๋ฃŒ ์‹œ์  ์— ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

July 9, 2025
Java agent v8.22.0

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • 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.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ Java ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด java -jar newrelic.jar -v ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Java ์—์ด์ „ํŠธ ๋ฒ„์ „์ด ์ฝ˜์†”์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  Java ์—์ด์ „ํŠธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „์ฒด Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ NewRelic_Agent#.#.# ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ #.#.# ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
  2. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  3. ์ƒˆ ์—์ด์ „ํŠธ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ newrelic-api.jar ๋ฐ newrelic.jar ์„ ์›๋ž˜ Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ „ newrelic.yml ์„ zip์—์„œ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•œ newrelic.yml ๊ณผ ๋น„๊ต ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค .
  5. 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 ์— ์ด๋Ÿฌํ•œ ์ƒˆ ์ค„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ง€ ์„ฑ๋ช…:

  • ๋‰ด๋ ๋ฆญ์€ ์—์ด์ „ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ์ด์ ์„ ์–ป์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด์ „ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€์› ์ข…๋ฃŒ ์‹œ์  ์— ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

May 29, 2025
Java agent v8.21.0

์ฃผ์˜

์•Œ๋ ค์ง„ ๋ฌธ์ œ: ์ด ๋ฆด๋ฆฌ์Šค์—๋Š” Netty Reactor์˜ ํŠน์ • ์‚ฌ์šฉ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์•Œ๋ ค์ง„ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ

  • Reactor Mono.flatMap ํ˜ธ์ถœ 2308์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ํ•ต์‹ฌ Kafka ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 2312๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Spring-Kafka์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ธก์ •, ์ˆ˜์‹  ๋ฐ ์ˆ˜์‹ ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • Kafka 3.7+ 2358์— ๋Œ€ํ•œ KafkaConsumerConfig ์ด๋ฒคํŠธ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ

  • distributed_tracing.sampler ๊ตฌ์„ฑ 2330์„์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

  • Scala 2.12 ๋ฐ JDK 11์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถˆ๋ฒ• ์•ก์„ธ์Šค ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ Scala 2.12๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ(์ด๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ ํด๋ž˜์Šค ๋กœ๋”๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ sbt๋Š” Scala ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ Scala ๋กœ๋”์— ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค) ์‹œ์Šคํ…œ ์†์„ฑ -Dnewrelic.config.class_transformer.illegal_access_fix=true 2334๋ฅผํ†ตํ•ด ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Netty '์•Œ ์ˆ˜ ์—†์Œ' ํŠธ๋žœ์žญ์…˜ 2274 2355์ˆ˜์ •

    • ์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ด์ „์˜ Netty ์ธก์ • ๋ฐ ๊ณ„์ธก ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๋’ค๋กœ ์˜ฎ๊ฒจ์„œ HTTP2 ํŠธ๋žœ์žญ์…˜๊ณผ ๊ด€๋ จ๋œ ์ผ๋ถ€ ๊ฒฝ์šฐ์— ์ถ”๊ฐ€ ๊ฐ€์‹œ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ธ๋ถ„์„ฑ์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด(์•Œ ์ˆ˜ ์—†๋Š” ๊ฑฐ๋ž˜๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ) ๋‹ค์Œ ๊ตฌ์„ฑ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
    netty:
    http2:
    frame_read_listener:
    start_transaction: true
    • 8.20์˜ ์—์ด์ „ํŠธ ๊ตฌ์„ฑ์— ๋…ผ๋ฆฌ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํ•ด๋‹น ์ˆ˜์ • ์‚ฌํ•ญ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ 8.21 ์ด์ƒ์—์„œ๋งŒ ๊ณต์‹์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • SQS ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋ถ„์‚ฐ ํŠธ๋ ˆ์ด์Šค ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์‹œ๊ธฐ์— ๋Œ€ํ•œ ์ œํ•œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ์˜ ๋ฐ”์ดํŠธ ํฌ๊ธฐ์™€ ์†์„ฑ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ 251KB๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ์†์„ฑ์ด 9๊ฐœ ์ด์ƒ์ธ ๋ฉ”์‹œ์ง€๋Š” ๋ถ„์‚ฐ ํŠธ๋ ˆ์ด์Šค ํ—ค๋” ์ถ”๊ฐ€์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค . 2353

  • ๊ณ ๊ฐ ํ™˜๊ฒฝ๊ณผ์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด org.crac JAR์„ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2344

  • PR #1927์—์„œ NullPointerExceptions ์ด ์ด์ „ ๋ฒ„์ „์˜ vertx-core ์ธก์ •์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑํฌํŠธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์ธก 2327

  • HttpUrlConnection ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋กœ ์ธํ•ด ๊ณผ๋„ํ•œ ํŠธ๋žœ์žญ์…˜ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: getInputStream) ์™ธ๋ถ€ ํ˜ธ์ถœ๊ณผ ์—ฐ๊ด€๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ. ์ด ๋™์ž‘์€ ๋‹ค์Œ ๊ตฌ์„ฑ ์˜ต์…˜์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop -Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false ๋˜๋Š” newrelic.yml ์˜ ๋™๋“ฑํ•œ ์ ˆ. ๊ธฐ๋ณธ ์„ค์ •์€ true ์ž…๋‹ˆ๋‹ค(์ฆ‰ ์™ธ๋ถ€๊ฐ€ ์•„๋‹Œ getInputStream ๋ฐ ๊ธฐํƒ€ ์‘๋‹ต ์ฒ˜๋ฆฌ๊ธฐ ๋ฉ”์„œ๋“œ๋Š” ์ด์ „๊ณผ ๊ฐ™์ด ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค. 2365

๋ณด์•ˆ

  • ๋ฌดํ•œ ์ถ”์  2339๋กœ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด com.newrelic.agent.java:infinite-tracing-protobuf ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ ์ทจ์•ฝ์  2333์„ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด snakeyaml com.konloch:safeyaml ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์ค‘๋‹จ

๋‹ค์Œ ์ธก์ •, ๊ณ„์ธก ๋ชจ๋“ˆ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

IAST

CSEC ๋ฒ„์ „ 1.7.0 2348 ์—…๋ฐ์ดํŠธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0

์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ Java ์—์ด์ „ํŠธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด java -jar newrelic.jar -v ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Java ์—์ด์ „ํŠธ ๋ฒ„์ „์ด ์ฝ˜์†”์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  Java ์—์ด์ „ํŠธ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „์ฒด Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ NewRelic_Agent#.#.# ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ #.#.# ์€ ์—์ด์ „ํŠธ ๋ฒ„์ „ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
  2. ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  3. ์ƒˆ ์—์ด์ „ํŠธ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ newrelic-api.jar ๋ฐ newrelic.jar ์„ ์›๋ž˜ Java ์—์ด์ „ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ „ newrelic.yml ์„ zip์—์„œ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œํ•œ newrelic.yml ๊ณผ ๋น„๊ต ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค .
  5. 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 ์— ์ด๋Ÿฌํ•œ ์ƒˆ ์ค„์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ง€ ์„ฑ๋ช…:

  • ๋‰ด๋ ๋ฆญ์€ ์—์ด์ „ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ์ด์ ์„ ์–ป์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด์ „ ๋ฆด๋ฆฌ์Šค๋Š” ์ง€์› ์ข…๋ฃŒ ์‹œ์  ์— ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Copyright ยฉ 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.