Skip to content

Releases: DataDog/dd-trace-php

0.20.0

25 Apr 17:31
fd8a5c1
Compare
Choose a tag to compare

Added

  • Force tracing or discarding trace via special Span tag (manual.keep and manual.drop) #409

Fixed

  • Resource use by caching configuration values instead of processing data on every access #406

0.19.1

16 Apr 15:22
8c95f62
Compare
Choose a tag to compare

Fixed

  • Tracing of functions called using DO_FCALL_BY_NAME opcode #404
  • Curl headers not being correctly set #404

0.19.0

12 Apr 16:33
5603196
Compare
Choose a tag to compare

Changed

  • Span and SpanContext main implementation uses public fields to share data to allow faster serialization and overall Span overhead #398
  • DDTrace\Encoders\SpanEncoder::encode() now takes an instance of DDTrace\Data\Span instead of DDTrace\Contracts\Span #398
  • DDTrace\Processing\TraceAnalyticsProcessor::process() now takes an instance of DDTrace\Data\Span instead of DDTrace\Contracts\Span #398
  • Improve performance of setTag and setResource #398
  • Load required PHP files in one go #387
  • Load optional PHP files without filesystem check #387

0.18.0

08 Apr 18:43
90bc965
Compare
Choose a tag to compare

NOTE: THIS IS A BREAKING CHANGE RELEASE

This change should not impact most users.

Added

  • MessagePack serialization for traces sent to the Agent with a new function dd_trace_serialize_msgpack() #378

Changed

  • Request init hook module blacklist now avoids miss matching partial matches #372
  • Add 10MB cap to payloads sent to the Agent #388
  • Added an getTracesAsArray() method to DDTrace/Contracts/Tracer which returns an array of spans (which are also encoded as an array.) To encode an instance of DDTrace\Contracts\Span as an array, use DDTrace/Encoders/SpanEncoder::encode($span) #378
  • DDTrace/Transport::send() now takes an instance of DDTrace/Contracts/Tracer instead of an array #378
  • DDTrace/Encoder::encodeTraces() now takes an instance of DDTrace/Contracts/Tracer instead of an array #378
  • The default encoder is now DDTrace/Encoders/MessagePack. You can still use the JSON encoder by setting the environment variable DD_TRACE_ENCODER=json. It is generally not recommended to use the JSON encoder as parsing JSON payloads at the Agent level is more CPU & memory intensive.

0.17.0

27 Mar 14:43
69a0769
Compare
Choose a tag to compare

Added

  • Integration aware spans #360
  • Trace Analytics Client Configuration #367

0.16.1

21 Mar 14:13
049e34d
Compare
Choose a tag to compare

Fixed

  • Error traces don't appear in "Total Errors" panel #375

0.16.0

19 Mar 18:34
00b2eba
Compare
Choose a tag to compare

Changed

  • When shutdown hook is executed we disable all tracing to avoid creating unnecessary spans #361
  • Inside request init hook we disable all function tracing when we decide not to trace #361

Added

  • Disable request_init_hook functionality in presence of blacklisted modules via ddtrace.internal_blacklisted_modules_list=some_module,some_other_module #345 & #370
  • Integration-level configuration #354
  • dd_trace_disable_in_request function which disables all function tracing until request ends #361

Fixed

  • Symfony template rendering spans #359
  • Laravel integration user ID errors #363
  • Non-success HTTP response codes aren't properly categorized as errors in the APM UI #366

0.15.1

11 Mar 16:49
277c8d7
Compare
Choose a tag to compare

Added

  • Symfony 2.3 web tests for resource name #349
  • Update images and enable leak detection, split tests in CI to Unit, Integration and Web #299

Fixed

  • Resource name on Symfony 2.x requests served through controllers #341
  • Sanitize url in web spans #344
  • Laravel 5.8 compatibility #351

0.15.0

05 Mar 13:54
c6b20ee
Compare
Choose a tag to compare

Changed

  • Removed beta references and get ready for GA #339

0.14.2

04 Mar 11:09
9f9c700
Compare
Choose a tag to compare
0.14.2 Pre-release
Pre-release

Fixed

  • Ensure Function name is safely copied to avoid freeing persistent string #333