Java Agent 5.10.0

Released on: 
Wednesday, January 29, 2020 - 15:34

Improvements

  • Support for W3C Trace Context, with easy upgrade from New Relic trace context

    Distributed tracing now supports W3C Trace Context headers for HTTP and gRPC protocols 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 current releases of New Relic agents. With this release, 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.

    The New Relic trace header format can disabled using this config or as documented here: newrelic.config.distributed_tracing.exclude_newrelic_header = true

    Also, see Known issues and workarounds.

  • Cassandra

    • This release adds instrumentation for queries in versions 3.8+ of the Datastax Cassandra driver, including slow query support. You’ll see relevant breakdowns in the overview chart, entries on the Databases page, and segments in transaction traces.
  • AWS Async SDK

    • AWS S3 - The Java agent now reports calls to Amazon S3 using the S3AsyncClient as external metrics
    • AWS SQS - The Java agent now reports calls to SqsAsyncClient as message queue metrics
    • AWS SNS - The Java agent now reports calls to Amazon SQS using SNSAsyncClient as message queue metrics

Fixes

  • In an effort to modernize our language and improve clarity, we have renamed several config values. The old names will still work for now, but they will all be removed in the next major version.

    transaction_tracer.slow_query_whitelist is now transaction_tracer.collect_slow_queries_from

    strip_exception_messages.whitelist is now strip_exception_messages.allowed_classes

    command_parser.blacklist is now command_parser.disallow

  • The strip_exception_messages config now excludes nested exception messages

  • The agent will now use a lightweight tracer for SQL tracers beyond the segment_limit, improving performance in cases with a high number of segments.
  • The agent would fail to report the Docker containerId for some combinations of systemd and Kubernetes
  • The agent logger would fail to log with: “ERROR RollingFileAppender 'File': No TriggeringPolicy provided” when newrelic.config.log_file_count>1 and newrelic.config.isDaily=false and newrelic.config.log_limit_bytes=0

Known issues and workarounds

If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream Java New Relic agents to this agent release.