All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased changes
9.9.0 - 2022-06-08
- Adds support for logging metrics, forwarding application logs, and enriching application logs written to disk or standard out for NLog versions v5 and v4. #1087
- Adds integration with CodeStream, introducing Code-Level Metrics! Golden Signals visible in your IDE through New Relic CodeStream. Learn more here. For any issues or direct feedback, please reach out to support@codestream.com
- Updates the following installation methods to check for and remove deprecated files. (#1104)
- MSI Installer
- Azure Site Extension
- RPM package
- DEB package
- Upgrades Newtonsoft.Json to version 13.0.1 to address potential security vulnerabilities identified by Snyk (#1107)
- The agent will now send the values of application logging config options (e.g.
application_logging.forwarding.enabled
) to the agent initialization settings page. (#1135)
9.8.1 - 2022-05-19
- Fixes an issue with log forwarding where an agent could momentarily forward logs even if the feature had been disabled at an account level. (#1097)
- Adds an internal list of deprecated instrumentation xml files which will cause the profiler to ignore deprecated instrumentation. This feature avoids an issue where orphaned deprecated log forwarding instrumentation could conflict with newer instrumentation. (#1097)
- Serilog instrumentation is now performed by injecting a custom sink in to the logging chain. (#1084)
9.8.0 - 2022-05-05
Automatic application log forwarding is now enabled by default. This version of the agent will automatically send enriched application logs to New Relic. To learn more about about this feature see here, and additional configuration options are available here. To learn about how to toggle log ingestion on or off by account see here.
- Error messages in error traces and error events now retain up to 1023 characters instead of 255 characters. #1058
- New environment variables have been added for AllowAllHeaders and Attributes configuration settings. See our documentation for more details. #1059
- Introduces environment variables to enabled/disable cloud detection to facilitate customer use cases and reduce errors in logs. (#1061)
- New environment variables have been added for all Proxy configuration settings. See our documentation for more details. #1063
- Introduces a new configuration option to force custom instrumentation to create new transactions in async scenarios versus re-using an existing transaction. #1071
- Fixes Agent fails to execute explain plan for parameterized stored procedure. (#1066)
- Fixes getting duplicate logs using log forwarding and Serilog. #1076
Microsoft has officially EOL .NET Framework versions 4.5.1, 4.5.2, and 4.6.1 on Apr 26, 2022. The informational blog can be found here. The official product lifecycle start and end dates can be found here. The dotnet agent support of these framework versions is will continue as is with the released versions. In a future major release, we will target .NET framework 4.6.2 onwards.
9.7.1 - 2022-04-13
- Adds missing instrumentation for application logging feature when using the MSI installer (#1055)
- Fixes issue on Linux when specifying a non-default profiler log directory with non-existent intermediate directories. (#1051)
9.7.0 - 2022-04-04
Notice: For the new application logging features, if you install using the MSI, please update to version 9.7.1 or later.
- Adds support for logging metrics which shows the rate of log message by severity in the Logs chart in the APM Summary view for Log4net, Serilog, and Microsoft.Extensions.Logging. This is enabled by default in this release. (#1034)
- Adds support for forwarding application logs to New Relic. This automatically sends enriched application logs for Log4net, Serilog, and Microsoft.Extensions.Logging. This is disabled by default in this release. (#1034)
- Adds support for enriching application logs written to disk or standard out for Log4net, Serilog, Microsoft.Extensions.Logging. This can be used with another log forwarder if in-agent log forwarding is not desired. We recommend enabling either log forwarding or local log decorating, but not both features. This is disabled by default in this release. (#1034)
- Adds flexibility to what is accepted to enable/disable boolean environment variables per FR #1008. "0"/"1", and case insensitive "true"/"false" are now accepted. (#1033)
- Adds a new environment variable
NEW_RELIC_DISABLE_APPDOMAIN_CACHING
for customers to try when experiencing #533 high lock contention related to AppDomain.GetData() usage by the agent when profiling .NET Framework applications. (#1033)
- The scriptable installers are now deprecated and will be removed from the download site in a future major release. (Issue: #571)
- The established release installers are now deprecated and will be removed from the download site in a future major release. (Issue: #578)
9.6.1 - 2022-03-15
- Fixes application pool allow/deny listing bug introduced in 9.5.0 (#1015)
9.6.0 - 2022-02-24
- Adds new supportability metrics to track agent endpoint data usage. New metrics will be reported under the
Supportability/DotNET/Collector
namespace. (#899) - Uses IMDSv2 instead of IMDSv1 to gather utilization details for AWS hosted instances. (#965)
9.5.1 - 2022-02-03
- Fixes application crashes on Alpine Linux introduced in 9.5.0. (#929)
9.5.0 - 2022-02-01
- Internal improvements to runtime detection logic in the profiler component of the agent. (#891)
- Fixed an issue with NuGet package metadata. (#901)
9.4.0 - 2022-01-18
- Allows NewRelicQueryName to be specified for SQL, to implement this suggestion. Thanks to community contributor @kevinpohlmeier for the implementation. (#799)
- Resolves an issue where GC metrics were not being properly captured for .NET 6 applications (#874)
9.3.0 - 2022-01-04
- NServiceBus versions 6 and 7 are now supported in .NET Framework and .NET Core. (#857)
- Add ability to disable agent support for Server-Configuration with
NEW_RELIC_IGNORE_SERVER_SIDE_CONFIG
environment variable. The available value options aretrue
andfalse
. (#814)
- Fixes issue #36: Total system memory will now be correctly reported on Linux. (#855)
- Fixes an issue in
newrelic.config
file schema validation that could block agent startup. (#835)
9.2.0 - 2021-11-18
As of version 9.2.0, the New Relic .NET Core agent supports .NET 6.
- Adds automatic instrumentation for the
Microsoft.Azure.Cosmos
client library. (#811) - Adds additional logging to the Garbage Collection performance metrics to aid in troubleshooting performance counter issues. (#792)
- Feature #800: On .NET Framework apps instrumented with the .NET Framework agent, the value of the ".NET Version" property in the Environment data page will more accurately reflect the version of .NET Framework in use. (#801)
- Fixes issue #803: Thread safety issue occurred when accessing HTTP headers collection in HttpClient on .NET 6. (#804)
9.1.1 - 2021-11-02
- Fixes issue #780: Improves management of gRPC channels during connection failure scenarios. (#782)
- Fixes issue #781: Windows MSI installer was not deploying gRPC libraries for netcore applications. (#788)
9.1.0 - 2021-10-26
- Feature #365: This version adds support for the Linux ARM64/AWS Graviton2 platform using .NET 5.0. (#768)
- Includes a new
Processor Architecture
property reported by the Agent with the Environment.
- Includes a new
- Fixes issue #754: Agent could cause applications that use configuration builders from
Microsoft.Configuration.ConfigurationBuilders
to hang on startup. (#753)
9.0.0 - 2021-09-16
- Feature #672: This release of the .NET agent enables Distributed Tracing by default, and deprecates Cross Application Tracing. (#700)
- Feature #671: The maximum number of samples stored for Span Events can be configured via the
spanEvents.maximumSamplesStored
configuration in thenewrelic.config
or theNEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED
Environemnt Variable.(#701) - Feature #703: Increases the default maximum number of samples stored for Span Events from 1000 to 2000.(#705)
- Feature #532: Adds Environment variables for log level
NEWRELIC_LOG_LEVEL
and directoryNEWRELIC_LOG_DIRECTORY
to allow better control of logs for the Agent and the Profiler. (#717)
- Fixes issue #707: In 8.40.1 SQL explain plans are not being captured for parameterized SQL statements. (#708)
- Fixes issue #502: Agent encountering serialization error (#715)
- Fixes issue #679: Update gRPC libraries from 2.35.0 to 2.40.0 to reduce installation size (#721)
- Cross Application Tracing is now deprecated, and disabled by default. To continue using it, enable it with
crossApplicationTracer.enabled = true
anddistributedTracing.enabled = false
. - Issue #667, 668, #669: previously deprecated agent configuration options are now disabled. See the migration guide for details.
- Issue #666: previously deprecated agent APIs have been removed, and disabled in the Agent. Disabled APIs will log a warning when invoked by old versions of the Agent API. See the migration guide for details. (#687)
- Issue #702 Deprecate instrumentation for Castle.Monorail (#710)
8.41.1 - 2021-08-25
- Fixes issue #627: Grpc channel shutdown can cause
license_key is required
error message. (#663) - Fixes issue #683: Requested stack trace depth is not always honored. (#684)
8.41.0 - 2021-07-21
- Feature #611: Capture HTTP request method on transactions in the AspNetCore, Asp35, Wcf3, and Owin wrappers.
- Feature #580: Send initial app name and source in environment data. (#653)
- Adds support for capturing stack traces for each instrumented method in a Transaction Trace.
- This feature is disabled by default.
- You can enable the capture of stack traces by setting either maxStackTrace to any value greater than 1. This value will only be used to determine if stack traces are captured or not despite the name.
- The following are the default settings for stack traces. These can be changed using the newrelic.config:
- A maximum 80 stack frames are reported per stack trace.
- Fixes issue #639: RabbitMQ instrumentation can delete user headers from messages. Thank you @witoldsz for finding and reporting this bug. (#648)
8.40.1 - 2021-07-08
- Fixes issue #485:
SendDataOnExit
configuration setting will prevent Infinite Traces data sending interuption on application exit. (#550) - Fixes issue #155: MVC invalid Action for valid Controller can cause MGI. (#608)
- Fixes issue #186: Attribute based Routing (ex WebAPI) can cause transaction naming issues. (#612)
- Fixes issue #463: Handle OPTIONS requests for asp.net applications. (#612)
- Fixes issue #551: Missing external calls in WCF Service. (#610)
- Fixes issue #616: Linux Kudu not accessible when .NET agent presents. (#618)
- Fixes issue #266: Agent fails to initialize and provides no logs when configured with capitalized booleans. (#617)
- Explain plans will be created if transactionTracer.explainEnabled is true and one or both transactionTracer.enabled or slowSql.enabled are true. If transactionTracer.explainEnabled is false or both transactionTracer.enabled and slowSql.enabled are false, no Explain Plans will be created.
- Fixes issue #600: Thread id will now be used in agent logging, even if a thread name has been set. (#626)
- Fixes issue #476: When generating and explain plan MS SQL parsing is matching parts of words instead of whole words
- Fixes issue #477: SQL Explain plans MS SQL parser needs to be able to ToString an object to work with parameterized queries
- Improves handling serializable types like DateTimeOffset
- The presence DbTypes Binary and Object will prevent an Explain Plan from being executed. In order to execute an explain plan, the agent must replace any parameters in a query with the real values. Binary and Object are too complex to properly serialize without introducing errors.
8.40.0 - 2021-06-08
- Adds Agent support for capturing HTTP Request Headers.
- Fixes issue #264: Negative GC count metrics will now be clamped to 0, and a log message will be written to note the correction. This should resolve an issue where the GCSampler was encountering negative values and crashing. (#550)
- Fixes issue #584: When the agent is configured to log to the console, the configured logging level from
newrelic.config
will be respected. (#587)
8.39.2 - 2021-04-14
- Fixes issue #500: For transactions without errors, Agent should still create the
error
intrinsics attribute with its value set tofalse
. (#501) - Fixes issue #522: When the
maxStackTraceLines
config value is set to 0, the agent should not send any stack trace data in theerror_data
payload. (#523)
8.39.1 - 2021-03-17
- Fixes issue #22: Agent causes exception when distributed tracing is enabled in ASP.NET Core applications that use the RequestLocalization middleware in a Linux environment. (#493)
- Fixes issue #267: On Linux, the profiler fails to parse config files that start with a UTF-8 byte-order-mark (BOM). (#492)
- Fixes issue #464: Distributed tracing over RabbitMQ does not work with
RabbitMQ.Client
versions 6.x+ (#466) - Fixes issue #169: Profiler should be able to match method parameters from XML that contain a space. (#461)
8.39 - 2021-02-10
- Add
GetBrowserTimingHeader(string nonce)
overload.- This allows sites with a
Content-Security-Policy
that disables'unsafe-inline'
to emit the inline script with a nonce.
- This allows sites with a
- Fixes Issue #394: agent fails to enable infinite tracing in net5.0 docker images
8.38 - 2021-01-26
- Improvements to New Relic Edge (Infinite Tracing)
- The agent will now handle having its infinite tracing traffic moved from one backend host to another without losing data or requiring an agent restart.
- Improved logging of infinite tracing connections.
8.37 - 2021-01-04
-
Updated support for RabbitMQ
- Adds support for .NET Core applications using RabbitMQ.Client.
- Adds support for RabbitMQ.Client version 6.2.1.
- Not supported: Distributed Tracing is not supported with the RabbitMQ AMQP 1.0 plugin.
-
Adds configuration Environment Variables
- Adds MAX_TRANSACTION_SAMPLES_STORE - the maximum number of samples stored for Transaction Events.
- Adds MAX_EVENT_SAMPLES_STORED - the maximum number of samples stored for Custom Events.
- Adds NEW_RELIC_LOG - the unqualifed name for the Agent's log file.
8.36 - 2020-12-08
- Fixes Issue #224: leading "SET" commands will be ignored when parsing compound SQL statements. (#370)
- Fixes Issue #226: the profiler ignores drive letter in
HOME_EXPANDED
when detecting running in Azure Web Apps. (#373) - Fixes Issue #93: when the parent methods are blocked by their asynchronous child methods, the agent deducts the child methods' duration from the parent methods' exclusive duration.(#374)
- Fixes Issue #9 where the agent failed to read settings from
appsettings.{environment}.json
files. (#372) - Fixes Issue #116 where the agent failed to read settings from
appsettings.json
in certain hosting scenarios. (#375) - Fixes Issue #234 by reducing the likelihood of a Fatal CLR Error. (#376)
- Fixes Issue #377 when using the
AddCustomAttribute
API withMicrosoft.Extensions.Primitives.StringValues
type causes unsupported type exception. (378)
8.35 - 2020-11-09
- .NET 5 GA Support
We have validated that this version of the agent is compatible with .NET 5 GA. See the compatibility and requirements for .NET Core page for more details.
- Fixes Issue #337 by removing obsolete code which was causing memory growth associated with a large number of transaction names.
- PR #348: guards against potential exceptions being thrown from the agent API when the agent is not attached.
8.34 - 2020-10-26
- .NET 5 RC2 Support
We have validated that this version of the agent is compatible with .NET 5 Release Candidate 2.
- Fixes issue #301 where the agent incorrectly parses server-side configuration causing agent to shutdown.(#310)
- Modifies WCF Instrumentation to address #314 by minimizing the reliance upon handled exceptions during the attempt to capture CAT and DT payloads.
8.33 - 2020-10-12
- Fixes #223 so the agent can be compatible with ASP.NET Core 5 RC1.
- Fixes issue in .NET 5 applications where external calls made with HttpClient may not get instrumented. For example, calls made with
HttpClient.GetStringAsync
would be missed. (#235) - Fixes issue #257 where .NET Standard Libraries that do not reference
mscorlib
fail to be instrumented in .NET Framework applications. - Reduces the performance impact of large amounts of instrumentation. See issue #269 for more information.
8.32 - 2020-09-17
-
Proxy Password Obfuscation Support
Agent configuration supports the obfuscation of the proxy password. The New Relic Command Line Interface (CLI) may be used to obscure the proxy password. The following documentation describes how to use an obscured proxy password in the .NET Agent configuration. -
MySqlConnector Support
The MySqlConnector ADO.NET driver is instrumented by default. Fixes #85 and implements this suggestion. -
Nullable Reference Type support in the API
Enables nullable reference types that are part of the C# 8.0 language specification and updates the signatures of API methods accordingly. There should be no required changes in API usage. -
Improved Support for NetTCP Binding in WCF Instrumation When the NetTCP Binding type is used in Windows Communication Foundation (WCF), the Agent will now send and receive trace context information in support of Distributed Tracing (DT) or Cross Application Tracing (CAT). Implements #209.
- Fixes an issue that may cause
InvalidCastException
due to an assembly version mismatch in Mvc3 instrumentation. - Fixes an async timing issue that can cause the end time of
Task
-returning methods to be determined incorrectly.
8.31 - 2020-08-17
-
Expected Errors Support
Certain errors that are expected within the application may be identified so that they will not be counted towards the application's error rate and Apdex Score. Only errors that truly affect the health of the application will be alerted on. Please review the following documentation for details on how to configure Expected Errors. -
Ignored Errors Enhancements
Certain errors may be identified in configuration so that they will be ignored. These errors will not be counted towards the application's error rate, Apdex score, and will not be reported by the agent. Please review the following documentation for details on how to configure Ignored Errors.- New configuration element
<ignoreMessages>
supports filtering based on the error message. - Please note that the
<ignoreErrors>
configuration element has been deprecated and replaced by<ignoreClasses>
. The .NET Agent continues to support this configuration element, but its support may be removed in the future.
- New configuration element
-
Garbage Collection Performance Metrics for Windows
Fixes an issue where Garbage Collection Performance Metrics may not be reported for Windows Applications. -
Maintaining newrelic.config on Linux package upgrades
Fixes an issue wherenewrelic.config
was being overwritten when upgrading the agent via eitherrpm
/yum
(RedHat/Centos) ordpkg
/apt
(Debian/Ubuntu).
8.30 - 2020-07-15
- The .NET Agent is now open source!
The New Relic .NET agent is now open source! Now you can view the source code to help with troubleshooting, observe the project roadmap, and file issues directly in this repository. We are now using the Apache 2 license. See our Contributing guide and Code of Conduct for details on contributing!
-
Memory Usage Reporting for Linux
Fixes issue where applications running on Linux were either reporting no physical memory usage or using VmData to report the physical memory usage of the application. The agent now uses VmRSS through a call toProcess.WorkingSet64
to report physical memory usage. See the dotnet runtime discussion and the proc man pages for more details about this change. -
Infinite Tracing Performance
Fixes issue where the Agent may consume too much memory when using Infinite Tracing. -
.NET 5 support
Fixes issue with applications running on .NET 5 that prevented instrumentation changes at runtime (either though editing instrumentation XML files or through the Live Instrumentation editor Beta).
8.29 - 2020-06-25
-
Additional Transaction Information applied to Span Events
When Distributed Tracing and/or Infinite Tracing are enabled, the Agent will now incorporate additional information from the Transaction Event on to the root Span Event of the transaction.-
The following items are affected:
- Request Parameters
request.parameter.*
- Custom Attribute Values applied to the Transaction via API Calls
AddCustomParameter
andITransaction.AddCustomAttribute
. request.uri
response.status
host.displayName
- Request Parameters
-
Security Recommendation
Review your Transaction Attributes configuration. Any attribute include or exclude settings specific to Transaction Events, should be applied to your Span Attributes configuration or your Global Attributes configuration.
-
Fixes issue where updating custom instrumentation while application is running could cause application to crash.
8.28 - 2020-06-04
-
Infinite Tracing
- Fixes issue with Infinite Tracing where a communication error can result in consuming too much CPU.
- Fixes issue with Infinite Tracing where a communication error did not clean up its corresponding communication threads.
-
Agent version 8.30 introduces significant performance enhancements to Infinite Tracing. To use Infinite Tracing, please upgrade to version 8.30 or later.
-
Fixes issue in .NET Framework ASP.NET MVC applications where transactions started on one thread would flow to background threads (e.g., started with
Task.Run
) in some scenarios but not others. Transaction state used to only flow to a background thread if the transaction originated from an async controller action. Transaction state now flows to background threads regardless of whether the controller action is async or not. -
Fixes issue in .NET Framework ASP.NET MVC applications where agent instrumentation of an MVC controller action could cause an
InvalidProgramException
. -
Fixes a problem with the reporting of Errors where Error Events may not appear even though Error Traces are being sent.
8.27 - 2020-04-30
- Support for W3C Trace Context, with easy upgrade from New Relic trace context
- Distributed Tracing now supports W3C Trace Context headers for HTTP when distributed tracing is enabled. Our implementation can accept and emit both W3C trace header format and New Relic trace header format. This simplifies agent upgrades, allowing trace context to be propagated between services with older and newer releases of New Relic agents. W3C trace header format will always be accepted and emitted. New Relic trace header format will be accepted, and you can optionally disable emission of the New Relic trace header format.
- When distributed tracing is enabled with
<distributedTracing enabled="true" />
, the .NET agent will now accept W3C'straceparent
andtracestate
headers when calling Transaction.AcceptDistributedTraceHeaders. When calling Transaction.InsertDistributedTraceHeaders, the .NET agent will include the W3C headers along with the New Relic distributed tracing header, unless the New Relic trace header format is disabled using<distributedTracing enabled="true" excludeNewrelicHeader="true" />
. - The existing
Transaction.AcceptDistributedTracePayload
andTransaction.CreateDistributedTracePayload
APIs are deprecated in favor of Transaction.AcceptDistributedTraceHeaders and Transaction.InsertDistributedTraceHeaders.
- Fixes issue which prevented Synthetics from working when distributed tracing is enabled.
- Fixes issue where our RPM package for installing the agent on RPM-based Linux distributions included a 32-bit shared library, which created unnecessary dependencies on 32-bit system libraries.
- Fixes issue where the TransportDuration metric for distributed traces was always reporting 0.
8.26 - 2020-04-20
-
Infinite Tracing on New Relic Edge
This release adds support for Infinite Tracing on New Relic Edge. Infinite Tracing observes 100% of your distributed traces and provides visualizations for the most actionable data so you have the examples of errors and long-running traces so you can better diagnose and troubleshoot your systems.
You configure your agent to send traces to a trace observer in New Relic Edge. You view your distributed traces through the New Relic’s UI. There is no need to install a collector on your network.
Infinite Tracing is currently available on a sign-up basis. If you would like to participate, please contact your sales representative.
Agent version 8.30 introduces significant performance enhancements to Infinite Tracing. To use Infinite Tracing, please upgrade to version 8.30 or later.
-
Error attributes now added to each span that exits with an error or exception
Error attributes
error.class
anderror.message
are now included on the span event in which an error or exception was noticed, and, in the case of unhandled exceptions, on any ancestor spans that also exit with an error. The public API methodNoticeError
now attaches these error attributes to the currently executing span.Spans with error details are now highlighted red in the Distributed Tracing UI, and error details will expose the associated
error.class
anderror.message
. It is also now possible to see when an exception leaves the boundary of the span, and if it is caught in an ancestor span without reaching the entry span. NOTE: This “bubbling up” of exceptions will impact the error count when compared to prior behavior for the same trace. It is possible to have a trace that now has span errors without the trace level showing an error.If multiple errors occur on the same span, only the most recent error information is added to the attributes. Prior errors on the same span are overwritten.
These span event attributes conform to ignored errors configuration.
- Fixes issue in the MSI installer which prevented the
InstrumentAllNETFramework
feature selection from working as expected on the command line. - Fixes issue for Azure App Service environments running on Linux that caused both the application and its Kudu process to be instrumented by the agent. The Kudu process is no longer instrumented.
- Fixes issue when using the
ignoreErrors
configuration. Previously, when an exception contained a inner exception(s), theignoreErrors
config was only applied to the outer-most exception. Now, both the outer-most and inner-most exception type are considered when evaluating theignoreErrors
configuration. - Fixes an issue that could cause an exception to occur in the instrumentation for StackExchange Redis. This exception caused the instrumentation to shut down leaving StackExchange Redis uninstrumented.
8.25 - 2020-03-11
-
Thread profiling support for Linux
Thread profiling on Linux will be supported on .NET Core 3.0 or later applications when running .NET agent version 8.23 or later. Triggering a thread profile is done from the
Thread profiler
page in APM. This page does not yet have the functionality enabled, but it will be enabled in the next few business days. -
Accessing Span-Specific information using the .NET Agent API
New property,
CurrentSpan
has been added toIAgent
andITransaction
. It returns an object implementingISpan
which provides access to span-specific functions within the API. -
Adding Custom Span Attributes using the .NET Agent API
New method,
AddCustomAttribute(string, object)
has been added toISpan
.- This new method accepts and supports all data-types.
- Further information may be found within .NET Agent API documentation.
- Adding custom attributes to spans requires distributed tracing and span events to be enabled. See .NET agent configuration
- Fixes issue where adding multiple custom attributes on a Transaction using
ITransaction.AddCustomAttribute
causes the agent to ignore additional attempts to add custom attributes to any transaction. - Fixes issue that prevented Custom Events from being sent to New Relic until the agent shuts down.
- Fixes issue that can cause asynchronous Redis calls in an ASP.NET MVC application to report an inflated duration.
8.24 - 2020-02-19
-
Adding Custom Transaction Attributes using the .NET Agent API
New method,
AddCustomAttribute(string, object)
has been added toITransaction
.- This new method accepts and supports all data-types.
- Method
AddCustomParameter(string, IConvertable)
is still available with limited data-type support; however, this method should be considered obsolete and will be removed in a future release of the Agent API. - Further information may be found within .NET Agent API documentation.
-
Enhanced type support for
RecordCustomEvent
andNoticeError
API Methods.APIs for recording exceptions and custom events now support values of all types.
- The
NoticeError
API Method has new overloads that accept anIDictionary<string, object>
. - The
RecordCustomEvent
methods have been modified to handle all types of data. In that past, they only handledstring
andfloat
types. - Further information may be found within .NET Agent API documentation.
- The
-
New attributes on span events
- Spans created for external HTTP calls now include the
http.statusCode
attribute representing the status code of the call. - Spans created for calls to a datastore now include the
db.collection
attribute. For instance, this will be the table name for a call to MS SQL Server.
- Spans created for external HTTP calls now include the
-
Ability to exclude attributes from span events
Attributes on span events (e.g.,
http.url
) can now be excluded via configuration. See .NET agent configuration for further information.
- New Relic distributed tracing relies on propagating trace and span identifiers in the headers of external calls (e.g., an HTTP call). These identifiers now only contain lowercase alphanumeric characters. Previous versions of the .NET agent used uppercase alphanumeric characters. The usage of uppercase alphanumeric characters can break traces when calling downstream services also monitored by a New Relic agent that supports W3C trace context (New Relic's .NET agent does not currently support W3C trace context. Support for W3C trace context for .NET will be in an upcoming release). This is only a problem if a .NET application is the originator of the trace.