1.12.1
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
(orDD_SERVICE
) to'foo_web'
- or setting
c.service
(orDD_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
(orDD_SERVICE
) to'foo_rack'
- or setting
c.service
(orDD_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.