0.12.0
Changes to quantization
Rack and Elasticsearch now have quantization enabled by default.
- Rack's
http.url
quantizes query string values. - Elasticsearch's
elasticsearch.body
quantizes body values.
Quantization behavior can be configured: see the API documentation for Rack and Elasticsearch.
Breaking changes
-
If the
rack
integration was being configured withmiddleware_names
, now it must also provide theapplication
option, with a reference to the completed Rack application stack. This is necessary so middleware can be properly instrumented.If you are using
rails
and would like to activatemiddleware_names
, you can provide themiddleware_names
option torails
without theapplication
option (which therails
integration will automatically provide torack
.) See the documentation for Rack and Rails for more details.
Changelog
Read the full changeset and the release milestone.
Added
- GraphQL integration (supporting graphql 1.7.9+) (#295)
- ActiveRecord object instantiation tracing (#311, #334)
- Subscriber module for ActiveSupport::Notifications tracing (#324, #380, #390, #395) (@dasch)
- HTTP quantization module (#384)
- Partial flushing option to tracer (#247, #397)
Changed
- Rack applies URL quantization by default (#371)
- Elasticsearch applies body quantization by default (#362)
- Context for a single trace now has hard limit of 100,000 spans (#247)
- Tags with
rails.db.x
toactive_record.db.x
instead (#396)
Fixed
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
- Some scenarios where
middleware_names
could result in bad resource names (#354) - ActionController instrumentation conflicting with some gems that monkey patch Rails (#391)
Deprecated
- Use of
:datadog_rack_request_span
variable in favor of'datadog.rack_request_span'
in Rack. To be removed in 0.14.0 (#365, #392)