Importante
ææ°ã®ãšãŒãžã§ã³ã ããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããããã«æŽæ°ããããšããå§ãããŸããææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ããšãŒãžã§ã³ãã 90 æ¥ä»¥å ã®ããŒãžã§ã³ã«æŽæ°ããŠãã ããããšãŒãžã§ã³ããææ°ã®ç¶æ ã«ä¿ã€æ¹æ³ã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãšãŒãžã§ã³ãã®ãªãªãŒã¹ãšãµããŒãæ¥ã«ã€ããŠã¯ãNew Relic Ruby ãšãŒãžã§ã³ãã®EOL ããªã·ãŒãåç §ããŠãã ããã
v10.2.0
æ©èœ: OpenTelemetry ãã¬ãŒã¹ã®ãµããŒãã®ããã®ãã€ããªãã ãšãŒãžã§ã³ãã®å°å ¥
New Relic RubyãšãŒãžã§ã³ãã®æ°ãããã€ããªãããšãŒãžã§ã³ãæ©èœã䜿çšããŠã OpenTelemetry Tracing APIãNew Relicãã¬ã¡ããªãŒã«å€æã§ããããã«ãªããŸããã ããã«ããã
newrelic_rpmgem ã¯OpenTelemetry SDK ãšåæ§ã«åäœãã OpenTelemetry APIã³ãŒã«ãåãå ¥ããŠãäœ¿ãæ £ãã屿§ãšååãæã€New Relicãã©ã³ã¶ã¯ã·ã§ã³ãšã»ã°ã¡ã³ãã«å€æã§ããããã«ãªããŸããæ¬¡ã®èšå®ãªãã·ã§ã³ã¯ããã€ããªãã ãšãŒãžã§ã³ãæ©èœã«é¢é£ããŠããŸãã
èšå®å ããã©ã«ã è¡å OpenTelemetryãæå¹ falseNew Relicãä»ããŠéä¿¡ããããã¹ãŠã®OpenTelemetryä¿¡å·ãç¡å¹ã«ããã°ããŒãã«èšå®ãªãã·ã§ã³ã OpenTelemetry.Trace.enabled trueOpenTelemetryã¹ãã³ããã®ç¬éãã¬ãŒã¹ ã»ã°ã¡ã³ããšã¿ã€ã ã¹ã©ã€ã¹ ã¡ããªã¯ã¹ã®äœæãæå¹ã«ããŸã OpenTelemetry.ãã¬ãŒã¹.include ''OpenTelemetryã®ã«ã³ãåºåãã®ãªã¹ããæååãšããŠè¡šãããŸã(äŸ: ãAppTracer1, OpenTelemetry ::èšè£ ::Bunny::èšè£ ã)ããã¬ãŒã¹ä¿¡å·ãNew Relicã«éä¿¡ãããŸãã OpenTelemetry.ãã¬ãŒã¹.exclude ''OpenTelemetryã®ã«ã³ãåºåãã®ãªã¹ããæååãšããŠè¡šãããŸã(äŸ: "AppTracer1, OpenTelemetry ::èšè£ ::Bunny::èšè£ ")ããã¬ãŒã¹ä¿¡å·ã¯New Relicã«éä¿¡ãããŸããã New Relicèšè£ ãšç«¶åããèšè£ çšã®æ¢ç¥ã®ãã¬ãŒãµãŒã¯ãã¹ãŠããã©ã«ãã§é€å€ãããŸãã æ©èœ: èšå®ãªãã·ã§ã³ error_collector.backtrace_truncate_location ã远å
æ°ããèšå®ãªãã·ã§ã³
error_collector.backtrace_truncate_locationã远å ãããŸãããããã«ããããã¬ãŒã æ°ãerror_collector.max_backtrace_framesãè¶ ããå Žåã«ããã¯ãã¬ãŒã¹å ã®ã©ãã§åãæšãŠããããŠãŒã¶ãŒãæå®ã§ããããã«ãªããŸããã ãªãã·ã§ã³ã¯ã'top'(å é ãããã¬ãŒã ãåé€)ã'middle'(å é ãšæ«å°Ÿãä¿æãããŸãŸäžéãããã¬ãŒã ãåé€)ããŸãã¯'end'(æ«å°Ÿãããã¬ãŒã ãåé€) ã§ããããã©ã«ãã¯'middle'ã§ããPR#3424æ©èœ: Logging gem èšè£ ã远å
ãšãŒãžã§ã³ãã¯ã Logging gemã«ãã£ãŠçæããããã°ãèšé²ããããã«ãªããŸãããPR#3420
æ©èœ: èšå®ãªãã·ã§ã³ utilization.detect_in_parallel ã远å
æ°ããèšå®ãªãã·ã§ã³
utilization.detect_in_parallelã远å ãããŸãããããã¯ããšãŒãžã§ã³ãã®èµ·åãé«éåããããã«cloudãã³ããŒæ å ±ãæ€åºãããšãã«ãšãŒãžã§ã³ããã¹ã¬ããã䜿çšãããã©ãããå¶åŸ¡ããŸããfalseã«èšå®ãããšããã³ããŒæ€åºã¯ã¹ã¬ãããäœæããã«é çªã«å®è¡ãããŸããããã©ã«ãã¯trueã§ããPR#3439
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v10.1.0
Feature: Add support for forking processes in Parallel gem instrumentation
Parallel gem instrumentation has been added to allow more consistent monitoring in processes forked using the Parallel gem. PR#3405
Feature: Add support for Grape v3.1.0
Grape's release of v3.1.0 introduced changes that were incompatible with the agent's instrumentation, causing issues when collecting transaction names. The agent has been updated to properly extract class names for transaction naming in the updated Grape API structure. PR#3413
Bugfix: Create health check files in forked processes
The agent now properly initializes health check loops after forking, ensuring each process generates its own health check file. This fix also has the effect of correctly including
entity.guidvalues in the health check files. PR#3409 Issue#3408Bugfix: Fix
sidekiq.ignore_retry_errorsThe configuration option
sidekiq.ignore_retry_errors: truewas continuing to report retry errors. The agent now correctly ignores retry errors and only reports when jobs permanently fail. PR#3399
Importante
ã¡ãžã£ãŒ ããŒãžã§ã³ ã¢ããããŒã:ãã®ããŒãžã§ã³ã® Ruby ãšãŒãžã§ã³ã㯠SemVer ã¡ãžã£ãŒ ã¢ããããŒãã§ãããé倧ãªå€æŽãå«ãŸããŠããŸããã¡ãžã£ãŒ ããŒãžã§ã³ã§ã¯ãã¡ã³ãããŒã®èŠå®ã«ãããµããŒãçµäºãšãªã£ãèšèªã©ã³ã¿ã€ã ã®ãµããŒãã廿¢ãããããšããããŸããããã«ãã¡ãžã£ãŒ ããŒãžã§ã³ã§ã¯ãç¹å®ã®èšè£ ã®ãµããŒããçµäºããåé€ãããå ŽåããããŸãã ãããã®å€æŽã®è©³çްã«ã€ããŠã¯ãããã«ããç§»è¡ã¬ã€ããåç §ããŠãã ããã
Importante
ææ°ã®ãšãŒãžã§ã³ã ããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããããã«æŽæ°ããããšããå§ãããŸããææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ããšãŒãžã§ã³ãã 90 æ¥ä»¥å ã®ããŒãžã§ã³ã«æŽæ°ããŠãã ããããšãŒãžã§ã³ããææ°ã®ç¶æ ã«ä¿ã€æ¹æ³ã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãšãŒãžã§ã³ãã®ãªãªãŒã¹ãšãµããŒãæ¥ã«ã€ããŠã¯ãNew Relic Ruby ãšãŒãžã§ã³ãã®EOL ããªã·ãŒãåç §ããŠãã ããã
v10.0.0
é倧ãªå€æŽ: Ruby 2.4 ããã³ 2.5 ã®ãµããŒããåé€
Ruby ããŒãžã§ã³ 2.4 ããã³ 2.5 ã®ãµããŒãã¯åé€ãããŸãããæ°ããæäœéå¿ èŠãª Ruby ããŒãžã§ã³ã¯ 2.6 ã«ãªããŸãããPR#3314
é倧ãªå€æŽ: ã¯ãã¹ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã¹ (CAT) ã®åé€
以åã¯ãã¯ãã¹ã¢ããªã±ãŒã·ã§ã³ ãã¬ãŒã·ã³ã° (CAT) ãéæšå¥šãšãªãããã£ã¹ããªãã¥ãŒãã£ããïŒåæ£ïŒãã¬ãŒã·ã³ã°ã䜿çšãããŸããã CAT æ©èœã¯åé€ãããŸãããèšå®ãªãã·ã§ã³
cross_application_tracer.enabledã¯åé€ãããŸããã ãããªã㯠API ã¡ãœããNewRelic::Agent::External.process_request_metadataãNewRelic::Agent::External.get_response_metadataãNewRelic::Agent::Transaction::ExternalRequestSegment#process_response_metadataãNewRelic::Agent::Transaction::ExternalRequestSegment#get_request_metadataãããã³NewRelic::Agent::Transaction::ExternalRequestSegment#read_response_headersãåé€ãããŸãããPR#3333é倧ãªå€æŽ: ActiveJob ã¡ããªã¯ã¹ãšã»ã°ã¡ã³ãã®ååã倿Žãã
ActiveJob ã¡ããªã¯ã¹ãæŽæ°ãããããå ·äœçãªã¬ããŒããäœæããããã«ãžã§ãã®ã¯ã©ã¹åãå«ãŸããããã«ãªããŸããã ããã¯é倧ãªå€æŽã§ãããã«ã¹ã¿ã ããã·ã¥ããŒããŸãã¯ã¢ã©ãŒãã®æŽæ°ãå¿ èŠã«ãªãå ŽåããããŸãã PR#3370 PR#3320
- å€ã圢åŒ:
Ruby/ActiveJob/<QueueName>/<Method> - æ°ãããã©ãŒããã:
Ruby/ActiveJob/<QueueName>/<ClassName>/<Method>
ããã«ãã¢ã¯ãã£ã ãžã§ãã®ãã¥ãŒç»é²ã¢ã¯ã·ã§ã³çšã«äœæãããã»ã°ã¡ã³ãã«ãžã§ã ã¯ã©ã¹ãå«ãŸããããã«ãªããŸããã
- å€ã圢åŒ:
ActiveJob/<QueueAdapter>/Queue/<Event>/Named/<QueueName> - æ°ãããã©ãŒããã:
ActiveJob/<QueueAdapter>/Queue/<Event>/Named/<QueueName>/<ClassName>
- å€ã圢åŒ:
倿Žç¹:
bin/newrelicã³ãã³ãã®ååãæ¬¡ã®ããã«å€æŽããŸãbin/newrelic_rpmãšãŒãžã§ã³ãã® CLI ã®å®è¡å¯èœãã¡ã€ã«ã®ååã
bin/newrelicããbin/newrelic_rpmã«å€æŽãããŸããããã®å€æŽã«ãããã¹ã¿ã³ãã¢ãã³ã® New Relic CLI ããŒã«ãšã®ååã®ç«¶åã解決ãããŸããPR#3323倿Žç¹:
newrelic deploymentsCLI ã³ãã³ããåé€ããŸãéæšå¥šã®
newrelic deploymentsCLI ã³ãã³ãã¯åé€ãããŸãããNew Relicã®å€æŽãšãããã€ã¡ã³ãã远跡ããã«ã¯ãå©çšå¯èœãªãªãã·ã§ã³ã®ãªã¹ãã«ã€ããŠã¯ã倿Žè¿œè·¡ (倿Žè¿œè·¡æ©èœ)ã®ã¬ã€ããåç §ããŠãã ããã PR#3299é倧ãªå€æŽ: NewRelic::ãšãŒãžã§ã³ã::SqlSampler#notice_sql ã¡ãœãããåé€
代ããã«ããŠãŒã¶ãŒã¯
NewRelic::Agent::Datastores.notice_sqlãåŒã³åºãå¿ èŠããããŸããPR#3338é倧ãªå€æŽ: ããŸããŸãª NewRelic::ãšãŒãžã§ã³ã::Datastores API ããæªäœ¿çšã®åŒæ°ãåé€
NewRelic::Agent::Datastoresã¯ã©ã¹ã®æ¬¡ã® API ããã¡ãœããåŒæ°ãåé€ãããŸãã:NewRelic::Agent::Datastores.notice_sqlã«ã¯ã以å㯠3 ã€ã®äœçœ®åŒæ°queryãscoped_metricãelapsedããããŸãããçŸåšã¯queryã®ã¿ã«ãªã£ãŠããŸããNewRelic::Agent::Datastores.notice_statementã以å㯠2 ã€ã®äœçœ®åŒæ°queryãšelapsedããããŸãããçŸåšã¯queryã®ã¿ã«ãªã£ãŠããŸããNewRelic::Agent::Datastores.wrapããã»ã¹ãå¿ èŠã§ãã以åã¯ãããã·ãŒãžã£ã¯ãyield ã®çµæãæãå ·äœçãªã¹ã³ãŒãã®ã¡ããªãã¯åãããã³åŒã³åºãã®çµéæéãšãã 3 ã€ã®åŒæ°ãåãåããŸããã ä»ã§ã¯ãyield ã®çµæã®ã¿ãåãåããŸãã
åé€ãããåŒæ°ã®å€ã¯ãåŒã³åºãæã®çŸåšã®ã»ã°ã¡ã³ãããå°åºãããŸããPR#3347
é倧ãªå€æŽ: å®éšçæ©èœã®èšå®å¯èœãªã»ãã¥ãªã㣠ããªã·ãŒ (CSP) ãåé€ããŸãã
å®éšçæ©èœã§ããèšå®å¯èœãªã»ãã¥ãªã㣠ããªã·ãŒ (CSP) ã¯ãµããŒããããªããªããåé€ãããŸããã PR#3292
é倧ãªå€æŽ: Puma ããŒãžã§ã³ '<' 3.9.0 ã®ãµããŒããåé€ããŸã
çŸåšãµããŒããããŠãã Puma ã®æå°ããŒãžã§ã³ã¯ 3.9.0 以äžã§ããPR#3326
é倧ãªå€æŽ: èšå®ã®æ€èšŒãšåŒ·å¶å®è¡ã®æ¹å
ä¿æ°èšå®ã«æäŸãããå€ã匷å¶ããã³æ€èšŒããããã«äœ¿çšãããå éšæ©èœã¯ãããããã©ãŒãã³ã¹ãåäžããããæ£ç¢ºã«ãªããŸããã
- nil ããµããŒããããŠããªãèšå®ã®èšå®å€ãšããŠæå®ãããå ŽåãèŠåã¡ãã»ãŒãžã newrelic_agent.log ãã¡ã€ã«ã«èšé²ãããããã«ãªããŸããã
- ãããŒãèšå®ã¿ã€ãã«ã¯æŽæ°å€ãèš±å¯ãããŸã
- ãããŒãå€ã¯æŽæ°èšå®åã§èš±å¯ãããŸã
- ç¡å¹ãªå ¥åå€ã眮ãæããããã©ã«ãå€ãèŠã€ãããšãèŽåœçãªäžæã鲿¢ãããŸãPR#3341
é倧ãªå€æŽ: ãã£ã¹ããªãã¥ãŒãã£ããïŒåæ£ïŒãã¬ãŒã·ã³ã° ãªã¢ãŒã芪ãµã³ãã©ãŒã®ãdefaultããªãã·ã§ã³ããadaptiveãã«çœ®ãæããŸãã
以åã¯ã
distributed_tracing.sampler.remote_parent_sampledãšdistributed_tracing.sampler.remote_parent_not_sampledããã©ã«ã ãªãã·ã§ã³ã¯defaultã§ãããæ¢åã®ã¢ãããã£ã ãµã³ãã©ãŒã䜿çšãããŠããŸãããdefaultãªãã·ã§ã³ã®ååãadaptiveã«å€æŽãããŸãããPR#3363æ©èœ:
loggeräŸåé¢ä¿ãšããŠè¿œåç¶ç¶çãªãã°æ©èœãš Ruby 4.0.0 以éã®ããŒãžã§ã³ã®ãµããŒãã確ä¿ããããã«ã
loggergem ããšãŒãžã§ã³ãã®äŸåé¢ä¿ãšããŠãªã¹ããããããã«ãªããŸãããPR#3293æ©èœ: Active Support éç¥èš±å¯ãªã¹ãã®èšå®ãªãã·ã§ã³ã远å
æ°ããèšå®ãªãã·ã§ã³
instrumentation.active_support_notifications.active_support_events䜿çšãããšããŠãŒã¶ãŒã¯ãšãŒãžã§ã³ãã賌èªããã¢ã¯ãã£ã ãµããŒãéç¥ã€ãã³ãåã®èš±å¯ãªã¹ããå®çŸ©ã§ããŸãã ããã©ã«ãã§ã¯ããšãŒãžã§ã³ãã¯ãã¹ãŠã®Active Support: Cachingããã³Active Support: Messagesã€ãã³ãããµãã¹ã¯ã©ã€ãããŸããPR#3327æ©èœ: Ruby ã®çµã¿èŸŒã¿ Gzip å§çž®ã䜿çšãã
ãšãŒãžã§ã³ãã¯ã以åã®ã«ã¹ã¿ã å®è£ ã«ä»£ãã£ãŠãRuby æšæºã©ã€ãã©ãªã®çµã¿èŸŒã¿
Zlib.gzipã¡ãœãããå§çž®ã«äœ¿çšããããã«ãªããŸãããPR#3332æ©èœ:
NewRelic::Agent#record_custom_eventAPI ã®åŒæ°æ€èšŒã远åç¡å¹ãª
event_typeãæå®ãããå ŽåãNewRelic::Agent#record_custom_eventAPI ã¯ArgumentErrorãçºçãããããã«ãªããŸãããæå¹ãªã€ãã³ã ã¿ã€ãã¯ãè±æ°åãã¢ã³ããŒã¹ã³ã¢ (_)ãã³ãã³ (:)ããŸãã¯ã¹ããŒã¹ () ã®ã¿ã§æ§æãããŠããå¿ èŠããããŸããPR#3319æ©èœ: ã«ãŒããµã³ããªã³ã°èšå®ãªãã·ã§ã³ã远å
distributed_tracing.sampler.rootã䜿çšããŠãçŸåšã®ãµãŒãã¹å ã§çæããããã¬ãŒã¹ã®ãµã³ããªã³ã°åäœãæ§æã§ããããã«ãªããŸãããPR#3330å©çšã§ããã¢ãŒã㯠4 ã€ãããŸãã
ã¢ãŒã 説æ adaptiveæ¢åã®é©å¿ãµã³ãã©ãŒã¢ã«ãŽãªãºã ã䜿çšãã always_offã«ãŒããã¬ãŒã¹ã®0%ããµã³ããªã³ã°æžã¿ãšããŠããŒã¯ããŸã always_onã«ãŒããã¬ãŒã¹ã®100%ããµã³ããªã³ã°æžã¿ãšããŠããŒã¯ããŸã trace_id_ratio_baseddistributed_tracing.sampler.root.trace_id_ratio_based.ratioã«èšå®ãããæ¯çã«åºã¥ããŠãã¬ãŒã¹ããµã³ããªã³ã°ããŸããæ¯ç㯠0.0 ïœ 1.0 ã®ãããŒãã§ãªããã°ãªããŸããæ©èœ: ãã¬ãŒã¹ ID æ¯çããŒã¹ã®ãµã³ããªã³ã° ãªãã·ã§ã³ã远å
ãšãŒãžã§ã³ãã¯ã OpenTelemetry ID Ratio Based ãµã³ãã©ãŒ ã¢ã«ãŽãªãºã ã䜿çšããŠãã¬ãŒã¹ããµã³ããªã³ã°ã§ããããã«ãªããŸããã PR#3330ãã¬ãŒã¹ ID ã«åºã¥ã㊠0.0 ïœ 1.0 ã®ç¢ºçã§ãã¬ãŒã¹ããµã³ããªã³ã°ããŸãã
ãã®ãªãã·ã§ã³ã䜿çšããã«ã¯ããŸããã£ã¹ããªãã¥ãŒãã£ããïŒåæ£ïŒãã¬ãŒã·ã³ã° ãµã³ãã©ãŒèšå®ã
trace_id_ratio_basedã«èšå®ããæ¬¡ã«å¯Ÿå¿ããdistributed_tracing.sampler.*.trace_id_ratio_based.ratioãµã³ãã©ãŒã 0.0 ïœ 1.0 ã®ãããŒãã«èšå®ããå¿ èŠããããŸããäŸãã°ïŒ
distributed_tracing.sampler.remote_parent_sampled: 'trace_id_ratio_based'distributed_tracing.sampler.remote_parent_sampled.trace_id_ratio_based.ratio': 0.5ãã®èšå®ã§ã¯ããªã¢ãŒãã®èŠªããµã³ããªã³ã°ããããã¹ãŠã®ãã¬ãŒã¹ã«ã€ããŠããã¬ãŒã¹ã®çŽ 50% ããµã³ããªã³ã°ãããŸãã
ãã®ãªãã·ã§ã³ã¯ä»¥äžã§å©çšå¯èœã§ã:
distributed_tracing.sampler.rootdistributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
æ©èœ: ãšã³ãã£ã㣠GUID ãAgent Controlãã«ã¹ ãã§ã㯠ãã¡ã€ã«ã«è¿œå ããŸã
Agent Controlç°å¢å ã§ãšãŒãžã§ã³ããéå§ããããšãåããã»ã¹ã®æ§æããããã¡ã€ã«ã®å Žæã«ãã«ã¹ ãã§ã㯠ãã¡ã€ã«ãäœæãããŸãã ãã®ãã¡ã€ã«ã«ã¯ãå©çšå¯èœãªå ŽåããšãŒãžã§ã³ãã«é¢é£ãããšã³ãã£ãã£ã® GUID ãå«ãŸããããã«ãªããŸãããPR#3371
ãã°ä¿®æ£: GCP 䜿çšçæ€åºã«ããã
NoMethodErrorã解決ããŸãããGCP ã¡ã¿ããŒã¿æ€åºããžãã¯ã¯ã
nilãŸãã¯äºæããªãå€ãé©åã«åŠçãããµãŒãã¹åæåã®ã¯ã©ãã·ã¥ãé²ãããã«ãªããŸãããPR#3388
Importante
ææ°ã®ãšãŒãžã§ã³ã ããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããããã«æŽæ°ããããšããå§ãããŸããææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ããšãŒãžã§ã³ãã 90 æ¥ä»¥å ã®ããŒãžã§ã³ã«æŽæ°ããŠãã ããããšãŒãžã§ã³ããææ°ã®ç¶æ ã«ä¿ã€æ¹æ³ã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãšãŒãžã§ã³ãã®ãªãªãŒã¹ãšãµããŒãæ¥ã«ã€ããŠã¯ãNew Relic Ruby ãšãŒãžã§ã³ãã®EOL ããªã·ãŒãåç §ããŠãã ããã
ããŒãžã§ã³9.24.0
æ©èœ: SqlSampler#notice_sql API ã®å»æ¢ã«é¢ãããç¥ãã
NewRelic::Agent::SqlSampler#notice_sqlã¡ãœããã¯éæšå¥šã§ãããå°æ¥ã®ã¡ãžã£ãŒ ããŒãžã§ã³ã§åé€ãããäºå®ã§ãã代ããã«ããŠãŒã¶ãŒã¯NewRelic::Agent::Datastores.notice_sqlãåŒã³åºãå¿ èŠããããŸããPR#3345æ©èœ: Datastores.notice_sql ã® 2 çªç®ãš 3 çªç®ã®åŒæ°ã®éæšå¥šéç¥API
NewRelic::Agent::Datastores.notice_sqlã¡ãœããã® 2 çªç® (scoped_metric) ããã³ 3 çªç® (elapsed) ã®åŒæ°ã¯éæšå¥šã§ãããããã¯ãã°ããã®éããã®æ¹æ³ã§ã¯äœ¿çšãããŠããŸããã代ããã«ããããã®å€ã¯ãAPI ãåŒã³åºããããšãã«çŸåšã®ã»ã°ã¡ã³ãã«åºã¥ããŠèšå®ãããŸããPR#3345æ©èœ: Datastores.notice_statement ã® 2 çªç®ã®åŒæ°ã®éæšå¥šéç¥API
NewRelic::Agent::Datastores.notice_statementã¡ãœããã® 2 çªç®ã®åŒæ° (elapsed) ã¯éæšå¥šã§ãããã®æ¹æ³ã¯ããã°ããã®é䜿çšãããŠããŸããã代ããã«ããã®å€ã¯ API ãåŒã³åºããããšãã«çŸåšã®ã»ã°ã¡ã³ãã«åºã¥ããŠèšå®ãããŸããPR#3346æ©èœ: Datastores.wrap API ã® proc ã® 2 çªç®ãš 3 çªç®ã®åŒæ°ã®éæšå¥šéç¥
NewRelic::Agent::Datastores.wrapã¡ãœããã¯å€æŽãããŠããŸããå°æ¥ã®ã¡ãžã£ãŒ ããŒãžã§ã³ã§ã¯ãproc ã¯åäžã®åŒæ° (yield ã®çµæ) ã®ã¿ãåãå ¥ããããã«ãªããŸããã¹ã³ãŒãä»ãã¡ããªãã¯åãšçµéåŒæ°ã¯ãDatastores.notice_sqlã¡ãœããããåé€ãããããåé€ãããŸãã ã¹ã³ãŒãä»ãã¡ããªãã¯åãšçµéå€ã¯ãã©ãããå®è¡ããããšãã«çŸåšã®ã»ã°ã¡ã³ãããå°åºãããŸãã PR#3346
Importante
ææ°ã®ãšãŒãžã§ã³ã ããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããããã«æŽæ°ããããšããå§ãããŸããææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ããšãŒãžã§ã³ãã 90 æ¥ä»¥å ã®ããŒãžã§ã³ã«æŽæ°ããŠãã ããããšãŒãžã§ã³ããææ°ã®ç¶æ ã«ä¿ã€æ¹æ³ã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãšãŒãžã§ã³ãã®ãªãªãŒã¹ãšãµããŒãæ¥ã«ã€ããŠã¯ãNew Relic Ruby ãšãŒãžã§ã³ãã®EOL ããªã·ãŒãåç §ããŠãã ããã
ããŒãžã§ã³9.23.0
æ©èœ: sidekiq.ignore_retry_errors ã远å èšå®ãªãã·ã§ã³
Sidekiq ãžã§ãã®å詊è¡ããã£ããã£ãããã©ãããå¶åŸ¡ããããã®æ°ããèšå®ãªãã·ã§ã³
sidekiq.ignore_retry_errorsã远å ãããŸããã å詊è¡ãšã©ãŒã¯ããã©ã«ãã§ãã£ããã£ãããŸãããsidekiq.ignore_retry_errorstrueã«èšå®ãããŠããå ŽåããšãŒãžã§ã³ã㯠Sidekiq ã®å詊è¡äžã«çºçããäŸå€ãç¡èŠãããžã§ããæ°žç¶çã«å€±æããå Žåã«ã®ã¿ãšã©ãŒãå ±åããŸãããã®æ¹åç¹ãèªèãã解決çãæäŸããŠãããDonGiulioã«æè¬ããŸããPR#3317æ©èœ: Capistrano ã䜿çšãããããã€ã¡ã³ãã®èšé²ã®å»æ¢ã«é¢ãããç¥ãã
Capistrano ã¬ã·ãã䜿çšããã¢ããªã±ãŒã·ã§ã³ ãããã€ã¡ã³ãæ å ±ã®éä¿¡ã¯éæšå¥šãšãªãããšãŒãžã§ã³ã ããŒãžã§ã³ 10.0.0 ã§åé€ãããäºå®ã§ãã ãããã€ã¡ã³ãã®èšé²ã«ã€ããŠã¯ãå©çšå¯èœãªãªãã·ã§ã³ã®ãªã¹ãã«ã€ããŠã¯ã倿Žè¿œè·¡ (倿Žè¿œè·¡æ©èœ)ã®ã¬ã€ããåç §ããŠãã ããã
æ©èœ: ãªã¢ãŒã芪ãµã³ããªã³ã°èšå®ã䜿çšããŠãããå€ãã®ã·ããªãªã§æææ±ºå®ãè¡ã
以åã¯ã
traceparentããã³tracestateããããŒãååšããå Žåã«ã®ã¿ãdistributed_tracing.sampler.remote_parent_sampledããã³distributed_tracing.sampler.remote_parent_not_sampledèšå®ãªãã·ã§ã³ããµã³ããªã³ã°æ±ºå®ã«äœ¿çšãããŠããŸããã çŸåšããããã®èšå®ãªãã·ã§ã³ã¯ãtracestateããããŒãæ¬ èœããŠãããnewrelicããããŒã®ã¿ã䜿çšå¯èœãªå Žåã«é©çšãããŸãã ãã®å€æŽã«ããããã£ã¹ããªãã¥ãŒãã£ããïŒåæ£ïŒãã¬ãŒã·ã³ã° ãµã³ããªã³ã°ãããäžè²«æ§ããããäºæž¬å¯èœã«ãªããŸãã PR#3306
Importante
ææ°ã®ãšãŒãžã§ã³ã ããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããããã«æŽæ°ããããšããå§ãããŸããææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãã§ããªãå Žåã¯ããšãŒãžã§ã³ãã 90 æ¥ä»¥å ã®ããŒãžã§ã³ã«æŽæ°ããŠãã ããããšãŒãžã§ã³ããææ°ã®ç¶æ ã«ä¿ã€æ¹æ³ã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ããã
ãšãŒãžã§ã³ãã®ãªãªãŒã¹ãšãµããŒãæ¥ã«ã€ããŠã¯ãNew Relic Ruby ãšãŒãžã§ã³ãã®EOL ããªã·ãŒãåç §ããŠãã ããã
ããŒãžã§ã³9.22.0
æ©èœ: Kubernetesã®ã¯ã³ã¹ãããèšè£
Kubernetes APM ãã€ã³ã¹ãã¥ã«ã¡ã³ããããã¢ããªã±ãŒã·ã§ã³ãèªåçã«èªåã¢ã¿ãããã Kubernetesãããã€ã¡ã³ãå ã®ã¢ããã°ã¬ãŒãã管çããŸãã ãã®æ©èœã¯ãã¬ãã¥ãŒãçµäºããäžè¬å©çšå¯èœã«ãªããŸãããKubernetes ã®èªåæ¥ç¶ã®è©³çްãã芧ãã ãããPR#2635 PR#3287
æ©èœ: Ruby 2.4 ããã³ Ruby 2.5 ã®éæšå¥šã«é¢ãããç¥ãã
Ruby ããŒãžã§ã³ 2.4 ããã³ 2.5 ã«å¯Ÿãã Ruby ãšãŒãžã§ã³ãã®ãµããŒãã¯éæšå¥šãšãªãããšãŒãžã§ã³ã ããŒãžã§ã³ 10.0.0 ã§åé€ãããŸããæ°ããæäœéå¿ èŠãª Ruby ããŒãžã§ã³ã¯ Ruby 2.6 ãšãªããRuby 2.4 ããã³ 2.5 ã§ã®ãã¹ãã¯åæ¢ãããŸããPR#3288
æ©èœ:
newrelic deploymentsã³ãã³ãã®å»æ¢ã«é¢ãããç¥ããnewrelic deploymentsã³ãã³ãã䜿çšãããããã€ã¡ã³ãã®èšé²ã®ãµããŒãã¯å»æ¢ããããšãŒãžã§ã³ã ããŒãžã§ã³ 10.0.0 ã§ã¯åé€ãããŸããä»åŸãNew Relic ã«å€æŽãèšé²ããããã®èªåããã³æåã®æ¹æ³ãããã€ãããäºå®ã§ããå©çšå¯èœãªãªãã·ã§ã³ã®ãªã¹ãã«ã€ããŠã¯ã倿Žè¿œè·¡ (倿Žè¿œè·¡æ©èœ)ã®ã¬ã€ããã芧ãã ããã PR#3262
æ©èœ: ã¯ãã¹ã¢ããªã±ãŒã·ã§ã³ãã¬ãŒã¹ã®å»æ¢ã«é¢ãããç¥ãã
ã¯ãã¹ã¢ããªã±ãŒã·ã§ã³ ãã¬ãŒã¹ã¯ãRuby ãšãŒãžã§ã³ãã®ã¡ãžã£ãŒ ããŒãžã§ã³ 8.0.0 以éã§ã¯éæšå¥šã«ãªã£ãŠããŸãããšãŒãžã§ã³ãã®ããŒãžã§ã³ 10.0.0 ã§ã¯ããã®ãµããŒãã¯å®å šã«åé€ãããŸããPR#3288
æ©èœ: Ruby 3.5 ã® Method#source_location ã®å€æŽãšã®äºææ§ã確ä¿
Ruby 3.5 ã§ 2 èŠçŽ ãã 5 èŠçŽ ã®é åã«å€æŽããã Method#source_location ã®æ»ãå€ãæ£ããè§£æããããã«ãšãŒãžã§ã³ããæŽæ°ããŸããããã®å€æŽã«ãããå°æ¥ã®ãªãªãŒã¹ã®ãµããŒãã远å ãããªãããå€ã Ruby ããŒãžã§ã³ã®ãµããŒããç¶æãããŸããPR#3257