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.
10.33.1 (2024-10-31)
10.33.0 (2024-10-30)
- Add AWSSDK.DynamoDBv2 instrumentation. Versions 3.5 through 4.0.0-preview.4 are supported. Note: previous agent versions would instrument DynamoDB calls as Externals; now DynamoDB calls will show up as Database operations in the New Relic UI. (2460527)
- Add config option for providing AWS account ID for linking (#2851) (936b6f6)
- New Garbage Collection Metrics Sampler for .NET 6+ (#2838) (f24a5da)
- Fix potential race condition in AWS SDK, AWS Bedrock, and Elastisearch that could lead to an orphaned Transaction. (#2842) (3afa15f)
- Remove usage of non-thread safe HashSet in AwsSdk pipeline wrappers. Thanks, @gjunge! (#2855) (#2857) (ae1d422)
- Revert environment variable name change in installers and scripts (#2852) (e77683b)
10.32.0 (2024-10-15)
- Environment variables that start with or contain
NEWRELIC_
are deprecated and may be removed in a future major release. Users are encouraged to update their installation to useNEW_RELIC_
names as soon as possible. (b00edda)
- Implement consistent naming scheme for all environment variables. All environment variables starting with (or containing)
NEWRELIC_
are now namedNEW_RELIC_
. Support for previous environment variables is retained, so this is not a breaking change. (#718) (#2812) (b00edda) - Update CosmosDB instrumentation to support latest version (#2832) (27a78cb)
- Handle null or empty SQS messages and/or message attributes (#2833) (758b770)
- Update Profiler to check whether Azure function mode support is enabled (#2822) (9669641)
10.31.0 (2024-09-25)
- Add support for the EnyimMemcachedCore client. (#2781) (52bdc11)
- Allow container linking for AWS ECS applications. (#2683) (d55567f)
- Parse Azure Function HttpTrigger parameters (#2776) (7e8c28b)
- Prevent FileNotFoundException when handling connection issues while instrumenting .NET Framework apps. (#2750) (#2751) (cebd287)
10.30.0 (2024-09-11)
- Oracle instrumentation now supports latest version (#2721) (50cb663)
- Preview support for instrumentation of "isolated" model Azure Functions. Instrumentation is disabled by default. Please reach out to your account team if you would like to try this new feature. (d8a79e5)
10.29.0 (2024-08-20)
- Additional metrics and attributes for some instrumented libraries (#2675) (a033b81)
- Auto-instrument ASP.NET Core Lambda functions (#2662) (#2674) (ceaefc5)
- Use Lambda function name if application name is not set (#2695) (3dcf3af)
10.28.0 (2024-08-05)
- Improve serverless mode detection (#2661) (5f5dda8)
- Set application name via command line with the .msi installer (#2648) (369dcba)
- Better Lambda web request input parameter validation. (#2653) (810d4af), closes #2652
- Revert recent Profiler warning fixes to address reported instability (#2663) (b3c9cd1)
- SQS instrumentation could cause InvalidOperationException (#2645) (#2646) (40b6ad5)
10.27.0 (2024-07-15)
- Add support for disabling LLM monitoring at the account level. (#2592) (c31451a)
- Instrumentation for Amazon Simple Queuing Service (AWSSDK.SQS) (#2620) (ac738ba)
10.26.0 (2024-06-26)
- The .NET Agent now supports instrumenting AWS Lambda functions. See documentation for details: https://docs.newrelic.com/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/monitoring-aws-lambda-serverless-monitoring/. (d96e29f)
- Add an option to disable the file system watcher. (#2536) (27d0ed0)
- Add support for capturing container id from AWS ECS. (#2481) (c018b8a)
- Add support for using Sitecore.Logging and log4net together (#2537) (332529b)
- Prevent NullReferenceExeption on APIGatewayProxyRequest (#2529) (18d833f)
- Refactor to eliminate usage of
.GetAwaiter().GetResult()
in Framework builds. (#2534) (#2535) (cfb2c28)
10.25.1 (2024-06-04)
- Agent license key should be optional in Serverless mode. (#2499) (#2500) (801edc3)
- Nested logging contexts should not disable context data for Microsoft.Extensions.Logging (2508) (#2516) (6196af5)
10.25.0 (2024-05-21)
- Add support for AWS Lambda
APIGatewayHttpApiV2ProxyRequest
(#2472) (3f06bf6) - Enable configuration of ignored and expected HTTP status code errors with environment variables (#2487) (eeb574f)
- Accept inbound tracing headers in Kafka consume method instrumentation (#2488) (476378a)
- Upgrade Wix to v5 to fix an issue with non-elevated installs. (#2471) (acd12fa)
10.24.0 (2024-05-07)
- Due to an ongoing issue with the WiX Toolset, the Windows MSI installer must be run as admin. This will be addressed in an upcoming release. (4d40da5)
- Add preliminary support for AWS Lambda instrumentation. For details on how to enable this functionality, please contact your New Relic representative. (4d40da5)
10.23.1 (2024-04-24)
- Fix duplicate key error when using Kafka with DT enabled (#2433) (6a85c03)
- Fix incorrectly tagging AIM data when AIM is disabled (#2408) (30d12bb)
10.23.0 (2024-04-02)
- AI monitoring offers custom-built insights and tracing for the complete lifecycle of an LLM’s prompts and responses, from raw user input to repaired/polished responses. AI monitoring provides built-in integrations with popular LLMs and components of the AI development stack. This release provides instrumentation for AWS Bedrock. (a6f3364)
- New Relic AI monitoring is the industry’s first APM solution that provides end-to-end visibility for AI Large Language Model (LLM) applications. It enables end-to-end visibility into the key components of an AI LLM application. With AI monitoring, users can monitor, alert, and debug AI-powered applications for reliability, latency, performance, security and cost. AI monitoring also enables AI/LLM specific insights (metrics, events, logs and traces) which can easily integrate to build advanced guardrails for enterprise security, privacy and compliance. (a6f3364)
- When AI monitoring is enabled, the agent will now capture AI LLM related data. This data will be visible under a new APM tab called AI Responses. See our AI Monitoring documentation for more details. (a6f3364)
- A new AI monitoring related public API method has been added - SetLlmTokenCountingCallback (a6f3364)
- Add auto-instrumentation for AWS Bedrock (a6f3364)
- deps: Updated
Elastic.Clients.ElasticSearch
instrumentation points to work with v8.12.1+ (453d15e) - New configuration options are available specific to AI monitoring. (a6f3364)
10.22.0 (2024-03-19)
- Add a new API method to time currently unsupported datastore method calls. (#2320) (81abc5c)
- Add transaction ID to intrinsic attributes for error events and traces regardless of DT/CAT settings (#2341) (1df0342)
- Fix a context data capture when the Microsoft.Extensions.Logging console logger is used (thanks @lowell-trimble!) (#2261) (#2315) (f8422d6)
10.21.1 (2024-03-07)
10.21.0 (2024-02-26)
- Browser monitoring instrumentation for ASP.NET CORE v6+ web applications is disabled by default but can be manually enabled by following these instructions. (da8dd44)
- Add new configuration options for logging to control log file size, log retention and log rollover strategy. Refer to our log configuration documentation for details. (#1880) (#2264) (d33714f)
- Allows instrumentation to be disabled from a newrelic.config file. (#2250) (1632adb)
- Certain Profiler log messages did not print correctly when running under Linux. (#2200) (#2209) (1b75bf9)
- Use original regex to get container id from cgroup v1 in fallback case (#2263) (9ecb88d)
10.20.2 (2024-01-16)
- Eliminate intermittent deadlock on agent startup. (#2183) (#2184) (11c0241)
- Path to agentinfo.json was built incorrectly, leading to file not found errors when running on Linux. (#2156) (#2157) (bd7e0c3)
- Prevent multiple SessionCache instances from being created. (#2180 ) (#2186) (08a3015)
- Prevent null reference exceptions while serializing LoadedModuleWireModelCollection. (#2185) (#2187) (afb6352)
10.20.1 (2023-12-12)
- Fix a crash that can occur when the profiler logs certain characters. (#1982) (#2109) (742d232)
- Improve handling of .NET environments and settings from appsettings.*.json files (#2125) (3c21fe9)
- Obfuscate logged appSettings values (#2110) (2d8da68)
- Revert RabbitMQ HandleBasicDeliver instrumentation change from #1972. Resolves #2047 (#2118) (0525182)
- Update instrumentation to support Elasticsearch v8.11.0 (#2100) (9effb5d)
10.20.0 (2023-11-21)
- Defensively handle null source address in MassTransit instrumentation. (#2055) (0249582)
- During browser agent injection, don't set ContentLength if headers have already been sent. Resolves #2051 (#2059) (c191aa6)
- Remove dependency on Serilog.Expressions. Resolves #2083. (9e355f3)
10.19.2 (2023-11-09)
- ASP.NET Core 6+ browser agent injection is disabled by default. (e571ac1)
10.19.1 (2023-11-08)
- Add defensive coding and exception handling during ASP.NET Core 6+ browser injection. (#2035) (#2038) (5ddd0ea)
10.19.0 (2023-11-07)
- Add a supportability metric (Supportability/Logging/Forwarding/Empty) when an "empty" log event is not forwarded. Resolves #1472 (1db5335)
- Add automatic browser agent injection for ASP.NET Core v6+ web applications. (14c6bb1)
- Add automatic instrumentation for ASP.NET Core v6+ Razor Pages. (14c6bb1)
- Add automatic instrumentation of MassTransit clients v7.1.0 and newer. #1282 (3b79002)
- Add new span attributes to more closely match OTel spec. This includes server.address and server.port for database calls, and thread.id where appropriate. (9500d4d)
- Allow forwarding of logs where context data is present but the message and exception are missing. Previously, logs with no message or exception were not forwarded, even if they held context data. (1db5335)
- Enable auto-instrumentation for Confluent.Kafka versions 1.4.0 to 2.x.x. (#1990) (9f8d22f)
- Update RabbitMQ instrumentation to capture more message consumption scenarios. (3b79002)
- Ensure log lines are written to the audit log file when audit logging is enabled. (#2028) (#2029) (c6b940d)
- Fix a segfault when using sendDataOnExit with Linux on Docker. (#2018) (3ac75a0)
- Reduce exception logging on CallVendorApi failures. Resolves #2005 (#2006) (bf4102b)
10.18.0 (2023-10-17)
- Enable configuration of High Security Mode via environment variable (NEW_RELIC_HIGH_SECURITY). (a86d98d), closes #1948
- Enable startup logging to Event Log for all applications on Windows. (#1969) (cdac8b7)
- Detect Docker container id on cgroup v2. (#1943) (9c7e114)
- Update Serilog EventLog sink configuration to enable event source creation (if the app is running with admin privileges). (#1963) (274072b)
10.17.0 (2023-09-26)
- Add more detail to "heartbeat" message in log. (#1884) (c0c1362)
- Use structured logging for internal logs (#1903) (0031700)
10.16.0 (2023-09-11)
- The transactionTracer.stackTraceThreshold setting has been deprecated and no longer has any effect. (#1896) (20ab0e7)
- Add 32bit profiler path to IIS registry when installing 64bit agent. (#1890) (65dd50b)
- Prevent using different bitness installer when in-place upgrading. (#1890) (65dd50b)
- Fix misleading log message on transaction name change. (#1857) (#1886) (737b4f1)
- Fix NRHttpClientFactory so that it creates only one client. (#1873) (fc88ff7)
- Prevent broken traces when HttpClient content headers contain tracing headers. (#1843) (#1888) (541dd2c)
- Remove the retained file count limit for Agent log files. (#1879) (e49250a)
10.15.0 (2023-08-28)
- Add support for Serilog.Extensions.Logging and NLog.Extensions.Logging. (#1860) (#1859) (ad24201)
- Log a warning when an unsupported .NET version is detected. (#1852) (7da3e59)
- Use HttpWebRequest instead of HttpClient on .NET Framework (#1853) (8d6cf0f)
10.14.0 (2023-08-08)
10.13.0 (2023-07-14)
- Add support for filtering log events based on a list of log levels so that they are not forwarded to New Relic. Also adds new logging metrics to count the total number of filtered log events (Logging/denied). Refer to our application logging configuration documentation for more details. (#1760) (#1761) (#1762) (#1766) (aadce3a)
- Instrument OpenAsync() for SQL libraries. (#1725) (a695ce6)
- Refactor StackExchange.Redis v2+ instrumentation to eliminate potential memory leaks. (902b025)
- Remove invalid trailing comma added to W3C tracestate header. (#1779) (790a3b7)
- Update the MSI UI to clean up formatting and readability issues. (#1748) (3fbc543)
10.12.1 (2023-06-26)
- Resolved an issue in the
all_solutions.yml
workflow where the MSI installers were built with a self-signed certificate rather than the production code signing certificate. (386a277)
10.12.0 (2023-06-23)
- add instrumentation for newer MongoDB.Client methods (#1732) (1aa5680)
- add support for MySql.Data version 8.0.33+ (#1708) (69d15df)
- Add more validation to msi installer. (#1716) (d7bb7f2)
- Cache the AgentEnabled setting value. (#1723) (1624938)
- Exclude WebResource.axd and ScriptResource.axd from browser instrumentation (via default config). (#1711) (2fcce95)
- Format and log audit-level messages only when audit logging is enabled. (#1734) (f71521f)
- Handle empty Request.Path values in AspNetCore middleware wrapper. (#1704) (8b734a5)
- Include config file path in the "Agent is disabled " message on all platforms. (#1727) (1a56612)
- Update install script to correctly stop and restart IIS. (#1740) (3b91dff)
10.11.0 (2023-06-03)
- The Dotnet VMs UI page is now available for .NET CLR performance metrics. There is a new New Relic APM UI page available called "Dotnet VMs" that displays the data the .NET agent collects about an application's CLR performance. See the performance metrics documentaton for more details. (cc7cede)
- Clearing transaction context for held transactions and async WCF client instrumentation timing. (#1608) (db9a48e)
- Stop double injecting headers with HttpClient on .NET Framework (#1679) (e8bdc34)
- Add detailed assembly reporting to enable Vulnerability Management support. (#1685) (f249753)
- Adds minimal support for Devart Oracle client. (181a628)
- Use Serilog instead of log4net for internal logging. (#1661) (51080df)
10.10.0 (2023-04-26)
- Add additional logging when RUM injection is being skipped. (#1561) (e1b8eca)
- Add instrumentation for .NET Elasticsearch clients. (#1575) (8e49d7b)
- Move TLS config logging closer to connect. (#1562) (0ff3ddd)
- Add missing instrumentation to MSI installer (#1569) (b65b117)
- Add NServiceBus instrumentation to the MSI installer for .NET Core/5+. (#1576) (3cae03e)
- IsOsPlatform() can fail on older .NET Framework Versions (#1552) (699c205)
10.9.1 (2023-04-10)
- Allow StackExchange.Redis v2+ profiling to start outside of a transaction. (#1501) (#1504) (925d016)
- allow the agent to accept multiple versions of legacy NR distributed tracing headers (#1489) (23ee241)
- Fix a memory leak when using StackExchange.Redis v2+. (#1473) (#1504) (925d016)
- Retry connection on HttpRequestException error (#1514) (#1484) (99b520e)
10.9.0 - 2023-03-28
- User tracking: You can now see the number of users impacted by an error group. Identify the end user with the setUserId method.
- Error fingerprint: Are your error occurrences grouped poorly? Set your own error fingerprint via a callback function.
- Agent API now supports associating a User Id with the current transaction. See our ITransaction API documentation for more details. #1420
- Agent API now supports providing a callback to determine what error group an exception should be grouped under. See our SetErrorGroupCallback API documentation for more details. #1434
- Adds the
Supportability/Logging/Forwarding/Dropped
metric to track the number of log messages that were dropped due to capacity constraints. #1470
- Reduce redundant collector request data payload logging in the agent log at DEBUG level. #1449
- Fixes #1459, a regression in NLog local decoration when logging messages with object parameters. #1480
- Renamed
NewRelic.Providers.Wrapper.Asp35
toNewRelic.Providers.Wrapper.AspNet
since this wrapper instruments multiple versions of ASP.NET. Updated installers to remove oldAsp35
artifacts. #1448
10.8.0 - 2023-03-14
- When running on Linux, distro name and version will be reported as environment settings #1439
- Fixes #1353 so that out-of-process .Net Core web applications are instrumented according to the setting in newrelic.config. 1392
- Update NLog to improve local log decoration coverage. #1393
- Fixes #1353 so that out-of-process .Net Core web applications are instrumented according to the setting in newrelic.config. 1392
10.7.0 - 2023-02-14
- Postgres client instrumentation support has been extended to include the following versions: 4.0.x, 4.1.x, 5.0.x, 6.0.x and 7.0.x #1363
- Enables gzip compression by default for Infinite Tracing #1383
- Fix a race condition when using SetApplicationName #1361
- Resolves #1374 related to enabling Context Data for some loggers #1381
- Add missing supportability metrics to gRPC response streams and improve Infinite Tracing integration test reliability #1379
- Infinite Tracing for .NET Framework applications will be deprecated in May 2023. The Infinite Tracing feature depends on the gRPC framework to send streaming data to New Relic. The gRPC library currently in use, gRPC Core, has been in the maintenance-only phase since May 2021, and will be deprecated as of May 2023. The .NET Agent on .NET Core has been migrated to gRPC for .NET per the guidance from grpc.io. However, this library does not have the full functionality that is required for Infinite Tracing on .NET Framework applications. Those applications will continue to use gRPC Core until May 2023, at which time we will end support for Infinite Tracing for .NET Framework. We may revisit this decision in the future if the situation changes. #1367
- Resolved several static code analysis warnings relating to unused variables and outdated api usage #1369
- Update gRPC log message when a response stream is automatically cancelled due to no messages in a time period #1378
- Proxy configuration for Infinite Tracing should be specified using only the
https_proxy
environment variable.grpc_proxy
is no longer supported for all application types.
10.6.0 - 2023-01-24
- Custom instrumentation now supports targeting specific assembly versions. See the documentation for more details. #1342
- RestSharp client instrumentation support has been extended to include the following versions: 106.11.x, 106.12.0, 106.13.0, and 106.15.0. #1352
- RestSharp client instrumentation has been verified for versions 107.x and 108.x. For newer versions of RestSharp, external segments/spans are actually generated via our instrumentation of HttpClient. #1356
- .NET TLS options are now logged during startup. #1357
- StackExchange.Redis versions 2 and above use a new wrapper with improved performance and reduced network overhead. #1351
10.5.1 - 2023-01-17
- Resolves #1346 where some NuGet packages were incomplete for the 10.5.0 release. Impacted packages have been delisted from NuGet. (#1347)
10.5.0 - 2023-01-12
- Resolves #1130. Attribute collections in the agent will now more reliably track the number of attributes contained, and allow updates to attributes that already exist in the collection when collection limits have been reached (255 global attributes, 65 custom attributes). (#1335)
- The agent has been updated to use System.Net.Http.HTTPClient to send data to New Relic instead of System.Net.WebRequest, in order to fix issue #897, as well as remove use of a deprecated library. (#1325)
10.4.0 - 2022-12-06
- Support for .NET 7 has been verified with the GA version of the .NET 7 SDK. Please note that if you use dynamically-created assemblies, there is a bug in .NET 7 that prevents them from being instrumented at this time.
- Application log fowarding can now be configured to capture and forward context data (also referred to as "custom attributes") to New Relic. Details (including how to enable and configure this new feature) can be found here.
- The NewRelic.Agent NuGet package now includes the Linux Arm64 profiler. This can be found in the
newrelic/linux-arm64
directory. Configure yourCORECLR_PROFILER_PATH
environment variable to use this version of the profiler when deploying to linux ARM64 targets. - When finest logs are enabled, the transaction guid will be applied to attribute limit log messages, if present.
- Resolves potential crash when using Infinite Tracing. #1319
10.3.0 - 2022-10-26
- Custom Event Limit Increase
- This version increases the default limit of custom events from 10,000 events per minute to 30,000 events per minute. In the scenario that custom events were being limited, this change will allow more custom events to be sent to New Relic. There is also a new configurable maximum limit of 100,000 events per minute. To change the limits, see the documentation for max_samples_stored. To learn more about the change and how to determine if custom events are being dropped, see our Explorers Hub post. #1284
10.2.0 - 2022-10-03
- Add new environment variables to control SendDataOnExit functionality:
NEW_RELIC_SEND_DATA_ON_EXIT
,NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS
. #1250 - Enables integration with CodeStream Code-Level Metrics by default. This allows you to see Golden Signals in your IDE through New Relic CodeStream without altering agent configuration. Learn more here. For any issues or direct feedback, please reach out to support@codestream.com. #1255
- Resolves an issue where the .NET Core agent could crash during application shutdown when SendDataOnExit functionality was triggered. #1254
- Resolves an issue where the .NET agent incorrectly injects the browser agent script inside Html pages. #1247
- Resolves an issue where some instrumentation was missing for Microsoft.Data.SqlClient in .NET Framework. #1248
- Resolves an issue with local log decoration for NLog where the original log message was not included in the output. #1249
- Resolves an issue where the .NET agent failed to serialize custom attributes containing some non-primtive types. #1256
- Includes missing profiler environment variables in debug logs during application startup. #1255
- Resolves an issue where the .NET agent still sends up disabled event types during reconnecting period. #1251
10.1.0 - 2022-09-12
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- Support of setting up labels via appsettings.json and app/web.config file. #1204
- Additional DEBUG-level logging of all environment variables.
- Forwarded application logs now capture exception details including, error message, error stack, and error class. #1228
- Log events with no message will now be accepted if an exception is present in the log event.
- The error stack is created using the stack of the inner exception, up to 5 levels deep, just like existing Agent error reporting.
- Adds a new
SetName()
method to the Agent API for spans which allows customization of segment/span/metric names. #1238
- Resolves an issue where log forwarding could drop logs in async scenarios. #1174
- Resolves an issue where more logs were forwarded than expected from Microsoft.Extensions.Logging. #1237
- Resolves an agent configuration bug where values set in the
MAX_EVENT_SAMPLES_STORED
andMAX_TRANSACTION_SAMPLES_STORED
environment variables, which configure the maximum samples stored per one-minute harvest interval, were not being properly converted to apply to the five-second harvest interval for those data types. #1239
10.0.0 - 2022-07-19
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- Adds support for forwarding application logs to New Relic for .NET Framework 4.6.2 and newer applications using Microsoft.Extensions.Logging. #1172
- Additional agent configuration options are now visible and easily accessible through the UI on NR1. Agent configuration is also now reported during agent connect. This information can be seen in the
APM->Environment->Agent Initialization
view. #1174
- Resolves an issue with transaction trace aggregation where the slowest transaction trace was not always captured due to a race condition. #1166
- Adds an ignore rule to prevent profiling
SMSvcHost.exe
. #1182 - Updates applicationLogging attribute
log.level
to belevel
. #1144
- This is a major release of the agent, and contains breaking changes. See the migration guide for details.
- This agent release targets .NET Framework 4.6.2 and .NET Standard 2.0. The minimum supported runtime versions for profiled applications are .NET Framework 4.6.2+ and .NET Core 3.1+.
- The scriptable installers have been removed. #1170
- Windows installation files have been consolidated and renamed. #1187
- The Linux installation packages have been renamed. #1180
- Castle.Monorail instrumentation has been removed. #1177
9.9.0 - 2022-06-08
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- 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
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- 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
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
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
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- 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.
Notice: If using Microsoft.Extensions.Logging as your logging framework of choice, please use .NET agent version 10.1.0 or newer. We encourage you to adopt the newer version due to bug #1230, which we fixed in #1237, that was resolved in .NET agent version 10.1.0.
- 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.