logcontext-v2/logWriter plugin: a new logs in context plugin that supports the standard library logging package.
logcontext-v2/zerologWriter plugin: 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.
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.
Release v3.18.2
3.18.2
Added
Added WithDefaultFunctionLocation trace 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 ThisCodeLocation and FunctionLocation , and trace options WithThisCodeLocation and WithFunctionLocation. These improve performance by caching the result of computing the source code location, and reuse that cached result on all subsequent calls.
Added a WithCodeLevelMetrics trace 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 the WithoutCodeLevelMetrics option was specified for the same transaction.)
Added an exported CodeLevelMetricsScopeLabelToValue function to convert a list of strings describing CLM scopes in the same manner as the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable (but as individual string parameters), returning the CodeLevelMetricsScope value which corresponds to that set of scopes.
Added a new CodeLevelMetricsScopeLabelListToValue function which takes a comma-separated list of scope names exactly as the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable does, and returns the CodeLevelMetrics value corresponding to that set of scopes.
Added text marshaling and unmarshaling for the CodeLevelMetricsScope value, allowing the CodeLevelMetrics field of the configuration struct to be converted to or from JSON or other text-based encoding representations.
Changed
The WithPathPrefix trace option now takes any number of string parameters, allowing multiple path prefixes to be recognized rather than just one.
The FunctionLocation function 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 struct field PathPrefix is now deprecated with the introduction of a new PathPrefixes field. This allows for multiple path prefixes to be given to the agent instead of only a single one.
The NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment 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 WrapHandle and WrapHandleFunc functions so that they consistently report the function being invoked by the http framework, and improved them to use the new caching functions and ensured they are thread-safe.
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:
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.
logcontext-v2/logWriter plugin: a new logs in context plugin that supports the standard library logging package.
logcontext-v2/zerologWriter plugin: 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.
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 WithDefaultFunctionLocation trace 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 ThisCodeLocation and FunctionLocation , and trace options WithThisCodeLocation and WithFunctionLocation. These improve performance by caching the result of computing the source code location, and reuse that cached result on all subsequent calls.
Added a WithCodeLevelMetrics trace 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 the WithoutCodeLevelMetrics option was specified for the same transaction.)
Added an exported CodeLevelMetricsScopeLabelToValue function to convert a list of strings describing CLM scopes in the same manner as the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable (but as individual string parameters), returning the CodeLevelMetricsScope value which corresponds to that set of scopes.
Added a new CodeLevelMetricsScopeLabelListToValue function which takes a comma-separated list of scope names exactly as the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable does, and returns the CodeLevelMetrics value corresponding to that set of scopes.
Added text marshaling and unmarshaling for the CodeLevelMetricsScope value, allowing the CodeLevelMetrics field of the configuration struct to be converted to or from JSON or other text-based encoding representations.
Changed
The WithPathPrefix trace option now takes any number of string parameters, allowing multiple path prefixes to be recognized rather than just one.
The FunctionLocation function 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 struct field PathPrefix is now deprecated with the introduction of a new PathPrefixes field. This allows for multiple path prefixes to be given to the agent instead of only a single one.
The NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment 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 WrapHandle and WrapHandleFunc functions so that they consistently report the function being invoked by the http framework, and improved them to use the new caching functions and ensured they are thread-safe.
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:
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.
... (truncated)
Commits
61058d0 Merge pull request #571 from newrelic/develop
5a8fcd0 Merge pull request #572 from newrelic/iamemilio-patch-1
8678944 add license to integration packages for logcontext-v2
5f26966 Add Log In Context Plugins to Integrations
092fafe Merge pull request #570 from newrelic/iamemilio-patch-1
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/newrelic/go-agent from 2.16.3+incompatible to 3.19.0+incompatible.
Release notes
Sourced from github.com/newrelic/go-agent's releases.
... (truncated)
Changelog
Sourced from github.com/newrelic/go-agent's changelog.
... (truncated)
Commits
61058d0
Merge pull request #571 from newrelic/develop5a8fcd0
Merge pull request #572 from newrelic/iamemilio-patch-18678944
add license to integration packages for logcontext-v25f26966
Add Log In Context Plugins to Integrations092fafe
Merge pull request #570 from newrelic/iamemilio-patch-106ee913
bump agent version to v3.19.09bcfdf0
3.19 release notesdd07840
Merge pull request #548 from iamemilio/ioEnricherc0e9558
correct zerolog internal tracking088313e
use correct name for nrWriter pathDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)