Skip to content

0.12.0

Compare
Choose a tag to compare
@delner delner released this 08 May 16:52
· 11264 commits to master since this release
3621e5c

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 with middleware_names, now it must also provide the application 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 activate middleware_names, you can provide the middleware_names option to rails without the application option (which therails integration will automatically provide to rack.) 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 to active_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)

Refactored

  • Racecar to use ActiveSupport::Notifications Subscriber module (#381)
  • Rails to use ActiveRecord integration instead of its own implementation (#396)
  • ActiveRecord to use ActiveSupport::Notifications Subscriber module (#396)