중요
We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version that's at most 90 days old. Read more about keeping your agent up to date.
3.20.4
중요
Please note that the v2 Go agent is no longer supported according to our EOL policy.
Fixed
- nrmssql driver updated to use version maintained by Microsoft
- Bug where error messages were not truncated to the maximum size, and would get dropped if they were too large
- Bug #643 where number of span events was hard coded to 1000, and config setting was being ignored
- Unencrypted hash vulnerability in v1.15.0 of github.com/aws/aws-sdk-go patched by bumping to v1.33.0
Added
- Improved performance of ignore error code checks in agent
- HTTP error codes can be set as expected by adding them to ErrorCollector.ExpectStatusCodes in the config
Support Statement
We also using the latest version of the Go language. At minimum, you should at least be using no version of Go older than what is supported by the Go team themselves.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
중요
We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.
3.20.3
중요
Please note that the v2 go agent is no longer supported according to our EOL policy.
Fixed
- Performance Improvements for compression
- nrsnowflake updated to golang 1.17 versions of packages
Support Statement
We also using the latest version of the Go language. At minimum, you should at least be using no version of Go older than what is supported by the Go team themselves.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
3.20.2
중요
We recommend updating to the latest agent version as soon as it’s available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version that's at most 90 days old. Read more about keeping your agent up to date.
Added
New
NoticeExpectedError()method allows you to capture errors that you are expecting to handle, without triggering alertsFixed
More defensive harvest cycle code that will avoid crashing even in the event of a panic
Update
nats-serverversion to avoid known zip-slip exploitUpdate
labstack/echoversion to mitigate known open redirect exploit
3.20.1
중요
We recommend updating to the latest agent version as soon as it’s available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.
Added
- New integration
nrpgx5v1.0.0 to instrumentgithub.com/jackc/pgx/v5.
Changed
- Changed the following
TraceOptionfunction to be consistent with their usage and other related identifier names. The old names remain for backward compatibility, but new code should use the new names.WithIgnoredPrefix->WithIgnoredPrefixesWithPathPrefix->WithPathPrefixes
- Implemented better handling of Code Level Metrics reporting when the data (e.g., function names) are excessively long, so that those attributes are suppressed rather than being reported with truncated names. Specifically:
- Attributes with values longer than 255 characters are dropped.
- No CLM attributes at all will be attached to a trace if the
code.functionattribute is empty or is longer than 255 characters. - No CLM attributes at all will be attached to a trace if both
code.namespaceandcode.filepathare longer than 255 characters.
3.20.0
LEA estos cambios y verifique los ajustes de configuración para asegurarse de que la aplicación se comporte como desea. Esta versión cambia algunos comportamientos predeterminados en el agente de Go.
Agregado
Se agregó la característica de métricas de dependencia de módulos. Esto recopila la lista de módulos importados en la aplicación, para ayudar en la gestión de las dependencias de la aplicación, lo que permite una detección y respuesta a vulnerabilidades más sencilla, etc.
- Esta característica está habilitada de forma predeterminada, pero puede deshabilitarse incluyendo explícitamente
ConfigModuleDependencyMetricsEnable(false)en la aplicación, o configurando la variable de entorno equivalente o el campoConfigdirectamente. - Los módulos pueden excluirse explícitamente del informe mediante la opción
ConfigModuleDependencyMetricsIgnoredPrefixes. - Los nombres de los módulos excluidos pueden redactarse mediante la opción
ConfigModuleDependencyMetricsRedactIgnoredPrefixes. Está habilitado de forma predeterminada.
- Esta característica está habilitada de forma predeterminada, pero puede deshabilitarse incluyendo explícitamente
Application Log Forwarding ahora estará HABILITADO por defecto
- El reenvío automático de logs de aplicación ahora está habilitado de forma predeterminada. Esto significa que los frameworks de registro envueltos con una de las integraciones de logcontext-v2 enviarán automáticamente logs de aplicación enriquecidos a New Relic con esta versión del agente. Para obtener más información sobre esta característica, consulte la documentación de logs en el contexto de APM. Para opciones de configuración adicionales, consulte la documentación de logs en el contexto de Go. Para obtener información sobre cómo activar o desactivar la ingesta de logs por cuenta, consulte nuestra documentación para deshabilitar el registro automático a través de la UI o la API.
- Si utiliza una extensión logcontext-v2, pero no desea que el agente reenvíe los logs automáticamente, configure
ConfigAppLogForwardingEnabled(false)en su aplicación. - Se han agregado variables de entorno para todas las opciones de configuración de logging de la aplicación:
NEW_RELIC_APPLICATION_LOGGING_ENABLED
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLEDNEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STOREDNEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLEDNEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED
Aumento del límite de eventos personalizados
- Esta versión aumenta el límite PREDETERMINADO de eventos personalizados de 10 000 eventos por minuto a 30 000 eventos por minuto. En el caso de que se estuvieran limitando los eventos personalizados, este cambio permitirá enviar más eventos personalizados a New Relic. También hay un nuevo límite MÁXIMO configurable de 100 000 eventos por minuto. Para cambiar los límites, establezca
ConfigCustomInsightsEventsMaxSamplesStored(limit)en el límite que desee en su aplicación. Para obtener más información sobre el cambio y cómo determinar si se están descartando eventos personalizados, consulte nuestra publicación en el Explorers Hub. - La nueva opción de configuración
ConfigCustomInsightsEventsEnabled(false)se puede usar para deshabilitar la recopilación de eventos personalizados en la aplicación.
- Esta versión aumenta el límite PREDETERMINADO de eventos personalizados de 10 000 eventos por minuto a 30 000 eventos por minuto. En el caso de que se estuvieran limitando los eventos personalizados, este cambio permitirá enviar más eventos personalizados a New Relic. También hay un nuevo límite MÁXIMO configurable de 100 000 eventos por minuto. Para cambiar los límites, establezca
Cambió
Se cambiaron los siguientes nombres para que sean coherentes con su uso y otros nombres de identificadores relacionados. Los nombres antiguos se mantienen por compatibilidad con versiones anteriores, pero el código nuevo debe usar los nombres nuevos.
ConfigCodeLevelMetricsIgnoredPrefix->ConfigCodeLevelMetricsIgnoredPrefixesConfigCodeLevelMetricsPathPrefix->ConfigCodeLevelMetricsPathPrefixesNEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX->NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXESNEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIX->NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES
Al excluir la información reportada por CodeLevelMetrics mediante los campos de configuración
IgnoredPrefixesoPathPrefixes(por ejemplo, al especificarConfigCodeLevelMetricsIgnoredPrefixesoConfigCodeLevelMetricsPathPrefixes), los nombres de los prefijos ignorados y los prefijos de ruta configurados ahora pueden ocultarse de la información de configuración del agente enviada a New Relic.- Esta ocultación está habilitada de forma predeterminada, pero se puede deshabilitar proporcionando un valor
falseaConfigCodeLevelMetricsRedactPathPrefixesoConfigCodeLevelMetricsRedactIgnoredPrefixes, o estableciendo los camposConfigo las variables de entorno correspondientes enfalse.
- Esta ocultación está habilitada de forma predeterminada, pero se puede deshabilitar proporcionando un valor
Fijado
- #583: se corrigió un error en zerologWriter donde los campos separados por comas en el mensaje de log confundían al analizador JSON y podían causar pánicos.
Declaración de apoyo
New Relic recomienda actualizar el agente regularmente para asegurarse de obtener las últimas características y beneficios de rendimiento. Además, las versiones anteriores dejarán de tener soporte cuando lleguen al fin de su vida útil.
También recomendamos usar la última versión del lenguaje Go. Como mínimo, no debería usar ninguna versión de Go anterior a la que admite el propio equipo de Go.
Consulte la Política de fin de vida útil (EOL) del agente de Go para obtener detalles sobre las versiones compatibles del agente de Go y los componentes de terceros.
3.19.2
Changed
- Updated nrgin integration to more accurately report code locations when code level metrics are enabled.
- The Go Agent and all integrations now require Go version 1.17 or later.
- Updated minimum versions for third-party modules.
- nrawssdk-v2, nrecho-v4, nrgrpc, nrmongo, nrmysql, nrnats, and nrstan now require Go Agent 3.18.2 or later
- the Go Agent now requires protobuf 1.5.2 and grpc 1.49.0
- Internal dev process and unit test improvements.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least be using no version of Go older than what is supported by the Go team themselves.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
3.19.1 - Hotfix Release
Changed
- Moved the v3/internal/logcontext/nrwriter module to v3/integrations/logcontext-v2/nrwriter
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
3.19.0
Added
logcontext-v2/logWriterplugin: a new logs in context plugin that supports the standard library logging package.logcontext-v2/zerologWriterplugin: a new logs in context plugin for zerolog that will replace the old logcontext-v2/zerolog plugin. This plugin is more robust, and will be able to support a richer set of features than the previous plugin.see the updated logs in context documentation for information about configuration and installation.
Changed
the logcontext-v2/zerolog plugin will be deprecated once the 3.17.0 release EOLs.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
3.18.2
Added
- Added
WithDefaultFunctionLocationtrace option. This allows the caller to indicate a fall-back function to use for CLM in case no other location was found first. - Added caching versions of the code-level metrics functions
ThisCodeLocationandFunctionLocation, and trace optionsWithThisCodeLocationandWithFunctionLocation. These improve performance by caching the result of computing the source code location, and reuse that cached result on all subsequent calls. - Added a
WithCodeLevelMetricstrace option to force the collection of CLM data even if it would have been excluded as being out of the configured scope. (Note that CLM data are never collected if CLM is turned off globally or if theWithoutCodeLevelMetricsoption was specified for the same transaction.) - Added an exported
CodeLevelMetricsScopeLabelToValuefunction to convert a list of strings describing CLM scopes in the same manner as theNEW_RELIC_CODE_LEVEL_METRICS_SCOPEenvironment variable (but as individual string parameters), returning theCodeLevelMetricsScopevalue which corresponds to that set of scopes. - Added a new
CodeLevelMetricsScopeLabelListToValuefunction which takes a comma-separated list of scope names exactly as theNEW_RELIC_CODE_LEVEL_METRICS_SCOPEenvironment variable does, and returns theCodeLevelMetricsvalue corresponding to that set of scopes. - Added text marshaling and unmarshaling for the
CodeLevelMetricsScopevalue, allowing theCodeLevelMetricsfield of the configurationstructto be converted to or from JSON or other text-based encoding representations.
Changed
- The
WithPathPrefixtrace option now takes any number ofstringparameters, allowing multiple path prefixes to be recognized rather than just one. - The
FunctionLocationfunction now accepts any number of function values instead of just a single one. The first such parameter which indicates a valid function, and for which CLM data are successfully obtained, is the one which will be reported. - The configuration
structfieldPathPrefixis now deprecated with the introduction of a newPathPrefixesfield. This allows for multiple path prefixes to be given to the agent instead of only a single one. - The
NEW_RELIC_CODE_LEVEL_METRICS_SCOPEenvironment variable now accepts a comma-separated list of pathnames.
Fixed
- Improved the implementation of CLM internals to improve speed, robustness, and thread safety.
- Corrected the implementation of the
WrapHandleandWrapHandleFuncfunctions so that they consistently report the function being invoked by thehttpframework, and improved them to use the new caching functions and ensured they are thread-safe.
This release fixes issue #557.
Compatibility Notice
As of release 3.18.0, the API was extended by allowing custom options to be added to calls to the Application.StartTransaction method and the WrapHandle and WrapHandleFunc functions. They are implemented as variadic functions such that the new option parameters are optional (i.e., zero or more options may be added to the end of the function calls) to be backward-compatible with pre-3.18.0 usage of those functions. This prevents the changes from breaking existing code for typical usage of the agent. However, it does mean those functions' call signatures have changed:
StartTransaction(string)->StartTransaction(string, ...TraceOption)WrapHandle(*Application, string, http.Handler)->WrapHandle(*Application, string, http.Handler, ...TraceOption)WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request))->WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request), ...TraceOption)
If, for example, you created your own custom interface type which includes the StartTransaction method or something that depends on these functions' exact call semantics, that code will need to be updated accordingly before using version 3.18.0 (or later) of the Go Agent.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.