Skip to content

Latest commit

 

History

History
3271 lines (2386 loc) · 137 KB

CHANGELOG.md

File metadata and controls

3271 lines (2386 loc) · 137 KB

Changelog

1.6.1 - 2022-11-16

Changed

  • Limit redis version support to less than 5

Fixed

  • [redis]: Fix frozen input for Redis.new(...)

1.6.0 - 2022-11-15

Added

  • Trace level tags propagation in distributed tracing (#2260)
  • [hanami]: Hanami 1.x instrumentation (#2230)
  • [pg, mysql2]: option comment_propagation for SQL comment propagation, default is disabled (#2339)(#2324)

Changed

  • [rack, sinatra]: Squash nested spans and improve patching mechanism.
    No need to register Datadog::Tracing::Contrib::Sinatra::Tracer(#2217)
  • [rails, rack]: Fix Non-GET request method with rails exception controller (#2317)
  • Upgrade to libdatadog 0.9.0.1.0 (#2302)
  • Remove legacy profiling transport (#2062)

Fixed

  • [redis]: Fix redis instance configuration, not on client (#2363)
# Change your code from
Datadog.configure_onto(redis.client, service_name: '...')
# to
Datadog.configure_onto(redis, service_name: '...')
  • Allow DD_TAGS values to have the colon character (#2292)
  • Ensure that TraceSegment can be reported correctly when they are dropped (#2335)
  • Docs: Fixes upgrade guide on configure_onto (#2307)
  • Fix environment logger with IO transport (#2313)

1.5.2 - 2022-10-27

Deprecation notice

  • DD_TRACE_CLIENT_IP_HEADER_DISABLED was changed to DD_TRACE_CLIENT_IP_ENABLED. Although the former still works we encourage usage of the latter instead.

Changed

  • http.client_ip tag collection is made opt-in for APM. Note that http.client_ip is always collected when ASM is enabled as part of the security service provided (#2321, #2331)

Fixed

1.5.1 - 2022-10-19

Changed

  • Update libddwaf to 1.5.1 (#2306)
  • Improve libddwaf extension memory management (#2306)

Fixed

  • Fix URI::InvalidURIError (#2310, #2318) (@yujideveloper)
  • Handle URLs with invalid characters (#2311, #2319)
  • Fix missing appsec.event tag (#2306)
  • Fix missing Rack and Rails request body parsing for AppSec analysis (#2306)
  • Fix unneeded AppSec call in a Rack context when AppSec is disabled (#2306)
  • Fix spurious AppSec instrumentation (#2306)

1.5.0 - 2022-09-29

Deprecation notice

  • c.tracing.instrument :rack, { quantize: { base: ... } } will change its default from :exclude to :show in a future version. Voluntarily moving to :show is recommended.
  • c.tracing.instrument :rack, { quantize: { query: { show: ... } } will change its default to :all in a future version, together with quantize.query.obfuscate changing to :internal. Voluntarily moving to these future values is recommended.

Added

  • Feature: Single Span Sampling (#2128)
  • Add query string automatic redaction (#2283)
  • Use full URL in http.url tag (#2265)
  • Add http.useragent tag (#2252)
  • Add http.client_ip tag for Rack-based frameworks (#2248)
  • Ci-app: CI: Fetch committer and author in Bitrise (#2258)

Changed

  • Bump allowed version of debase-ruby_core_source to include v0.10.17 (#2267)

Fixed

  • Bug: Fix service_nam typo to service_name (#2296)
  • Bug: Check AppSec Rails for railties instead of rails meta gem (#2293) (@seuros)
  • Ci-app: Correctly extract commit message from AppVeyor (#2257)

[1.4.2] - 2022-09-27

Fixed

OpenTracing context propagation (#2191, #2289)

1.4.1 - 2022-09-15

Fixed

  • Missing distributed traces when trace is dropped by priority sampling (#2101, #2279)
  • Profiling support when Ruby is compiled without a shared library (#2250)

1.4.0 - 2022-08-25

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0

Added

  • gRPC: tag grpc.client.deadline (#2200)
  • Implement telemetry, disable by default (#2153)

Changed

  • Bump libdatadog dependency version (#2229)

Fixed

  • Fix CI instrumentation configuration (#2219)

1.3.0 - 2022-08-04

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0

Added

  • Top-level span being tagged to avoid duplicate computation (#2138)

Changed

  • ActiveSupport: Optionally disable tracing with Rails (@marcotc)
  • Rack: Resource overwritten by nested application (#2180)
  • Rake: Explicit task instrumentation to prevent memory bloat (#2174)
  • Sidekiq and DelayedJob: Add spans to improve tracing (#2170)
  • Drop Profiling support for Ruby 2.1 (#2140)
  • Migrate libddprof dependency to libdatadog (#2061)

Fixed

  • Fix OpenTracing propagation with TraceDigest (#2201)
  • Fix SpanFilter dropping descendant spans (#2074)
  • Redis: Fix Empty pipelined span being dropped (#757) (@sponomarev)
  • Fix profiler not restarting on Process.daemon (#2150)
  • Fix setting service from Rails configuration (#2118) (@agrobbin)
  • Some document and development improvement (@marocchino) (@yukimurasawa)

1.2.0 - 2022-07-11

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0

Special thanks go to @miketheman for gifting Datadog access to the datadog gem a few days ago.

Added

  • Add Postgres (pg gem) instrumentation (#2054) (@jennchenn)
  • Add env var for debugging profiling native extension compilation issues (#2069)
  • Teach Rest Client integration the :split_by_domain option (#2079) (@agrobbin)
  • Allow passing request_queuing option to Rack through Rails tracer (#2082) (@KieranP)
  • Add Utility to Collect Platform Information (#2097) (@jennchenn)
  • Add convenient interface for getting and setting tags using [] and []= respectively (#2076) (@ioquatix)
  • Add b3 metadata in grpc (#2110) (@henrich-m)

Changed

  • Profiler now reports profiling data using the libddprof gem (#2059)
  • Rename Kernel#at_fork_blocks monkey patch to Kernel#ddtrace_at_fork_blocks (#2070)
  • Improved error message for enabling profiling when pkg-config system tool is not installed (#2134)

Fixed

  • Prevent errors in action_controller integration when tracing is disabled (#2027) (@ahorner)
  • Fix profiler not building on ruby-head (3.2) due to VM refactoring (#2066)
  • Span and trace IDs should not be zero (#2113) (@albertvaka)
  • Fix object_id usage as thread local key (#2096)
  • Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues (#2125)

1.1.0 - 2022-05-25

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0

Added

Changed

  • Support spaces in environment variable DD_TAGS (#2011)

Fixed

  • Fix "circular require considered harmful" warnings (#1998)
  • Logging: Change ddsource to a scalar value (#2022)
  • Improve exception logging (#1992)

1.0.0 - 2022-04-28

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0

Diff since last stable release: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0

Added

  • GraphQL 2.0 support (#1982)

Changed

  • AppSec: Update libddwaf to 1.3.0 (#1981)

Fixed

  • Rails log correlation (#1989) (@cwoodcox)
  • Resource not inherited from lazily annotated spans (#1983)
  • AppSec: Query address for libddwaf (#1990)

Refactored

1.0.0.beta2 - 2022-04-14

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2

Added

Changed

  • Access to configuration settings is namespaced (#1922)
  • AWS provides metrics by default (#1976) (@dudo)
  • Update debase-ruby_core_source version (#1964)
  • Profiling: Hide symbols/functions in native extension (#1968)
  • Profiling: Renamed code_provenance.json to code-provenance.json (#1919)
  • AppSec: Update libddwaf to v1.2.1 (#1942)
  • AppSec: Update rulesets to v1.3.1 (#1965, #1961, #1937)
  • AppSec: Avoid exception on missing ruleset file (#1948)
  • AppSec: Env var consistency (#1938)

Fixed

Removed

  • OpenTelemetry extensions (Use OTLP instead) (#1917)

Refactored

1.0.0.beta1 - 2022-02-15

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0.beta1

See https://github.com/DataDog/dd-trace-rb/blob/v1.0.0.beta1/docs/UpgradeGuide.md.

0.54.2 - 2022-01-18

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.1...v0.54.2

Changed

  • Bump debase-ruby_core_source dependency version; also allow older versions to be used (#1798, #1829)
  • Profiler: Reduce impact of reporting data in multi-process applications (#1807)
  • Profiler: Update API used to report data to backend (#1820)

Fixed

  • Gracefully handle installation on environments where Ruby JIT seems to be available but is actually broken (#1801)

0.54.1 - 2021-11-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.0...v0.54.1

Fixed

  • Skip building profiling native extension when Ruby has been compiled without JIT (#1774, #1776)

0.54.0 - 2021-11-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.53.0...v0.54.0

Added

  • MongoDB service name resolver when using multi cluster (#1423) (@skcc321)
  • Service name override for ActiveJob in Rails configuration (#1703, #1770) (@hatstand)
  • Profiler: Expose profile duration and start to the UI (#1709)
  • Profiler: Gather CPU time without monkey patching Thread (#1735, #1740)
  • Profiler: Link profiler samples to individual web requests (#1688)
  • Profiler: Capture threads with empty backtrace (#1719)
  • CI-App: Memoize environment tags to improve performance (#1762)
  • CI-App: test.framework_version tag for rspec and cucumber (#1713)

Changed

  • Set minimum version of dogstatsd-ruby 5 series to 5.3 (#1717)
  • Use USER_KEEP/USER_REJECT for RuleSampler decisions (#1769)

Fixed

  • "private method `ruby2_keywords' called" errors (#1712, #1714)
  • Configuration warning when Agent port is a String (#1720)
  • Ensure internal trace buffer respects its maximum size (#1715)
  • Remove erroneous maximum resque version support (#1761)
  • CI-App: Environment variables parsing precedence (#1745, #1763)
  • CI-App: GitHub Metadata Extraction (#1771)
  • Profiler: Missing thread id for natively created threads (#1718)
  • Docs: Active Job integration example code (#1721) (@y-yagi)

Refactored

0.53.0 - 2021-10-06

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.53.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.52.0...v0.53.0

Added

  • ActiveJob integration (#1639) (@bensheldon)
  • Instrument Action Cable subscribe/unsubscribe hooks (#1674) (@agrobbin)
  • Instrument Sidekiq server internal events (heartbeat, job fetch, and scheduled push) (#1685) (@agrobbin)
  • Correlate Active Job logs to the active DataDog trace (#1694) (@agrobbin)
  • Runtime Metrics: Global VM cache statistics (#1680)
  • Automatically send traces to agent Unix socket if present (#1700)
  • CI-App: User Provided Git Metadata (#1662)
  • ActionMailer integration (#1280)

Changed

  • Profiler: Set Sinatra resource setting at beginning of request and delay setting fallback resource (#1628)
  • Profiler: Use most recent event for trace resource name (#1695)
  • Profiler: Limit number of threads per sample (#1699)
  • Profiler: Rename extract_trace_resource to endpoint.collection.enabled (#1702)

Fixed

  • Capture Rails exception before default error page is rendered (#1684)
  • NoMethodError in sinatra integration when Tracer middleware is missing (#1643, #1644) (@mscrivo)
  • CI-App: Require rspec-core for RSpec integration (#1654) (@elliterate)
  • CI-App: Use the merge request branch on merge requests (#1687) (@carlallen)
  • Remove circular dependencies. (#1668) (@saturnflyer)
  • Links in the Table of Contents (#1661) (@chychkan)
  • CI-App: Fix CI Visibility Spec Tests (#1706)

Refactored

  • Profiler: pprof encoding benchmark and improvements (#1511)

0.52.0 - 2021-08-09

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.52.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.51.1...v0.52.0

Added

  • Add Sorbet typechecker to dd-trace-rb (#1607)

    Note that no inline type signatures were added, to avoid a hard dependency on sorbet.

  • Profiler: Add support for annotating profiler stacks with the resource of the active web trace, if any (#1623)

    Note that this data is not yet visible on the profiling interface.

  • Add error_handler option to GRPC tracer configuration (#1583) (@fteem)

  • User-friendly handling of slow submissions on shutdown (#1601)

  • Profiler: Add experimental toggle to disable the profiling native extension (#1594)

  • Profiler: Bootstrap profiling native extension (#1584)

Changed

  • Profiler: Profiling data is no longer reported when there's less than 1 second of data to report (#1630)
  • Move Grape span resource setting to beginning of request (#1629)
  • Set resource in Sinatra spans at the beginning of requests, and delay setting fallback resource to end of requests (#1628)
  • Move Rails span resource setting to beginning of request (#1626)
  • Make registry a global constant repository (#1572)
  • Profiler: Remove automatic agentless support (#1590)

Fixed

  • Profiler: Fix CPU-time accounting in Profiling when fibers are used (#1636)
  • Don't set peer.service tag on grpc.server spans (#1632)
  • CI-App: Fix GitHub actions environment variable extraction (#1622)
  • Additional Faraday 1.4+ cgroup parsing formats (#1595)
  • Avoid shipping development cruft files in gem releases (#1585)

0.51.1 - 2021-07-13

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.51.0...v0.51.1

Fixed

  • AWS-SDK instrumentation without aws-sdk-s3 (#1592)

0.51.0 - 2021-07-12

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.50.0...v0.51.0

Added

  • Semantic Logger trace correlation injection (#1566)
  • New and improved Lograge trace correlation injection (#1555)
  • Profiler: Start profiler on ddtrace/auto_instrument
  • CI-App: Add runtime and OS information (#1587)
  • CI-App: Read metadata from local git repository (#1561)

Changed

  • Rename Datadog::Runtime to Datadog::Core::Environment (#1570)

    As we prepare the Datadog Ruby namespace to better accommodate new products, we are moving a few internal modules to a different location to avoid conflicts.

    None of the affected files are exposed publicly in our documentation, and they are only expected to be used internally and may change at any time, even between patch releases.

    • The following modules have been moved:
    Datadog::Runtime::Cgroup -> Datadog::Core::Environment::Cgroup
    Datadog::Runtime::ClassCount -> Datadog::Core::Environment::ClassCount
    Datadog::Runtime::Container -> Datadog::Core::Environment::Container
    Datadog::Runtime::GC -> Datadog::Core::Environment::GC
    Datadog::Runtime::Identity -> Datadog::Core::Environment::Identity
    Datadog::Runtime::ObjectSpace -> Datadog::Core::Environment::ObjectSpace
    Datadog::Runtime::Socket -> Datadog::Core::Environment::Socket
    Datadog::Runtime::ThreadCount -> Datadog::Core::Environment::ThreadCount
    • Most constants from Datadog::Ext::Runtime have been moved to a new module: Datadog::Core::Environment::Ext.
  • Skip CPU time instrumentation if logging gem is detected (#1557)

Fixed

  • Initialize dogstatsd-ruby in single threaded mode (#1576)

    This should alleviate any existing issues with dogstatsd-ruby resource leaks.

  • Do not use configured dogstatsd-ruby instance when it's an incompatible version (#1560)

  • Ensure tags with special Datadog processing are consistently serialized (#1556)

  • Profiler: NameError during initialization (#1552)

Refactored

  • Improvements to test suite & CI (#1586)
  • Improvements to documentation (#1397)

[0.50.0] - 2021-06-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.50.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.49.0...v0.50.0

Added

  • Add warning, update documentation, for incompatible dogstastd-ruby version (#1544#1533)
  • Add CI mode and Test mode feature (#1504)
  • Add Gem.loaded_specs fallback behavior if protobuf or dogstatsd-ruby already loaded(#1506#1510)

Changed

  • Declare EOL for Ruby 2.0 support (#1534)
  • Rename Thread#native_thread_id to #pthread_thread_id to avoid conflict with Ruby 3.1 (#1537)

Fixed

  • Fix tracer ignoring value for service tag (service.name) in DD_TAGS (#1543)
  • Fix nested error reporting to correctly walk clause chain (#1535)
  • Fix AWS integration to prevent S3 URL presigning from generating a remote request span (#1494)
  • Fix backtrace handling of exception classes that return nil message (#1500) (@masato-hi)

Refactored

[0.49.0] - 2021-05-12

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.49.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.48.0...v0.49.0

Added

  • Add cause to error stack trace (#1472)

Changed

Fixed

  • Prevent double initialization when auto instrumenting non-Rails applications (#1497)
  • Support kwargs in Ruby 3.0 for sucker_punch (#1495) (@lloeki)
  • Fargate fixes and Container parsing for CGroups (#1487#1480#1475)
  • Fix ActionPack instrumentation #starts_with? error(#1489)
  • Doc fixes (#1473) (@kexoth)

Refactored

0.48.0 - 2021-04-19

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.48.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.47.0...v0.48.0

Added

  • Makara support with ActiveRecord (#1447)
  • tag_body configuration for Shoryuken (#1449) (@gkampjes)

Changed

  • Add deprecation warning for Ruby 2.0 support (#1441)

    Support for Ruby 2.0 will be available up to release 0.49.x, and dropped from release 0.50.0 and greater. Users are welcome to continue using version < 0.50.0 for their Ruby 2.0 deployments going forward.

  • Auto instrument Resque workers by default (#1400)

Fixed

  • Ensure DD_TRACE_SAMPLE_RATE enables full RuleSampler (#1416)
  • Fix Fargate 1.4 container ID not being read (#1457)
  • Correctly close all StatsD clients (#1429)

Refactored

0.47.0 - 2021-03-29

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.47.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.46.0...v0.47.0

Added

Changed

  • BREAKING Separate Resolver configuration and resolution steps (#1319)

    ActiveRecord describes configuration now supports partial matching

    Partial matching of connection fields (adapter, username, host, port, database) is now allowed. Previously, only an exact match of connections fields would be considered matching. This should help greatly simplify database configuration matching, as you will only need to provide enough fields to correctly separate your distinct database connections.

    If you have a c.use active_record, describe: statement in your application that is currently not matching any connections, you might start seeing them match after this release.

    c.use active_record, describe: statements that are currently matching a connection will continue to match that same connection.

    You can refer to the expanded ActiveSupport documentation for details on how to use the new partial matchers and configuration code examples.

    Datadog::Contrib::Configuration::Resolver interface changed

    The interface for Datadog::Contrib::Configuration::Resolver has changed: custom configuration resolvers that inherit from Datadog::Contrib::Configuration::Resolver will need be changed to fulfill the new interface. See code documentation for Datadog::Contrib::Configuration::Resolver for specific API requirements.

  • Remove type check from ThreadLocalContext#local. (#1399) (@orekyuu)

Fixed

  • Support for JRuby 9.2.0.0 (#1409)
  • Failed integration message (#1394) (@e1senh0rn)
  • Addressed "warning: instance variable @components not initialized" (#1419)
  • Close /proc/self/cgroup file after reading (#1414)
  • Improve internal "only once" behavior across the tracer (#1398)
  • Increase thread-safety during tracer initialization (#1418)

Refactored

0.46.0 - 2021-03-03

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.46.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...v0.46.0

Added

  • Add EventBridge to supported AWS services (#1368) (@tomgi)
  • Add time_now_provider configuration option (#1224)
    • This new option allows the span start_time and end_time to be configured in environments that change the default time provider, like with Timecop. More information in the official documentation.
  • Add name to background threads created by ddtrace (#1366)

Changed

  • Rework RSpec instrumentation as separate traces for each test (#1381)

Fixed

  • ArgumentError: wrong number of arguments (given 2, expected 0) due to concurrent require (#1306, #1354) (@EvNomad)
  • Fix Rails' deprecation warnings (#1352)
  • Fully populate Rake span fields on exceptions (#1377)
  • Fix a typo in httpclient integration (#1365) (@y-yagi)
  • Add missing license files for vendor'd code (#1346)

Refactored

Removed

  • Remove deprecated Datadog::Monkey (#1341)
  • Remove deprecated Datadog::DeprecatedPin (#1342)
  • Remove unused Shim/MethodWrapper/MethodWrapping (#1347)
  • Remove APP_ANALYTICS from tests instrumentation (#1378) (@AdrianLC)

0.45.0 - 2021-01-26

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.45.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0

Added

Changed

  • Promote request_queuing out of experimental (#1320)
  • Safeguards around distributed HTTP propagator (#1304)
  • Improvements to test integrations (#1291, #1303, #1307)

Refactored

0.44.0 - 2021-01-06

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.44.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.43.0...v0.44.0

Added

Changed

  • Reduce Runtime Metrics frequency to every 10 seconds (#1269)

Fixed

  • Disambiguate resource names for Grape endpoints with shared paths (#1279) (@pzaich)
  • Remove invalid Jenkins URL from CI integration (#1283)

Refactored

0.43.0 - 2020-11-18

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.43.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0

Added

  • Background job custom error handlers (#1212) (@norbertnytko)
  • Add "multi" methods instrumentation for Rails cache (#1217) (@michaelkl)
  • Support custom error status codes for Grape (#1238)
  • Cucumber integration (#1216)
  • RSpec integration (#1234)
  • Validation to :on_error argument on Datadog::Tracer#trace (#1220)

Changed

  • Update TokenBucket#effective_rate calculation (#1236)

Fixed

  • Avoid writer reinitialization during shutdown (#1235, #1248)
  • Fix configuration multiplexing (#1204, #1227)
  • Fix misnamed B3 distributed headers (#1226, #1229)
  • Correct span type for AWS SDK (#1233)
  • Correct span type for internal Pin on HTTP clients (#1239)
  • Reset trace context after fork (#1225)

Refactored

Removed

[0.42.0] - 2020-10-21

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.42.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...v0.42.0

Added

Changed

Fixed

  • Improve Rails log_injection option to support more Lograge formats (#1210) (@Supy)

  • Fix Changelog (#1199) (@y-yagi)

Refactored

  • Refactor Trace buffer into multiple components (#1195)

0.41.0 - 2020-09-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.41.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0

Added

Changed

  • Add peer.service tag to external services and skip tagging external services with language tag for runtime metrics (#934, #935, #1180)
    • This helps support the way runtime metrics are associated with spans in the UI.
  • Faster TraceBuffer for CRuby (#1172)
  • Reduce memory usage during gem startup (#1090)
  • Reduce memory usage of the HTTP transport (#1165)

Fixed

  • Improved prepared statement support for Sequel integrations (#1186)
  • Fix Sequel instrumentation when executing literal strings (#1185) (@matchbookmac)
  • Remove explicit Logger class verification (#1181) (@bartekbsh)
    • This allows users to pass in a custom logger that does not inherit from Logger class.
  • Correct tracer buffer metric counting (#1182)
  • Fix Span#pretty_print for empty duration (#1183)

Refactored

0.40.0 - 2020-09-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.40.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0

Added

  • Rails log_injection option to auto enable log correlation (#1157)
  • Que integration (#1141, #1146) (@hs-bguven)
  • Components#startup! hook (#1151)
  • Code coverage report (#1159)
    • Every commit now has a coverage CI step that contains the code coverage report. This report can be found in the Artifacts tab of that CI step, under coverage/index.html.

Changed

  • Use a single top level span for Racecar consumers (#1150) (@dasch)

Fixed

  • Sinatra nested modular applications possibly leaking spans (#1035, #1145)

    • BREAKING for nested modular Sinatra applications only:
      class Nested < Sinatra::Base
      end
      
      class TopLevel < Sinatra::Base
        use Nested # Nesting happens here
      end
    • Non-breaking for classic applications nor modular non-nested applications.

    Fixes issues introduced by #1015 (in 0.35.0), when we first introduced Sinatra support for modular applications.

    The main issue we had to solve for modular support is how to handle nested applications, as only one application is actually responsible for handling the route. A naive implementation would cause the creation of nested sinatra.request spans, even for applications that did not handle the request. This is technically correct, as Sinatra is traversing that middleware, accruing overhead, but that does not aligned with our existing behavior of having a single sinatra.request span.

    While trying to achieve backwards-compatibility, we had to resort to a solution that turned out brittle: sinatra.request spans had to start in one middleware level and finished it in another. This allowed us to only capture the sinatra.request for the matching route, and skip the non-matching one. This caused unexpected issues on some user setups, specially around Sinatra middleware that created spans in between the initialization and closure of sinatra.request spans.

    This change now address these implementation issues by creating multiple sinatra.request, one for each traversed Sinatra application, even non-matching ones. This instrumentation is more correct, but at the cost of being a breaking change for nested modular applications.

    Please see #1145 for more information, and example screenshots on how traces for affected applications will look like.

  • Rack/Rails span error propagation with rescue_from (#1155, #1162)

  • Prevent logger recursion during startup (#1158)

  • Race condition on new worker classes (#1154)

    • These classes represent future work, and not being used at the moment.

Refactored

Removed

  • Ruby 1.9 support ended, as it transitions from Maintenance to End-Of-Life (#1137)
  • GitLab status check when not applicable (#1160)
    • Allows for PRs pass all status checks once again. Before this change, a dd-gitlab/copy_to_s3 check would never leave the "Pending" status. This check tracks the deployment of a commit to an internal testing platform, which currently only happens on master branch or when manually triggered internally.

0.39.0 - 2020-08-05

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.39.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0

Added

Changed

  • Consistent environment variables across languages (#1115)
  • Default logger level from WARN to INFO (#1120) (@gingerlime)
    • This change also reduces the startup environment log message to INFO level (#1104)

Fixed

Refactored

  • Improved ActiveRecord documentation (#1119)
  • Improvements to test suite (#1105, #1118)

0.38.0 - 2020-07-13

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.38.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0

Added

Changed

  • Auto instrument Faraday default connection (#1057)
  • Sidekiq client middleware is now the same for client and server (#1099) (@drcapulet)
  • Single pass SpanFilter (#1071) (@tjwp)

Fixed

  • Ensure fatal exceptions are propagated (#1100)
  • Respect child_of: option in Tracer#trace (#1082) (@DocX)
  • Improve Writer thread safety (#1091) (@fledman)

Refactored

0.37.0 - 2020-06-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.37.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0

Refactored

Removed

  • DEPRECATION: Deprecate Contrib::Configuration::Settings#tracer= (#1072, #1079)

    • The tracer: option is no longer supported for integration configuration. A deprecation warning will be issued when this option is used.

    • Tracer instances are dynamically created when ddtrace is reconfigured (through Datadog.configure{} calls).

      A reference to a tracer instance cannot be stored as it will be replaced by a new instance during reconfiguration.

      Retrieving the global tracer instance, by invoking Datadog.tracer, is the only safe mechanism to acquire the active tracer instance.

      Allowing an integration to set its tracer instance is effectively preventing that integration from dynamically retrieving the current active tracer in the future, thus causing it to record spans in a stale tracer instance. Spans recorded in a stale tracer instance will look disconnected from their parent context.

  • BREAKING: Remove Pin#tracer= and DeprecatedPin#tracer= (#1073)

    • The Pin and DeprecatedPin are internal tools used to provide more granular configuration for integrations.
    • The APIs being removed are not public nor have been externally documented. The DeprecatedPin specifically has been considered deprecated since 0.20.0.
    • This removal is a continuation of #1079 above, thus carrying the same rationale.

Migration

  • Remove tracer argument provided to integrations (e.g. c.use :rails, tracer: ...).
  • Remove tracer argument provided to Pin or DeprecatedPin initializers (e.g. Pin.new(service, tracer: ...)).
  • If you require a custom tracer instance, use a global instance configuration:
    Datadog.configure do |c|
      c.tracer.instance = custom_tracer
    end

0.36.0 - 2020-05-27

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.36.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0

Changed

  • Prevent trace components from being re-initialized multiple times during setup (#1037)

Fixed

Refactored

0.35.2 - 2020-05-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2

Fixed

0.35.1 - 2020-05-05

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.0...v0.35.1

Fixed

0.35.0 - 2020-04-29

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.2...v0.35.0

Added

Changed

  • Populate env, service, and version from tags (#1008)
  • Extract components from configuration (#996)
  • Extract logger to components (#997)
  • Extract runtime metrics worker from Writer (#1004)
  • Improvements to Faraday documentation (#1005)

Fixed

  • Runtime metrics not starting after #write (#1010)

Refactored

0.34.2 - 2020-04-09

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.1...v0.34.2

Changed

  • Revert Rails applications setting default env if none are configured. (#1000) (@errriclee)

0.34.1 - 2020-04-02

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.0...v0.34.1

Changed

  • Rails applications set default service and env if none are configured. (#990)

Fixed

0.34.0 - 2020-03-31

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.33.1...v0.34.0

Added

  • Datadog::Event for simple pub-sub messaging (#972)
  • Datadog::Workers for trace writing (#969, #973)
  • _dd.measured tag to some integrations for more statistics (#974)
  • env, service, version, tags configuration for auto-tagging (#977, #980, #982, #983, #985)
  • Multiplexed configuration for Ethon, Excon, Faraday, HTTP integrations (#882, #953) (@stormsilver)

Fixed

  • Runtime metrics configuration dropping with new writer (#967, #968) (@ericmustin)
  • Faraday "unexpected middleware" warnings on v0.x (#965, #971)
  • Presto configuration (#975)
  • Test suite issues (#981)

0.33.1 - 2020-03-09

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.33.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.33.0...v0.33.1

Fixed

0.33.0 - 2020-03-05

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.33.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.32.0...v0.33.0

Added

Changed

  • Enforced minimum version requirements for instrumentation (#944)
  • RubyGems minimum version requirement 2.0.0 (#954) (@Joas1988)
  • Relaxed Rack minimum version to 1.1.0 (#952)

Fixed

0.32.0 - 2020-01-22

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.32.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.31.1...v0.32.0

Added

  • New transport: Datadog::Transport::IO (#910)
  • Dual License (#893, #921)

Changed

  • Improved annotation of net/http spans during exception (#888, #907) (@djmb, @ericmustin)
  • RuleSampler is now the default sampler; no behavior changes by default (#917)

Refactored

  • Improved support for multiple tracer instances (#919)
  • Improvements to test suite (#909, #928, #929)

0.31.1 - 2020-01-15

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.31.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.31.0...v0.31.1

Fixed

  • Implement SyncWriter#stop method (#914, #915) (@Yurokle)
  • Fix references to Datadog::Tracer.log (#912)
  • Ensure http.status_code tag is always a string (#927)

Refactored

  • Improvements to test suite & CI (#911, #918)

0.31.0 - 2020-01-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.31.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.30.1...v0.31.0

Added

Changed

  • Updated partial trace flushing to conform with new back-end requirements (#845)
  • Store numeric tags as metrics (#886)
  • Moved logging from Datadog::Tracer to Datadog::Logger (#880)
  • Changed default RuleSampler rate limit from unlimited to 100/s (#898)

Fixed

  • SyncWriter incompatibility with Transport::HTTP::Client (#903, #904) (@Yurokle)

Refactored

0.30.1 - 2019-12-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.30.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.30.0...v0.30.1

Fixed

  • NoMethodError when configuring tracer with SyncWriter (#899, #900) (@Yurokle)
  • Spans associated with runtime metrics when disabled (#885)

Refactored

0.30.0 - 2019-12-04

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.30.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.29.1...v0.30.0

Added

  • Additional tracer health metrics (#867)
  • Integration patching instrumentation (#871)
  • Rule-based trace sampling (#854)

Fixed

  • Rails template layout name error (#872) (@djmb)

0.29.1 - 2019-11-26

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.29.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.29.0...v0.29.1

Fixed

  • Priority sampling not activating by default (#868)

0.29.0 - 2019-11-20

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.29.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.28.0...v0.29.0

Added

Changed

  • Default trace buffer size from 100 to 1000 (#865)
  • Rack request start headers to accept more values (#832) (@JamesHarker)
  • Faraday to apply default instrumentation out-of-the-box (#786, #843) (@mdross95)

Fixed

  • Synthetics trace context being ignored (#856)

Refactored

  • Tracer buffer constants (#851)

Removed

0.28.0 - 2019-10-01

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.28.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.27.0...v0.28.0

Added

  • Support for Rails 6.0 (#814)
  • Multiplexing on hostname/port for Dalli (#823)
  • Support for Redis array arguments (#796, #817) (@brafales)

Refactored

0.27.0 - 2019-09-04

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.27.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.26.0...v0.27.0

Support for Ruby < 2.0 is removed. Plan for timeline is as follows:

  • 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
  • 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
  • 0.27.0: Support for Ruby < 2.0 is removed.

Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0 (August 6th, 2020.)

Added

Refactored

  • Rails integration into smaller integrations per component (#747, #762, #795)

Removed

  • Support for Ruby 1.9 (#791)

0.26.0 - 2019-08-06

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.26.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.25.1...v0.26.0

Support for Ruby < 2.0 is deprecated. Plan for timeline is as follows:

  • 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
  • 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
  • 0.27.0: Support for Ruby < 2.0 is removed.

Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0 (August 6th, 2020.)

Added

  • Container ID tagging for containerized environments (#784)

Refactored

  • Datadog::Metrics constants (#789)

Removed

  • Datadog::HTTPTransport and related components (#782)

0.25.1 - 2019-07-16

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.25.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.25.0...v0.25.1

Fixed

  • Redis integration not quantizing AUTH command (#776)

0.25.0 - 2019-06-27

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.25.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.24.0...v0.25.0

Support for Ruby < 2.0 is deprecated. Plan for timeline is as follows:

  • 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
  • 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
  • 0.27.0: Support for Ruby < 2.0 is removed.

Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0.

Added

  • Unix socket support for transport layer (#770)

Changed

  • Renamed 'ForcedTracing' to 'ManualTracing' (#765)

Fixed

  • HTTP headers for distributed tracing sometimes appearing in duplicate (#768)

Refactored

  • Transport layer (#628)

Deprecated

  • Ruby < 2.0 support (#771)
  • Use of Datadog::HTTPTransport (#628)
  • Use of Datadog::Ext::ForcedTracing (#765)

0.24.0 - 2019-05-21

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.24.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.3...v0.24.0

Added

  • B3 header support (#753)
  • Hostname tagging option (#760)
  • Contribution and development guides (#754)

0.23.3 - 2019-05-16

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.3

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.2...v0.23.3

Fixed

  • Integrations initializing tracer at load time (#756)

0.23.2 - 2019-05-10

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.1...v0.23.2

Fixed

0.23.1 - 2019-05-02

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.0...v0.23.1

Fixed

  • NoMethodError runtime_metrics for SyncWriter (#748)

0.23.0 - 2019-04-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.22.0...v0.23.0

Added

  • Error status support via tags for OpenTracing (#739)
  • Forced sampling support via tags (#720)

Fixed

Removed

  • Obsolete service telemetry (#738)

0.22.0 - 2019-04-15

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.22.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.2...v0.22.0

In this release we are adding initial support for the beta Runtime metrics collection feature.

Changed

Added

  • Initial beta support for Runtime metrics collection (#677)

0.21.2 - 2019-04-10

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...v0.21.2

Changed

0.21.1 - 2019-03-26

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.0...v0.21.1

Changed

  • Support TAG_ENABLED for custom instrumentation with analytics. (#728)

0.21.0 - 2019-03-20

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.20.0...v0.21.0

Added

  • Trace analytics support (#697, #715)
  • HTTP after_request span hook (#716, #724)

Fixed

Refactored

  • Global configuration for tracing into configuration API (#714)

0.20.0 - 2019-03-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.20.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.19.1...v0.20.0

This release will log deprecation warnings for any usage of Datadog::Pin. These changes are backwards compatible, but all integration configuration should be moved away from Pin and to the configuration API instead.

Added

  • Propagate synthetics origin header (#699)

Changed

  • Enable distributed tracing by default (#701)

Fixed

  • Fix Rack http_server.queue spans missing from distributed traces (#709)

Refactored

  • Refactor MongoDB to use instrumentation module (#704)
  • Refactor HTTP to use instrumentation module (#703)
  • Deprecate GRPC global pin in favor of configuration API (#702)
  • Deprecate Grape pin in favor of configuration API (#700)
  • Deprecate Faraday pin in favor of configuration API (#696)
  • Deprecate Dalli pin in favor of configuration API (#693)

0.19.1 - 2019-02-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.19.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.19.0...v0.19.1

Added

Fixed

  • Priority sampling dropping spans (#686)

0.19.0 - 2019-01-22

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.19.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.3...v0.19.0

Added

  • Tracer#active_correlation for adding correlation IDs to logs. (#660, #664, #673)
  • Opt-in support for event_sample_rate tag for some integrations. (#665, #666)

Changed

  • Priority sampling enabled by default. (#654)

0.18.3 - 2019-01-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.3

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.2...v0.18.3

Fixed

  • Mongo NoMethodError when no span available during #failed. (#674, #675) (@Azure7111)
  • Rack deprecation warnings firing with some 3rd party libraries present. (#672)
  • Shoryuken resource name when used with ActiveJob. (#671) (@aurelian)

0.18.2 - 2019-01-03

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.1...v0.18.2

Fixed

0.18.1 - 2018-12-20

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.0...v0.18.1

Fixed

0.18.0 - 2018-12-18

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.3...v0.18.0

Added

Changed

  • Use DD_AGENT_HOST and DD_TRACE_AGENT_PORT env vars if available (#631)
  • Inject :connection into sql.active_record event (#640, #649, #656) (@guizmaii)
  • Return default configuration instead of nil on miss (#651)

0.17.3 - 2018-11-29

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.3

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.2...v0.17.3

Fixed

  • Bad resource names for Grape::API objects in Grape 1.2.0 (#639)
  • RestClient raising NoMethodError when response is nil (#636, #642) (@frsantos)
  • Rack middleware inserted twice in some Rails applications (#641)

0.17.2 - 2018-11-23

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.1...v0.17.2

Fixed

  • Resque integration shutting down tracer when forking is disabled (#637)

0.17.1 - 2018-11-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.0...v0.17.1

Fixed

0.17.0 - 2018-10-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.16.1...v0.17.0

Added

  • [BETA] Span memory allocations attribute (#597) (@dasch)

Changed

  • Use Rack Env to update resource in Rails (#580) (@dasch)
  • Expand support for Sidekiq to 3.5.4+ (#593)
  • Expand support for mysql2 to 0.3.21+ (#578)

Refactored

  • Upgraded integrations to new API (#544)
  • Encoding classes into modules (#598)

0.16.1 - 2018-10-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.16.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.16.0...v0.16.1

Fixed

  • Priority sampling response being mishandled (#591)
  • HTTP open timeout to agent too long (#582)

0.16.0 - 2018-09-18

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.16.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.15.0...v0.16.0

Added

  • OpenTracing support (#517)
  • middleware option for disabling Rails trace middleware. (#552)

0.15.0 - 2018-09-12

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.15.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.2...v0.15.0

Added

  • Rails 5.2 support (#535)
  • Context propagation support for Concurrent::Future (#415, #496)

Fixed

  • Grape uninitialized constant TraceMiddleware (#525, #533) (@dim)
  • Signed integer trace and span IDs being discarded in distributed traces (#530) (@alloy)

0.14.2 - 2018-08-23

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.1...v0.14.2

Fixed

  • Sampling priority from request headers not being used (#521)

0.14.1 - 2018-08-21

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0...v0.14.1

Changed

  • Reduce verbosity of connection errors in log (#515)

Fixed

0.14.0 - 2018-08-14

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.2...v0.14.0

Added

  • RestClient integration (#422, #460)
  • DelayedJob integration (#393 #444)
  • Version information to integrations (#483)
  • Tracer#active_root_span helper (#503)

Changed

  • Resque to flush traces when Job finishes instead of using SyncWriter (#474)
  • ActiveRecord to allow configuring multiple databases (#451)
  • Integrations configuration settings (#450, #452, #451)

Fixed

  • Context propagation for distributed traces when context is full (#502)
  • Rake shutdown tracer after execution (#487) (@kissrobber)
  • Deprecation warnings fired using Unicorn (#508)

0.14.0.rc1 - 2018-08-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.rc1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta2...v0.14.0.rc1

Added

  • RestClient integration (#422, #460)
  • Tracer#active_root_span helper (#503)

Fixed

  • Context propagation for distributed traces when context is full (#502)

0.14.0.beta2 - 2018-07-25

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta1...v0.14.0.beta2

Fixed

0.14.0.beta1 - 2018-07-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.14.0.beta1

Changed

  • Resque to flush traces when Job finishes instead of using SyncWriter (#474)
  • ActiveRecord to allow configuring multiple databases (#451)
  • Integrations configuration settings (#450, #452, #451)

Fixed

  • Ruby warnings during tests (#499)
  • Tests failing intermittently on Ruby 1.9.3 (#497)

Added

  • DelayedJob integration (#393 #444)
  • Version information to integrations (#483)

0.13.2 - 2018-08-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.13.2

Fixed

  • Context propagation for distributed traces when context is full (#502)

0.13.1 - 2018-07-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...v0.13.1

Changed

Fixed

  • Workers not shutting down quickly in some short running processes (#475)
  • Missing documentation for mysql2 and Rails (#476, #488)
  • Missing variable in rescue block (#481) (@kitop)
  • Unclosed spans in ActiveSupport::Notifications with multithreading (#431, #478) (@senny)

0.13.0 - 2018-06-20

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.1...v0.13.0

Added

Fixed

  • Elasticsearch quantization of ids (#458)
  • MongoDB to allow quantization of collection name (#463)

Refactored

  • Hash quantization into core library (#410)
  • MongoDB integration to use Hash quantization library (#463)

Changed

  • Hash quantization truncates arrays with nested objects (#463)

0.13.0.beta1 - 2018-05-09

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0.beta1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.13.0.beta1

Added

Refactored

  • Hash quantization into core library (#410)

0.12.1 - 2018-06-12

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.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

Refactored

  • ActionController patching strategy using modules. (#439)
  • ActionView tracing strategy. (#445, #447)

0.12.0 - 2018-05-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0

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. (#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)

0.12.0.rc1 - 2018-04-11

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.rc1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/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 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. (#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)

0.12.0.beta2 - 2018-02-28

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.beta1...v0.12.0.beta2

Fixed

  • Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)

0.12.0.beta1 - 2018-02-09

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.12.0.beta1

Added

  • GraphQL integration (supporting graphql 1.7.9+) (#295)
  • ActiveRecord object instantiation tracing (#311, #334)
  • http.request_id tag to Rack spans (#335)

0.11.4 - 2018-03-29

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.4

Git diff: https://github.com/DataDog/dd-trace-rb/compare/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)

0.11.3 - 2018-03-06

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.3

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.11.3

Added

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.11.2 - 2018-02-02

Critical update: Datadog::Monkey removed in version 0.11.1. Adds Datadog::Monkey back as no-op, deprecated module.

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.1...v0.11.2

Deprecated

  • Datadog::Monkey to be no-op and print deprecation warnings.

0.11.1 - 2018-01-29

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0...v0.11.1

Added

  • http.base_url tag for Rack applications (#301, #327)
  • distributed_tracing option to Sinatra (#325)
  • exception_controller option to Rails (#320)

Changed

  • Decoupled Sinatra and ActiveRecord integrations (#328, #330) (@hawknewton)
  • Racecar uses preferred ActiveSupport::Notifications strategy (#323)

Removed

  • Datadog::Monkey in favor of newer configuration API (#322)

Fixed

  • Custom resource names from Rails controllers being overridden (#321)
  • Custom Rails exception controllers reporting as the resource (#320)

0.11.0 - 2018-01-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0

0.11.0.beta2 - 2017-12-27

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0.beta1...v0.11.0.beta2

0.11.0.beta1 - 2017-12-04

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0.beta1

0.10.0 - 2017-11-30

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.10.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.2...v0.10.0

0.9.2 - 2017-11-03

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.1...v0.9.2

0.9.1 - 2017-11-02

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.0...v0.9.1

0.9.0 - 2017-10-06

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.2...v0.9.0

0.8.2 - 2017-09-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.1...v0.8.2

0.8.1 - 2017-08-10

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.0...v0.8.1

0.8.0 - 2017-07-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.2...v0.8.0

0.7.2 - 2017-05-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.1...v0.7.2

0.7.1 - 2017-05-10

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.0...v0.7.1

0.7.0 - 2017-04-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.2...v0.7.0

0.6.2 - 2017-04-07

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.1...v0.6.2

0.6.1 - 2017-04-05

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.0...v0.6.1

0.6.0 - 2017-03-28

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.5.0...v0.6.0

0.5.0 - 2017-03-08

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.5.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.3...v0.5.0

0.4.3 - 2017-02-17

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.3

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.2...v0.4.3

0.4.2 - 2017-02-14

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.2

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.1...v0.4.2

0.4.1 - 2017-02-14

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.0...v0.4.1

0.4.0 - 2017-01-24

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.0

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.1...v0.4.0

0.3.1 - 2017-01-23

Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1

Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1