Adds SpanContext and Propagation interface.#5
Conversation
| use ArrayIterator; | ||
| use OpenTracing\SpanContext as OpenTracingSpanContext; | ||
|
|
||
| final class SpanContext implements OpenTracingSpanContext |
There was a problem hiding this comment.
this is fine as a first implementation, though our transport layer should not send span by span but the whole trace. I'm wondering if you plan to add a kind of private $trace array that includes all finishes spans. We did that for some other languages, but again we have flushing threads there, so probably you may have other options.
There was a problem hiding this comment.
So in another PR I will add changes in the tracer. It is the tracer the one holding all traces and deciding what traces send through the transport based on if the trace is finished or not. The span context here carries the information for one span.
Notice that in PHP if a trace is not finished by the moment the request finished we just lose them.
Want to address the comment first and see if a change is needed
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0xffff8dfed43b in malloc (/usr/lib/aarch64-linux-gnu/libasan.so.5+0xcf43b)
#1 0xffff81eb8f4f in __cxa_thread_atexit_impl /home/circleci/datadog/tmp/build_extension/ext/ddtrace.c:560
#2 0xffff82ed7c8b in std::sys::unix::thread_local_dtor::register_dtor::ha7abe21b2e8f0491 library/std/src/sys/unix/thread_local_dtor.rs:31
#3 0xffff81ec332b in _dd_writer_loop /home/circleci/datadog/tmp/build_extension/ext/coms.c:1053
#4 0xffff8db7a7e3 in start_thread /build/glibc-tVuo8E/glibc-2.28/nptl/pthread_create.c:486
#5 0xffff8b16a70b (/lib/aarch64-linux-gnu/libc.so.6+0xcf70b)
SUMMARY: AddressSanitizer: 24 byte(s) leaked in 1 allocation(s).
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0xffff8dfed43b in malloc (/usr/lib/aarch64-linux-gnu/libasan.so.5+0xcf43b)
#1 0xffff81eb8f4f in __cxa_thread_atexit_impl /home/circleci/datadog/tmp/build_extension/ext/ddtrace.c:560
#2 0xffff82ed7c8b in std::sys::unix::thread_local_dtor::register_dtor::ha7abe21b2e8f0491 library/std/src/sys/unix/thread_local_dtor.rs:31
#3 0xffff81ec332b in _dd_writer_loop /home/circleci/datadog/tmp/build_extension/ext/coms.c:1053
#4 0xffff8db7a7e3 in start_thread /build/glibc-tVuo8E/glibc-2.28/nptl/pthread_create.c:486
#5 0xffff8b16a70b (/lib/aarch64-linux-gnu/libc.so.6+0xcf70b)
SUMMARY: AddressSanitizer: 24 byte(s) leaked in 1 allocation(s).
…nd trace sender (#2672) * Make use of the sidecar thread safe * Collect trace_api.{requests,responses,errors} in the background trace sender * Fix test * Fix memory leak: Direct leak of 24 byte(s) in 1 object(s) allocated from: #0 0xffff8dfed43b in malloc (/usr/lib/aarch64-linux-gnu/libasan.so.5+0xcf43b) #1 0xffff81eb8f4f in __cxa_thread_atexit_impl /home/circleci/datadog/tmp/build_extension/ext/ddtrace.c:560 #2 0xffff82ed7c8b in std::sys::unix::thread_local_dtor::register_dtor::ha7abe21b2e8f0491 library/std/src/sys/unix/thread_local_dtor.rs:31 #3 0xffff81ec332b in _dd_writer_loop /home/circleci/datadog/tmp/build_extension/ext/coms.c:1053 #4 0xffff8db7a7e3 in start_thread /build/glibc-tVuo8E/glibc-2.28/nptl/pthread_create.c:486 #5 0xffff8b16a70b (/lib/aarch64-linux-gnu/libc.so.6+0xcf70b) SUMMARY: AddressSanitizer: 24 byte(s) leaked in 1 allocation(s). * Update libdatadog * Fix tests * Try running system tests with sidecar sender Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com> * Don't explicitly flush the bgs telemetry data * Improve test stability * Try to run system-tests from a fork * Fix telemetry tests * Shut up instrumentation telemetry in web tests * Fix flakiness Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com> * Better flaky test check Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com> --------- Signed-off-by: Bob Weinand <bob.weinand@datadoghq.com> Co-authored-by: Bob Weinand <bob.weinand@datadoghq.com>
Ping @palazzem