Skip to content

1.12.1

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Jun 13:16
· 4706 commits to master since this release
c3ddac4

Highlights

Remote configuration

For remote configuration to operate properly its reported service name must match the main application integration service name.

We highly recommend setting the main service name (set via DD_SERVICE or Datadog.configure { |c| c.service = '...' }) and the Rack integration service name to match. Note that when other integrations such as Rails are present and Rack integration configuration is not set, the Rack integration service name will default to the same integration name.

In general, we recommend using DD_SERVICE or c.service instead of c.remote.service if at all possible, but for situations where this is not possible, this version provides an override via a new configuration setting:

Datadog.configure { |c| c.remote.service = '...' }`

It must be made to match the Rack integration service name, which can be found appearing on rack.request tracing spans.

Examples
Case 1
Datadog.configure do |c|
  c.service = 'foo' # or DD_SERVICE env var
  c.tracing.instrument :rails, service_name: 'foo_web' # Rack will inherit this name
end

We recommend:

  • either changing c.service to 'foo_web'
  • or :rails, service_name: to 'foo'

If none of these changes are possible, as a last resort add c.remote.service = 'foo_web'.

Case 2
Datadog.configure do |c|
  # no c.service = '...' nor DD_SERVICE env var
  c.tracing.instrument :rails, service_name: 'foo_web'
end

We recommend:

  • either setting c.service (or DD_SERVICE) to 'foo_web'
  • or setting c.service (or DD_SERVICE) to 'foo' and :rails, service_name: to 'foo'

If none of these changes are possible, as a last resort add c.remote.service = 'foo_web'.

Case 3
Datadog.configure do |c|
  # no c.service = '...' nor DD_SERVICE env var
  c.tracing.instrument :rack, service_name: 'foo_rack'
  c.tracing.instrument :rails, service_name: 'foo_rails'
end

We recommend:

  • either setting c.service (or DD_SERVICE) to 'foo_rack'
  • or setting c.service (or DD_SERVICE) to 'foo' and :rack, service_name: to 'foo'

If none of these changes are possible, as a last resort add c.remote.service = 'foo_rack'.

Added

  • Appsec: Add appsec.blocked tag to span (#2895)
  • Profiling: Add workaround for legacy profiler incompatibility with ruby-cloud-profiler gem (#2891)
  • Core: Allow setting remote configuration service name (#2853)

Changed

  • Appsec: Change the value format for the WAF address server.request.query (#2903)
  • Profiling: Log pkg-config command when building profiling native extension

Fixed

  • Appsec: Update blocked response content_type resolution (#2900)
  • Appsec: Ensure to use service entry span. (#2898)
  • Tracing: Fix AWS integration constant loading (#2896)

Read the full changeset and the release milestone.