Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Go Agent 3.20.0. Release #596

Merged
merged 30 commits into from Nov 2, 2022
Merged

Go Agent 3.20.0. Release #596

merged 30 commits into from Nov 2, 2022

Conversation

iamemilio
Copy link
Contributor

@iamemilio iamemilio commented Nov 2, 2022

3.20.0

PLEASE READ these changes, and verify your config settings to ensure your application behaves how you intend it to. This release changes some default behaviors in the go agent.

Added

  • The Module Dependency Metrics feature was added. This collects the list of modules imported into your application, to aid in management of your application dependencies, enabling easier vulnerability detection and response, etc.
    • This feature is enabled by default, but may be disabled by explicitly including ConfigModuleDependencyMetricsEnable(false) in your application, or setting the equivalent environment variable or Config field direclty.
    • Modules may be explicitly excluded from the report via the ConfigModuleDependencyMetricsIgnoredPrefixes option.
    • Excluded module names may be redacted via the ConfigModuleDependencyMetricsRedactIgnoredPrefixes option. This is enabled by default.
  • Application Log Forwarding will now be ENABLED by default
    • Automatic application log forwarding is now enabled by default. This means that logging frameworks wrapped with one of the logcontext-v2 integrations will automatically send enriched application logs to New Relic with this version of the agent. To learn more about this feature, see the APM logs in context documentation. For additional configuration options, see the Go logs in context documentation. To learn about how to toggle log ingestion on or off by account, see our documentation to disable automatic logging via the UI or API.
    • If you are using a logcontext-v2 extension, but don't want the agent to automatically forward logs, please configure ConfigAppLogForwardingEnabled(false) in your application.
    • Environment variables have been added for all application logging config options:
      • NEW_RELIC_APPLICATION_LOGGING_ENABLED
    • NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED
    • NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED
    • NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED
    • NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED
  • 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, set ConfigCustomInsightsEventsMaxSamplesStored(limit) to the limit you want in your application. To learn more about the change and how to determine if custom events are being dropped, see our Explorers Hub post.
    • New config option ConfigCustomInsightsEventsEnabled(false) can be used to disable the collection of custom events in your application.

Changed

  • Changed the following names 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.

    • ConfigCodeLevelMetricsIgnoredPrefix -> ConfigCodeLevelMetricsIgnoredPrefixes
    • ConfigCodeLevelMetricsPathPrefix -> ConfigCodeLevelMetricsPathPrefixes
    • NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX -> NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXES
    • NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIX -> NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES
  • When excluding information reported from CodeLevelMetrics via the IgnoredPrefixes or PathPrefixes configuration fields (e.g., by specifying ConfigCodeLevelMetricsIgnoredPrefixes or ConfigCodeLevelMetricsPathPrefixes), the names of the ignored prefixes and the configured path prefixes may now be redacted from the agent configuration information sent to New Relic.

    • This redaction is enabled by default, but may be disabled by supplying a false value to ConfigCodeLevelMetricsRedactPathPrefixes or ConfigCodeLevelMetricsRedactIgnoredPrefixes, or by setting the corresponding Config fields or environment variables to false.

Fixed

  • #583: fixed a bug in zerologWriter where comma separated fields in log message confused the JSON parser and could cause panics.

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.

gqgs and others added 30 commits September 22, 2022 14:05
Fix typos in log_event.go
* initial change info

* Add logging and custom events content to changeling

* Refinements to 3.20.0 changeling

* Conform to logging change log message

Co-authored-by: Emilio Garcia <iamemilio@users.noreply.github.com>
Pluralize "*Prefixes" consistently in CLM-related option setting functions
Add Module Dependency Metrics to the Go Agent
enable application log forwarding by default
* More Defensive zerologWriter parsing

More robust EOL, edge case, and unexpected type handling that prevents unexpected parsing behavior and panics.
Default Custom Event Harvest Increase from 10,000 to 30,000
* Added Integration Tests to Harvest Cycle

Co-authored-by: mirackara <mkara@newrelic.com>
Co-authored-by: Emilio Garcia <iamemilio@users.noreply.github.com>
@iamemilio iamemilio merged commit 38d939b into master Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants