Releases: DataDog/dd-trace-rb
0.12.1
Changed
- Cache configuration
Proxy
objects (#446) freeze
more constant strings, to improve memory usage (#446)Utils#truncate
to use slightly less memory (#446)
Fixed
- Net/HTTP integration not permitting
service_name
to be overridden. (#407, #430) (@undergroundwebdesigns) - Block not being passed through Elasticsearch client initialization. (#421) (@shayonj)
- Devise raising
NoMethodError
when bad login attempts are made. (#419, #420) (@frsantos) - AWS spans using wrong resource name (#374, #377) (@jfrancoist)
- ActionView
NoMethodError
on very long traces. (#445, #447) (@jvalanen)
Refactored
Read the full changeset and the release milestone.
0.13.0.beta1
Read the full changeset.
Added
- Sequel integration (supporting Ruby 2.0+) (#171) (@randy-girard, @twe4ked)
- gRPC integration (supporting Ruby 2.2+) (#379, #403) (@Jared-Prime)
- ActiveModelSerializers integration (#340) (@sullimander)
- Excon integration (#211) (@walterking)
- Rake integration (supporting Ruby 2.0+, Rake 12.0+) (#409)
- Request queuing tracing to Rack (experimental) (#272)
- ActiveSupport::Notifications::Event helper for event tracing (#400)
- Request and response header tags to Rack (#389)
Refactored
- Hash quantization into core library (#410)
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)
Refactored
0.12.0.rc1
Overview
0.12.0 adds a variety of new features, and introduces a few changes to existing functionality.
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
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.rc1
Git diff: v0.11.4...v0.12.0.rc1
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)
Refactored
0.11.4
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.4
Git diff: v0.11.3...v0.11.4
Fixed
- Transport body parsing when downgrading (#369)
- Transport incorrectly attempting to apply sampling to service metadata (#370)
sql.active_record
traces showing incorrect adapter settings when non-default adapter used (#383)
Read the full changeset and the release milestone.
0.11.3
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.3
Git diff: v0.11.2...v0.11.3
Added
- CHANGELOG.md (#350, #363) (@awendt)
http.request_id
tag to Rack spans (#335)- Tracer configuration to README.md (#332) (@noma4i)
Fixed
- Extra indentation in README.md (#349) (@ck3g)
http.url
when Rails raises exceptions (#351, #353)- Rails from being patched twice (#352)
- 4XX responses from middleware being marked as errors (#345)
- Rails exception middleware sometimes not being inserted at correct position (#345)
- Processing pipeline documentation typo (#355) (@MMartyn)
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
- Use of block syntax with Rails
render
not working (#359, #360) (@dorner)
0.12.0.beta2
0.12.0.beta1
New integrations
GraphQL tracing support (#295, docs)
GraphQL is now supported (version 1.7.9+ is required). To activate the integration, use the following configuration:
Datadog.configure do |c|
c.use :graphql,
service_name: 'graphql',
schemas: [YourSchema]
end
ActiveRecord object instantiation tracing (#311, #334, docs)
ActiveRecord queries can spend significant time instantiating Ruby objects from database queries. This feature adds spans to track object instantiation as a part of a trace. Supported in both Rails and standalone applications that implement ActiveRecord.
Improvements
- Rack applications now tag their traces with the
http.request_id
tag, which containsX-Request-Id
header value. Great for associating traces with requests in HTTP logs. (#330, #335)
Read the full changeset.
0.11.2
Critical update
In the previous 0.11.1 release the PR #322 removed the Monkey
module that was used as a main API to activate libraries and frameworks integrations, and it was entirely replaced with the new API that changes the way how libraries are instrumented.
This release introduces the Monkey
API again (#336) as a no-op interface, that prints a deprecation warning in your logs as:
Datadog::Monkey has been REMOVED as of version 0.11.1.
All calls to Datadog::Monkey are no-ops.
*Implementations using Monkey will no longer function*.
Upgrade to the new configuration API using the migration guide here:
https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0
The no-op Monkey
API will be available for the next releases to avoid issues with partially migrated configurations. This is one of the last breaking changes before moving towards a stable 1.0 release.
Read the full changeset.
0.11.1
New features
- Added
http.base_url
tag for Rack applications (#301, #327) - Added
distributed_tracing
option to Sinatra (#325) - Added
exception_controller
option to Rails (#320)
Improvements
- Decoupled Sinatra and ActiveRecord integrations (#328, #330) (thanks @hawknewton!)
- Racecar uses preferred ActiveSupport::Notifications strategy (#323 )
- Removed old monkey patcher, in favor of newer configuration API (#322)
Bugfixes
- Allow Rails controllers to change resource names (#321)
- Custom Rails exception controllers no longer report as the resource (#320)
Read the full changeset.