Notes
This release of the Python agent adds new ways of passing errors to notice_error(), adds support for Strands-Agent synchronous tool error capturing, adds support for gpt-5 and newer OpenAI LLM models, and fixes a crash in Azure Functions' utilization logic.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
Features
Add support for exception instances as arguments to
notice_error()notice_error()can now accept a caught exception instance (such as one from a try/except block) for theerrorargument, rather than an exception tuple fromsys.exc_info().This is in addition to and does not replace the existing behavior. Previous usage of
notice_error()with zero arguments or with an exception tuple should still function correctly.
Add support for
gpt-5and newer OpenAI LLM models- Add updates to OpenAI instrumentation to support newer attribute names used with later OpenAI models
Add support for Strands-Agent synchronous tool error capturing
- Synchronous Python functions used as tools in Strands-Agents now have proper error capturing, and capture traces within tools such as database lookups.
Bug fixes
Guard against crashes in Azure Functions utilization
- Previously, some users experienced edge cases where Azure Functions utilization detection would crash when attempting to match regular expressions. The crash has been fixed, and should no longer be possible in the future.
Support statement
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 Python agent EOL policy for information about agent releases and support dates.
Notes
이번 릴리스 에이전트에는 다음에 대한 지원이 추가되었습니다.
- 가닥
- AWS 베드락 컨버스 스트리밍
- 레디스 메소드
hybrid_search및msetex - LLM 이벤트에 대한 LangChain 역할 할당
- LLM 요청 시점에 캡처된 LLM 이벤트 타임스탬프
loop_factory반응, inasyncio.Runner
이번 릴리스에서는 웹 서버에서 헤더가 보고되지 않는 ASGI 측정 및 계측의 버그도 해결되었습니다.
easy_install/pip/distribute 사용하여 에이전트를 설치하세요. 파이썬 패키지 인덱스를 통해 conda 사용하거나, Conda-Forge 패키지 인덱스를 통해 을 사용하거나, 뉴렐릭 다운로드 사이트 에서 직접 다운로드하세요.
특징
Strands지원을 추가합니다.
- 단일 및 다중 에이전트(군집, 그래프 등) 설정에서 Strands 도구 및 에이전트에 대한 측정, 리소스 추가
AWS Bedrock Converse Streaming지원을 추가합니다.
- Converse API 스트리밍에 대한 모니터링 지원을 추가합니다. 여기에는
converse_stream()을 사용하여 boto3 및 aioboto3 클라이언트로 수행되는 Converse 채팅 완료 호출에 대한 지원이 포함됩니다.
- Converse API 스트리밍에 대한 모니터링 지원을 추가합니다. 여기에는
레디스 메서드 지원을 추가합니다.
다음 메서드에 대한 지원을 추가하세요.
hybrid_searchmsetex
loop_factory에 대한 지원을 추가합니다.asyncio.Runner- 끌어오기 3.11에서는
asyncio.Runner클래스와loop_factory모듈이 추가되었습니다.loop_factory시위는 루프 정책에 대한 대체 방법을 제공합니다. 이제 생성된 루프는 전역 이벤트 루프 설정을 통하든 사용자 정의 대시보드 루프를 통하든 상관없이 승인됩니다.
- 끌어오기 3.11에서는
LLM 이벤트에서 LangChain 역할 할당 캡처
- LangChain
LlmChatCompletionMessage이벤트에는 이제 LangChain 에서 할당된 역할이 포함되어 있습니다.
- LangChain
LLM 요청 시점의 LLM 이벤트 타임스탬프를 캡처합니다.
- 이전에는 LLM 이벤트의 타임스탬프가 이벤트 생성 시점에 기록되었습니다. 이제는 LLM 요청 시점에 더욱 정확하게 기록됩니다.
버그 수정
ASGI 헤더 소비
ASGIWebTransaction이http.response.start이벤트의 헤더를 소비할 때, 허용되는 입력 유형을 고려하지 않고 그렇게 했습니다. 헤더가 생성기인 경우 생성기는process_response()호출에 의해 소비되어 웹 서버가 보낼 헤더가 남지 않습니다. 이제 이 문제는 해결되었습니다.
지지 성명
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 끌어 당기는 에이전트 EOL 정책을 참조하세요.
Notes
이번 끌어 당기는 에이전트 릴리스에는 끌어당김 3.14 지원, 속성 필터 설정을 위한 새로운 환경 변수, 프로세서 데코레이터의 비동기 생성기 지원, AWS Bedrock 의 추가 모델 및 AWS Kinesis 의 새로운 방법이 추가되었습니다. 이 릴리스에서는 ConnectionPool 여러 번 래핑하여 사용할 때 RecursionError 이 발생하는 aiomysql 의 버그, kombu 의 프로듀서에서 속성이 제대로 전달되지 않는 버그, 하베스트 스레드 내에서 shutdown_agent 호출될 때 발생하는 오류를 수정합니다.
easy_install/pip/distribute 사용하여 에이전트를 설치하세요. 파이썬 패키지 인덱스를 통해 conda 사용하거나, Conda-Forge 패키지 인덱스를 통해 을 사용하거나, 뉴렐릭 다운로드 사이트 에서 직접 다운로드하세요.
특징
끌어당김 3.14 지원 추가
- 끌어오기 3.14에 대한 지원을 추가합니다.
속성 필터 설정에 대한 환경 변수 추가
다음 설정은 이제 환경 변수를 통해 설정할 수 있는 옵션이 생겼습니다.
구성 설정 환경 변수 attributes.enabledNEW_RELIC_ATTRIBUTES_ENABLEDattributes.excludeNEW_RELIC_ATTRIBUTES_EXCLUDEattributes.includeNEW_RELIC_ATTRIBUTES_INCLUDEbrowser_monitoring.attributes.enabledNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLEDbrowser_monitoring.attributes.excludeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDEbrowser_monitoring.attributes.includeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDEerror_collector.attributes.enabledNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLEDerror_collector.attributes.excludeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDEerror_collector.attributes.includeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDEspan_events.attributes.enabledNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLEDspan_events.attributes.excludeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDEspan_events.attributes.includeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDEtransaction_events.attributes.enabledNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLEDtransaction_events.attributes.excludeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDEtransaction_events.attributes.includeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDEtransaction_segments.attributes.enabledNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLEDtransaction_segments.attributes.excludeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDEtransaction_segments.attributes.includeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDEtransaction_tracer.attributes.enabledNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLEDtransaction_tracer.attributes.excludeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDEtransaction_tracer.attributes.includeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE
트랜잭션 데코레이터에 비동기 생성기 지원 추가
- 이전에는 트랜잭션 데코레이터가 비동기 생성기를 감싸는 것을 지원하지 않았습니다. 이 지원이 추가되어 이제 비동기 생성기 트랜잭션이 이벤트 루프 대기 시간과 기타 통계를 자동으로 측정합니다.
AWS Bedrock 측정, 로그에 추가 모델에 대한 지원 추가
다음 추가 모델을 지원하도록 botocore 및 aiobotocore 통해 AWS Bedrock 측정, 계측을 업데이트합니다.
- 클로드 소네트 3+ 모델
- 지역으로 접두사가 붙은 모델(지역 인식)
새로운 Kinesis 메서드에 대한 측정, 로그 추가
새로운 AWS Kinesis 메서드를 지원하기 위해 botocore 측정, 리소스 추가
describe_account_settingsupdate_account_settingsupdate_max_record_sizeupdate_stream_warm_throughput
버그 수정
aiomysql ConnectionPool에서 RecursionError 방지
- 이전에는 풀 연결을 사용할 때 aiomysql 에서
RecursionError이 발생했습니다. 반복적인 래핑으로 인해 풀링된 연결 주위에 깊은ObjectProxy체인이 생성되었습니다. 이 문제는 해결되었습니다.
- 이전에는 풀 연결을 사용할 때 aiomysql 에서
kombu 의 프로듀서에서 속성이 제대로 전달되지 않는 버그를 수정했습니다.
kombu.messaging.Producer.publish()에 대한 측정, 계측으로 인해 속성이 실수로 사전 내부에 중첩되어 속성이 잘못된 위치에 있고 다운스트림 패키지에서 읽히지 않는 버그를 수정했습니다.
shutdown_agent이 수확 스레드 내에서 호출될 때 발생하는 오류를 수정합니다.- 이전에는
shutdown_agent수확 스레드 내에서 호출되면RuntimeError이 발생할 수 있었습니다. 이렇게 하면 충돌을 방지하기 위한 보호 장치가 추가되어 문제가 해결됩니다.
- 이전에는
지지 성명
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 끌어 당기는 에이전트 EOL 정책을 참조하세요.
Notes
이 끌어 당기는 에이전트 릴리스는 Django 측정의 초기 활성화, 소스, 무시되는 max_samples_stored 에 대한 서버 측 재정의 및 Python trace_cache.pop() 의 충돌 방지에 대한 수정 사항을 제공합니다.
끌어오기 패키지 색인을 통해 easy_install/pip/distribute 사용하여 에이전트를 설치하거나 뉴렐릭 다운로드 사이트 에서 직접 다운로드하세요.
버그 수정
Django 측정, 로그의 조기 활성화 방지
- Django 측정에서
application_settings()에 대한 호출을 제거하여 pre-fork의 초기 활성화 관련 문제를 방지합니다.
- Django 측정에서
서버 설정을 로컬 설정 동기화 문제 수정
- 이는
event_harvest_config.harvest_limits.*설정이*.max_samples_stored설정으로 인해 더 이상 사용되지 않을 때 발생한 버그를 수정합니다. 일부 서버측 설정이 클라이언트측 설정을 재정의하지 않아 사용자가 이를 비활성화했음에도 불구하고 데이터가 수집기로 전송되었습니다.
- 이는
충돌로부터 보호하세요
trace_cache.pop()ContextOf클래스에서 기본값 없이pop(key)통해trace_cache에 안전하지 않은 액세스가 발생했습니다. 사전의weakref이 이미 가비지 수집된 경우 충돌이 발생했습니다.
지지 성명
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 끌어 당기는 에이전트 EOL 정책을 참조하세요.
Notes
注意
이 버전의 에이전트는 철회되었습니다.
이번 릴리스 에이전트에는 다음과 같은 변경 사항이 적용됩니다.
- 끌어당김 3.7에 대한 지원 제거
- 다양한 API 및 설정을 제거하거나 더 이상 사용하지 않습니다.
- aioredis 측정, 로그 사용 중단
setuptools의 최소 지원 버전을 올립니다.setuptools_scm- AutoGen에 대한 새 측정, 로그를 추가합니다.
- Pyzeebe에 대한 새로운 측정, 로그를 추가합니다.
- 새로운 MCP(모델 컨텍스트 프로토콜)라는 이름의 span을 추가합니다.
- psycopg에서 충돌이 발생하는 문제를 해결합니다.
- AI 모니터링이 활성화된 경우에만 MCP 스팬이 기록되도록 보장합니다.
끌어오기 패키지 색인을 통해 easy_install/pip/distribute 사용하여 에이전트를 설치하거나 뉴렐릭 다운로드 사이트 에서 직접 다운로드하세요.
제거된 기능
끌어당김 3.7에 대한 지원 제거
- 끌어3.7은 2023년 6월 27일에 단종되었습니다. 접착제 에이전트가 이에 대한 지원을 중단했습니다.
다양한 더 이상 사용되지 않는 API를 제거합니다.
다음 API가 제거되었습니다.
구형 API 대체 API accept_distributed_trace_payloadaccept_distributed_trace_headersadd_custom_parameteradd_custom_attributeadd_custom_parametersadd_custom_attributescreate_distributed_trace_payloadinsert_distributed_trace_headersget_browser_timing_footer이 기능은 get_browser_timing_header()에 래핑되었습니다.record_exceptionnotice_error()NewRelicLogHandlerNewRelicLogForwardingHandlerlambda_handler&LambdaHandlerWrapper이러한 API는 newrelic-lambda패키지로 이동되었습니다.
다양한 더 이상 사용되지 않는 설정을 제거합니다.
다음 설정이 제거되었습니다.
구형 설정 교체 설정 transaction_tracer.capture_attributestransaction_tracer.attributes.enablederror_collector.capture_attributeserror_collector.attributes.enabledbrowser_monitoring.capture_attributesbrowser_monitoring.attributes.enabledanalytics_events.enabledtransaction_events.enabledanalytics_events.capture_attributestransaction_events.attributes.enablederror_collector.ignore_errorserror_collector.ignore_classesstrip_exception_messages.whiteliststrip_exception_messages.allowlistssl이제 이 항목은 true에 하드코딩되어 설정 옵션에서 제거되었습니다.ignored_params대신 newrelic.attributes.exclude = request.parameters.{name}사용하세요. 각 요청 템플릿, 키를 쉼표로 구분하여newrelic.attributes.exclude목록에 추가합니다. 키 앞에request.parameters꼭 추가하세요.agent_limits.merge_stats_maximum이제 서버 측 구성을 선호하여 이 문제는 완전히 무시되었습니다.
더 이상 사용되지 않는 기능
aioredis 에 대한 측정, 사용이 더 이상 사용되지 않습니다.
다른 언어 에이전트와 일치하도록 일부 기존 수확 설정을 더 이상 사용하지 않습니다.
다른 언어 에이전트의 규칙과 일관성을 유지하기 위해 다음 수확 설정은 더 이상 사용되지 않습니다.
구형 설정 교체 설정 event_harvest_config.harvest_limits.analytic_event_datatransaction_events.max_samples_storedevent_harvest_config.harvest_limits.span_event_dataspan_events.max_samples_storedevent_harvest_config.harvest_limits.error_event_dataerror_collector.max_event_samples_storedevent_harvest_config.harvest_limits.custom_event_datacustom_insights_events.max_samples_storedevent_harvest_config.harvest_limits.log_event_dataapplication_logging.forwarding.max_samples_stored이는 이러한 설정의 이름을
*.max_samples_stored에서event_harvest_config.harvest_limits.*형식으로 변경한 이전 변경 사항을 되돌린 것입니다. 이 결정은 뒤집혔고, 원래 설정은 이러한 설정 이름을 변경하지 않은 다른 언어 에이전트와 일치하도록 복원되었습니다. 더 이상 사용되지 않는 설정은 현재로는 계속 작동하지만, 향후 릴리스에서는 제거될 예정입니다.
WSGI 환경 사전을 통해 에이전트 설정을 더 이상 사용하지 않습니다.
이전에는 WSGI environ 사전을 통해 구성할 수 있었던 다음 설정은 더 이상 사용되지 않습니다. 환경 변수나 구성 파일을 통해 이러한 설정을 구성하세요.
newrelic.set_background_tasknewrelic.suppress_apdex_metricnewrelic.suppress_transaction_tracenewrelic.capture_request_paramsnewrelic.disable_browser_autorum
setuptools<61.2또는 를 사용하여 에이전트를 빌드하는 데 대한 지원을 더 이상 사용하지 않습니다.setuptools_scm<6.4setuptools및setuptools_scm의 최소 지원 버전이 각각61.2및6.4으로 증가했습니다. 이는 패키지 메타데이터 구성 및 빌드 지침에pyproject.toml를 사용할 수 있도록 지원하기 위한 것입니다. 이제 에이전트는 더 현대적인 빌드 도구로 빌드될 수 있으며, 더 이상pyproject.toml파일이 없다는 경고를 발생시키지 않습니다.- 이 변경 사항은 패키지
newrelic.__version__및newrelic.__version_tuple__에 새로운 버전 속성을 추가합니다. 이를 통해 런타임에 에이전트 버전을 프로그래밍 방식으로 확인할 수 있습니다.
새로운 기능
AutoGen에 대한 새 측정, 로그를 추가합니다.
- AutoGen의 에이전트 및 도구에 대한 측정, 로그(명명된 범위 및 사용자 정의
Llm이벤트)를 추가합니다.
- AutoGen의 에이전트 및 도구에 대한 측정, 로그(명명된 범위 및 사용자 정의
Pyzeebe에 대한 새로운 측정, 로그를 추가합니다.
- Pyzeebe에 대한 자동 측정, 리소스 및 프레임워크 관련 에이전트 속성을 추가합니다.
새로운 MCP(모델 컨텍스트 프로토콜)라는 이름의 span을 추가합니다.
- Streamable HTTP를 지원하기 위해 도구 관리자를 통해 수행된 MCP(모델 컨텍스트 프로토콜) 도구 호출에 대한 새로운 명명된 스팬을 추가합니다.
버그 수정
psycopg>=3.2.0에서 호출 시 발생하는 충돌을 수정합니다.as_string()as_string()메서드가 더 이상 인수를 필요로 하지 않아 잠재적인 충돌을 일으키는psycopg>=3.2.0의 문제를 해결합니다. 이 문제는 해결되었으며, 이 메서드의 두 가지 서명이 모두 지원됩니다.
AI 모니터링이 활성화된 경우에만 MCP(모델 컨텍스트 프로토콜) 스팬이 기록되도록 보장합니다.
- MCP(모델 컨텍스트 프로토콜) 스팬은 설정
ai_monitoring.enabled활성화된 경우에만 기록됩니다.
- MCP(모델 컨텍스트 프로토콜) 스팬은 설정
지지 성명
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 끌어 당기는 에이전트 EOL 정책을 참조하세요.
Notes
This release of the Python agent adds support for the following:
- Custom tasks in Celery
- Graphene-Django monitoring
- Middleware filtering in Django
- AWS Bedrock Converse API
- W3CTraceParent header sampled flag
This release also provides the following fixes:
- Safeguards for the deepest unique path in GraphQL
- Safeguards for web URL request parsing
- Fallback for ElasticSearch and GraphQL when
trace.settings==None - Remove
optionsmethod from async ElasticSearch client list
Install the agent using easy_install/pip/distribute via the Python Package Index or download it directly from the New Relic download site.
New features
Adds support for custom tasks in Celery
Adds support for Graphene-Django
- Add monitoring support for synchronous schemas created with Graphene-Django. Previously, schemas created with Graphene-Django would only be partially monitored, resulting in missing GraphQL related attributes.
Adds support for middleware filtering in Django
Users are now able to filter which Django middleware to monitor. There are now three additional settings:
instrumentation.middleware.django.enabled(Default istrue)instrumentation.middleware.django.excludeinstrumentation.middleware.django.include
See the Django Middleware Filtering page for more information and examples.
Adds support for AWS Bedrock Converse API
- Add monitoring support for non-streaming Converse API. This includes support for
conversechat completion calls made usingboto3andaioboto3clients.
- Add monitoring support for non-streaming Converse API. This includes support for
Adds support for W3CTraceParent header sampled flag
- When an upstream service sends the W3CTraceParent header with the sampling flag set, New Relic will take into account that sampling decision when deciding whether the current transaction will be sampled.
Added support for sampling decisions based on whether the remote parent is sampled
Added support for two new configuration options:
distributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
defaultis the default behavior and behaves as it did before this change (it passes the sampling decision to the adaptive sampling algorithm to determine whether the transaction will be sampled).always_onmeans that the trace that has a remote parent sampled or remote parent not sampled will always be sampled.always_offmeans that the trace that has a remote parent sampled or remote parent not sampled will never be sampled.
Bug fixes
Add safeguard for deepest unique path in GraphQL
- Some users were experiencing issues with the deepest unique path in GraphQL not being generated due to a field name returning
None. This issue has been fixed.
- Some users were experiencing issues with the deepest unique path in GraphQL not being generated due to a field name returning
Add safeguard for web request parsing
- Some users experienced a parsing error when
request_uriwas malformed or contained invalid characters. This can happen at this point if therequest_uriin the request header is invalid and does not match the (valid) URL originally given. While this safeguard has now been put in place in New Relic,urllibhas resolved this issue for versions of Python released after Jan 31, 2025.
- Some users experienced a parsing error when
Fix crash in ElasticSearch and GraphQL when
trace.settings==None- In cases where
trace.settingsisNone, the instrumentation for ElasticSearch crashed the application. Aglobal_settingsfallback has been put in place. This also resolves the same issue found in GraphQL.
- In cases where
Remove
optionsmethod from async ElasticSearch client list- The previous instrumentation of ElasticSearch caused a crash because
optionswas in the list of async methods. This method is no longer wrapped in aDatastoreTracesince it is not one that conducts any datastore operations/requests.
- The previous instrumentation of ElasticSearch caused a crash because
Support statement
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 Python agent EOL policy for information about agent releases and support dates.