Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(tracing): do not raise exception if partial flush is triggered without any spans #9349

Merged
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
c1f25f2
chore(internal): log a warning if partial flushes has zero spans to send
romainkomorndatadog May 22, 2024
005a279
add test
romainkomorndatadog May 22, 2024
76271f6
relnote
romainkomorndatadog May 22, 2024
90d5346
force test to run with partial spans
romainkomorndatadog May 22, 2024
8bd0aaf
comment to force test failure
romainkomorndatadog May 22, 2024
e38af19
Update releasenotes/notes/fix-tracing-dont_raise_exception_on_empty_p…
romainkomorndatadog May 23, 2024
4c430ca
stash
romainkomorndatadog May 23, 2024
f2a9bc5
fix test
romainkomorndatadog May 23, 2024
c2d6fe0
Merge branch 'romain.komorn/AIT-10242/dont_crash_when_spans_list_empt…
romainkomorndatadog May 23, 2024
fbf212e
better log message
romainkomorndatadog May 23, 2024
ebb5ec0
test for missing trace, or missing span
romainkomorndatadog May 23, 2024
715ec1e
remove comment
romainkomorndatadog May 23, 2024
be16fb6
tiny tweaks
romainkomorndatadog May 23, 2024
3eddcce
move test and make ruff lint a little happier
romainkomorndatadog May 23, 2024
abc9e55
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog May 23, 2024
986e662
switch to reconfiguring span processor
romainkomorndatadog May 24, 2024
69a3e5a
update test
romainkomorndatadog May 24, 2024
5a5de55
Merge branch 'romain.komorn/AIT-10242/dont_crash_when_spans_list_empt…
romainkomorndatadog May 24, 2024
c992644
Revert "update test"
romainkomorndatadog May 24, 2024
13df4a9
Revert "switch to reconfiguring span processor"
romainkomorndatadog May 24, 2024
d2303af
revert back to just logging warnings
romainkomorndatadog May 24, 2024
f01664b
send one-span trace when a trace can't be found
romainkomorndatadog May 24, 2024
1554f4a
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog May 24, 2024
ce231a4
Apply suggestions from code review
brettlangdon May 24, 2024
6ec0335
update logic and test cases
brettlangdon May 24, 2024
a7c4a6b
Update tests/tracer/test_processors.py
brettlangdon May 24, 2024
94d3cd3
add additional partial flushing scenario
brettlangdon May 24, 2024
0871185
fix tests
brettlangdon May 24, 2024
677409c
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
brettlangdon May 24, 2024
13f14b6
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
brettlangdon May 24, 2024
b4e53b2
Apply suggestions from code review
brettlangdon May 28, 2024
93468d9
Apply suggestions from code review
brettlangdon May 29, 2024
afd47b6
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
brettlangdon May 29, 2024
3fd0f11
Ensure that lock is held, add tests
romainkomorndatadog Jun 11, 2024
0c021b9
Merge branch 'refs/heads/main' into romain.komorn/AIT-10242/dont_cras…
romainkomorndatadog Jun 11, 2024
94efd3b
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 11, 2024
ca31190
add utility method
romainkomorndatadog Jun 11, 2024
9021780
Merge branch 'romain.komorn/AIT-10242/dont_crash_when_spans_list_empt…
romainkomorndatadog Jun 11, 2024
4de8531
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
brettlangdon Jun 11, 2024
3c6c7d5
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 11, 2024
ae7bd63
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 11, 2024
8bce760
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 12, 2024
c909866
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 12, 2024
48051b0
Update ddtrace/_trace/processor/__init__.py
romainkomorndatadog Jun 12, 2024
43224b8
Update ddtrace/_trace/processor/__init__.py
romainkomorndatadog Jun 12, 2024
036db1f
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
emmettbutler Jun 12, 2024
4328b10
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
emmettbutler Jun 12, 2024
dbdde04
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
emmettbutler Jun 13, 2024
9f6ca75
Do not finish spans in os.fork child process
romainkomorndatadog Jun 14, 2024
24ba591
refactor test
romainkomorndatadog Jun 17, 2024
535d8c6
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 17, 2024
4f73a8a
comment out originally commented line
romainkomorndatadog Jun 17, 2024
0467e22
Merge branch 'romain.komorn/AIT-10242/dont_crash_when_spans_list_empt…
romainkomorndatadog Jun 17, 2024
d7434ef
revert os.fork instrumentation changes
romainkomorndatadog Jun 17, 2024
14c1cc4
revert changes to re-add trace on new traces found
romainkomorndatadog Jun 17, 2024
07649c9
return test to initial PR plan
romainkomorndatadog Jun 17, 2024
a5bb63b
remove duplicate test
romainkomorndatadog Jun 17, 2024
a86c5ad
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 17, 2024
5120910
switch logging levels to debug, telemetry to 'ERROR'
romainkomorndatadog Jun 17, 2024
1193055
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 17, 2024
a49062d
Merge branch 'main' into romain.komorn/AIT-10242/dont_crash_when_span…
romainkomorndatadog Jun 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions ddtrace/_trace/processor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,14 @@ def on_span_finish(self, span):

if should_partial_flush:
log.debug("Partially flushing %d spans for trace %d", num_finished, span.trace_id)
if not finished:
log_msg = "Partial flush triggered but no spans to flush (was tracer reconfigured?)"
romainkomorndatadog marked this conversation as resolved.
Show resolved Hide resolved
# Avoid potential crashes if, for some reason, we have no spans to flush even though
# should_partial_flush is True
if config._telemetry_enabled:
brettlangdon marked this conversation as resolved.
Show resolved Hide resolved
telemetry.telemetry_writer.add_log("WARNING", log_msg)
log.warning(log_msg)
return
brettlangdon marked this conversation as resolved.
Show resolved Hide resolved
finished[0].set_metric("_dd.py.partial_flush", num_finished)

trace.num_finished -= num_finished
Expand Down
Loading