Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[crashtracking] Allow runtimes to register runtime stack collection callbacks#1252

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
dd-mergequeue merged 11 commits intomainfromgyuheon0h/prof-12432-runtime-stacks
Nov 8, 2025

Conversation

@gyuheon0h
Copy link
Contributor

@gyuheon0hgyuheon0h commentedOct 1, 2025
edited
Loading

What does this PR do?

This PR allows runtimes to register a callback to extract runtime stack. They can choose either to emit frames frame by frame, or to dump a whole stacktrace string. The important contract is that the logic to retrieve the runtime stack is happening within a fork of the crashing process, from a signal handler, so it must be async-signal-safe.

Currently, we add runtime stacks as a newruntime_stacks field in theExperimental field. If runtimes choose to emit frames one by one usingddog_RuntimeStackFrame, theruntime_stacks field will be nicely propagated. If they choose to dump the whole traceback string, additional parsing will have to be implemented in theReceiver side appropriate for each different runtime's style/syntax of tracebacks.

Motivation

Current crash tracking captures only native stack traces, which are insufficient for applications using interpreted languages. When a Python/Ruby/PHP application crashes, developers need visibility into both:

  1. The native call stack (C/C++ level)
  2. The runtime call stack (Python/Ruby/PHP script level)

Without runtime stack traces, debugging crashes in interpreted languages is hard as the native stack only shows interpreter internals and native extension modules, not the actual application code execution path.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Unit tests.

There is a very dummy implementation ofdd-trace-py consuming this API in this experimental PR:DataDog/dd-trace-py#14765

By triggering a crash with the tracer and agent attached, we can see outputtedExperimental fields:

  1. Frame by Frame
{  "ucontext": "ucontext_t { uc_flags: 7, uc_link: 0x0, uc_stack: stack_t { ss_sp: 0x743deadc0000, ss_flags: 0, ss_size: 65536 }, uc_mcontext: mcontext_t { gregs: [0, 127809331044922, 0, 127809325475264, 140726899625856, 140726899626064, 1, 0, 0, -1, 0, 4294967295, 127809325530248, 0, 140726899625160, 140726899625368, 127809330854360, 66179, 12103423998558259, 4, 14, 0, 0], fpregs: 0x743deadcf540, __private: [0, 0, 0, 0, 0, 0, 0, 0] }, uc_sigmask: sigset_t { __val: [0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, __private: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 31, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 116, 0, 111, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 114, 0, 0, 0, 0, 0, 99, 0, 111, 0, 0, 0, 0, 0, 105, 0, 101, 0, 111, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 99, 0, 0, 0, 104, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 111, 0, 0, 0, 114, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 128, 199, 48, 49, 93, 136, 85, 59, 0, 0, 0, 0, 0, 0, 0, 0, 100, 171, 99, 130, 7, 91, 229, 191, 0, 0, 0, 0, 0, 0, 0, 0, 27, 99, 108, 213, 49, 161, 233, 63, 0, 0, 0, 0, 0, 0, 0, 0, 233, 69, 72, 155, 91, 73, 242, 191, 0, 0, 0, 0, 0, 0, 0, 0, 52, 121, 227, 150, 79, 248, 140, 67, 143, 13, 128, 21, 35, 58, 40, 13, 211, 19, 203, 193, 101, 194, 7, 72, 227, 201, 177, 122, 54, 74, 46, 67, 23, 38, 50, 64, 173, 107, 173, 144, 4, 8, 252, 226, 102, 193, 248, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 88, 80, 70, 140, 10, 0, 0, 255, 2, 0, 0, 0, 0, 0, 0, 136, 10, 0, 0, 0, 0, 0, 0] }",  "runtime_stack": {    "format": "Datadog Runtime Callback 1.0",    "frames": [      {        "function": "string_at",        "file": "/home/bits/.pyenv/versions/3.11.13/lib/python3.11/ctypes/__init__.py",        "line": 519      },      {        "function": "func16",        "file": "tests/internal/crashtracker/test_crashtracker.py",        "line": 724      },     ........      {        "function": "func2",        "file": "tests/internal/crashtracker/test_crashtracker.py",        "line": 682      },      {        "function": "func1",        "file": "tests/internal/crashtracker/test_crashtracker.py",        "line": 679      },      {        "function": "<module>",        "file": "tests/internal/crashtracker/test_crashtracker.py",        "line": 734      }    ],    "runtime_type": "python"  }}
  1. Whole traceback string
{  "ucontext": "ucontext_t { uc_flags: 7, uc_link: 0x0, uc_stack: stack_t { ss_sp: 0x7c4c9c841000, ss_flags: 0, ss_size: 65536 }, uc_mcontext: mcontext_t { gregs: [0, 136668534166074, 0, 136668528596416, 140724573444400, 140724573444608, 1, 0, 0, -1, 0, 4294967295, 136668528651400, 0, 140724573443704, 140724573443912, 136668533975512, 66179, 12103423998558259, 4, 14, 0, 0], fpregs: 0x7c4c9c850540, __private: [0, 0, 0, 0, 0, 0, 0, 0] }, uc_sigmask: sigset_t { __val: [0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, __private: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 31, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 116, 0, 111, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 114, 0, 0, 0, 0, 0, 99, 0, 111, 0, 0, 0, 0, 0, 105, 0, 101, 0, 111, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 99, 0, 0, 0, 104, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 111, 0, 0, 0, 114, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 128, 199, 48, 49, 93, 136, 85, 59, 0, 0, 0, 0, 0, 0, 0, 0, 100, 171, 99, 130, 7, 91, 229, 191, 0, 0, 0, 0, 0, 0, 0, 0, 27, 99, 108, 213, 49, 161, 233, 63, 0, 0, 0, 0, 0, 0, 0, 0, 233, 69, 72, 155, 91, 73, 242, 191, 0, 0, 0, 0, 0, 0, 0, 0, 255, 52, 127, 42, 141, 178, 13, 152, 156, 26, 175, 206, 42, 181, 80, 159, 182, 24, 207, 207, 28, 16, 244, 61, 0, 111, 67, 149, 212, 73, 16, 112, 165, 200, 182, 175, 115, 89, 172, 247, 213, 71, 73, 142, 243, 74, 61, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 88, 80, 70, 140, 10, 0, 0, 255, 2, 0, 0, 0, 0, 0, 0, 136, 10, 0, 0, 0, 0, 0, 0] }",  "runtime_stack": {    "format": "Datadog Runtime Callback 1.0",    "stacktrace_string": "Current thread 0x00007c4c9f46db80 (most recent call first):\n  File \"/home/bits/.pyenv/versions/3.11.13/lib/python3.11/ctypes/__init__.py\", line 519 in string_at\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 724 in func16\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 721 in func15\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 718 in func14\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 715 in func13\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 712 in func12\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 709 in func11\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 706 in func10\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 703 in func9\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 700 in func8\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 697 in func7\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 694 in func6\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 691 in func5\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 688 in func4\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 685 in func3\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 682 in func2\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 679 in func1\n  File \"tests/internal/crashtracker/test_crashtracker.py\", line 734 in <module>",    "runtime_type": "python"  }}

@datadog-official
Copy link

datadog-officialbot commentedOct 1, 2025
edited by datadog-datadog-prod-us1bot
Loading

✅ Tests

🎉 All green!

❄️ No newflaky tests detected
🧪 Alltests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA:d5e54ae |Docs |Datadog PR Page | Was this helpful? Give usfeedback!

@pr-commenter
Copy link

pr-commenterbot commentedOct 1, 2025
edited
Loading

Benchmarks

Comparison

Benchmark execution time: 2025-11-08 04:33:32

Comparing candidate commitd5e54ae in PR branchgyuheon0h/prof-12432-runtime-stacks with baseline commit244a5c7 in branchmain.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 2 unstable metrics.

Candidate

Candidate benchmark details

Group 1

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
normalization/normalize_trace/test_traceexecution_time243.505ns252.469ns ± 13.234ns246.062ns ± 1.706ns252.650ns285.851ns289.908ns293.326ns19.21%1.7901.8645.23%0.936ns1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
normalization/normalize_trace/test_traceexecution_time[250.635ns; 254.304ns] or [-0.726%; +0.726%]NoneNoneNone

Group 2

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
two way interfaceexecution_time17.997µs26.641µs ± 9.545µs19.326µs ± 0.998µs34.846µs43.112µs50.417µs57.870µs199.44%0.749-0.63835.74%0.675µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
two way interfaceexecution_time[25.318µs; 27.964µs] or [-4.965%; +4.965%]NoneNoneNone

Group 3

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...execution_time534.385µs536.006µs ± 1.221µs535.675µs ± 0.560µs536.408µs538.093µs539.817µs544.281µs1.61%2.57411.2720.23%0.086µs1200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...throughput1837286.255op/s1865660.091op/s ± 4226.436op/s1866803.156op/s ± 1951.880op/s1868413.260op/s1869794.886op/s1870386.878op/s1871308.363op/s0.24%-2.52910.8810.23%298.854op/s1200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰ててexecution_time380.299µs380.991µs ± 0.339µs381.006µs ± 0.237µs381.219µs381.536µs381.784µs381.845µs0.22%0.123-0.4620.09%0.024µs1200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰ててthroughput2618864.271op/s2624739.301op/s ± 2335.860op/s2624632.380op/s ± 1632.887op/s2626560.760op/s2628387.216op/s2629122.854op/s2629507.834op/s0.19%-0.119-0.4650.09%165.170op/s1200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Charactersexecution_time189.651µs190.041µs ± 0.211µs190.009µs ± 0.132µs190.154µs190.438µs190.602µs190.733µs0.38%0.8500.7020.11%0.015µs1200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Charactersthroughput5242933.332op/s5262020.663op/s ± 5829.655op/s5262922.093op/s ± 3669.730op/s5266271.996op/s5269888.203op/s5271677.825op/s5272843.988op/s0.19%-0.8430.6870.11%412.219op/s1200
normalization/normalize_service/normalize_service/[empty string]execution_time37.635µs37.824µs ± 0.064µs37.831µs ± 0.039µs37.866µs37.916µs37.946µs37.970µs0.37%-0.392-0.1070.17%0.004µs1200
normalization/normalize_service/normalize_service/[empty string]throughput26336486.553op/s26438477.218op/s ± 44431.301op/s26433624.901op/s ± 27343.034op/s26464973.116op/s26521294.405op/s26538334.468op/s26571111.887op/s0.52%0.401-0.0990.17%3141.767op/s1200
normalization/normalize_service/normalize_service/test_ASCIIexecution_time45.819µs45.910µs ± 0.120µs45.901µs ± 0.025µs45.923µs45.992µs46.019µs47.487µs3.46%11.448147.8860.26%0.008µs1200
normalization/normalize_service/normalize_service/test_ASCIIthroughput21058256.966op/s21781712.959op/s ± 55273.190op/s21786128.482op/s ± 11767.235op/s21798862.743op/s21815220.769op/s21821915.720op/s21824816.562op/s0.18%-11.300145.2810.25%3908.405op/s1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...execution_time[535.837µs; 536.175µs] or [-0.032%; +0.032%]NoneNoneNone
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...throughput[1865074.347op/s; 1866245.834op/s] or [-0.031%; +0.031%]NoneNoneNone
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰ててexecution_time[380.944µs; 381.038µs] or [-0.012%; +0.012%]NoneNoneNone
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰ててthroughput[2624415.573op/s; 2625063.028op/s] or [-0.012%; +0.012%]NoneNoneNone
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Charactersexecution_time[190.012µs; 190.071µs] or [-0.015%; +0.015%]NoneNoneNone
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Charactersthroughput[5261212.728op/s; 5262828.597op/s] or [-0.015%; +0.015%]NoneNoneNone
normalization/normalize_service/normalize_service/[empty string]execution_time[37.815µs; 37.833µs] or [-0.023%; +0.023%]NoneNoneNone
normalization/normalize_service/normalize_service/[empty string]throughput[26432319.467op/s; 26444634.969op/s] or [-0.023%; +0.023%]NoneNoneNone
normalization/normalize_service/normalize_service/test_ASCIIexecution_time[45.894µs; 45.927µs] or [-0.036%; +0.036%]NoneNoneNone
normalization/normalize_service/normalize_service/test_ASCIIthroughput[21774052.626op/s; 21789373.291op/s] or [-0.035%; +0.035%]NoneNoneNone

Group 4

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
write only interfaceexecution_time1.188µs3.238µs ± 1.446µs3.012µs ± 0.032µs3.051µs3.672µs14.242µs14.924µs395.45%7.28154.40744.54%0.102µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
write only interfaceexecution_time[3.038µs; 3.439µs] or [-6.188%; +6.188%]NoneNoneNone

Group 5

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...execution_time205.015µs205.625µs ± 0.379µs205.544µs ± 0.209µs205.830µs206.387µs206.882µs207.086µs0.75%1.1401.5380.18%0.027µs1200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...throughput4828917.332op/s4863244.396op/s ± 8949.164op/s4865144.122op/s ± 4955.192op/s4869430.659op/s4874981.978op/s4876605.268op/s4877701.522op/s0.26%-1.1271.4970.18%632.801op/s1200
normalization/normalize_name/normalize_name/bad-nameexecution_time18.678µs18.899µs ± 0.110µs18.887µs ± 0.074µs18.964µs19.099µs19.175µs19.440µs2.93%0.9542.3710.58%0.008µs1200
normalization/normalize_name/normalize_name/bad-namethroughput51439723.760op/s52914965.700op/s ± 306972.480op/s52947195.771op/s ± 206557.382op/s53136782.399op/s53331736.467op/s53493764.881op/s53539335.758op/s1.12%-0.8952.1210.58%21706.232op/s1200
normalization/normalize_name/normalize_name/goodexecution_time10.786µs10.860µs ± 0.032µs10.853µs ± 0.018µs10.874µs10.920µs10.970µs10.988µs1.24%1.0742.0480.30%0.002µs1200
normalization/normalize_name/normalize_name/goodthroughput91008878.576op/s92083528.852op/s ± 273170.027op/s92136404.179op/s ± 148869.514op/s92254268.257op/s92451706.356op/s92620979.864op/s92716975.417op/s0.63%-1.0491.9680.30%19316.038op/s1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...execution_time[205.572µs; 205.677µs] or [-0.026%; +0.026%]NoneNoneNone
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...throughput[4862004.128op/s; 4864484.664op/s] or [-0.026%; +0.026%]NoneNoneNone
normalization/normalize_name/normalize_name/bad-nameexecution_time[18.884µs; 18.914µs] or [-0.081%; +0.081%]NoneNoneNone
normalization/normalize_name/normalize_name/bad-namethroughput[52872422.267op/s; 52957509.133op/s] or [-0.080%; +0.080%]NoneNoneNone
normalization/normalize_name/normalize_name/goodexecution_time[10.855µs; 10.864µs] or [-0.041%; +0.041%]NoneNoneNone
normalization/normalize_name/normalize_name/goodthroughput[92045670.114op/s; 92121387.591op/s] or [-0.041%; +0.041%]NoneNoneNone

Group 6

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
single_flag_killswitch/rules-basedexecution_time171.560ns175.407ns ± 3.392ns174.890ns ± 1.986ns176.626ns181.712ns187.612ns192.063ns9.82%1.5613.7971.93%0.240ns1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
single_flag_killswitch/rules-basedexecution_time[174.937ns; 175.877ns] or [-0.268%; +0.268%]NoneNoneNone

Group 7

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
concentrator/add_spans_to_concentratorexecution_time10.700ms10.731ms ± 0.014ms10.729ms ± 0.008ms10.740ms10.753ms10.777ms10.781ms0.48%0.8471.1960.13%0.001ms1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
concentrator/add_spans_to_concentratorexecution_time[10.729ms; 10.733ms] or [-0.018%; +0.018%]NoneNoneNone

Group 8

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
ip_address/quantize_peer_ip_address_benchmarkexecution_time4.935µs5.022µs ± 0.051µs5.027µs ± 0.056µs5.057µs5.095µs5.102µs5.105µs1.55%0.001-1.3711.01%0.004µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
ip_address/quantize_peer_ip_address_benchmarkexecution_time[5.015µs; 5.029µs] or [-0.140%; +0.140%]NoneNoneNone

Group 9

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
credit_card/is_card_number/execution_time3.895µs3.914µs ± 0.004µs3.913µs ± 0.002µs3.916µs3.919µs3.921µs3.935µs0.54%0.3935.9660.10%0.000µs1200
credit_card/is_card_number/throughput254148911.376op/s255503177.137op/s ± 246427.404op/s255531721.933op/s ± 157910.075op/s255667349.171op/s255821689.960op/s255884940.174op/s256733504.094op/s0.47%-0.3705.9390.10%17425.049op/s1200
credit_card/is_card_number/ 3782-8224-6310-005execution_time78.642µs81.906µs ± 1.421µs81.836µs ± 0.909µs82.744µs84.454µs85.180µs85.635µs4.64%0.269-0.1481.73%0.100µs1200
credit_card/is_card_number/ 3782-8224-6310-005throughput11677533.735op/s12212696.477op/s ± 211083.832op/s12219504.044op/s ± 134287.930op/s12356460.852op/s12537496.702op/s12679300.542op/s12715796.369op/s4.06%-0.176-0.1781.72%14925.881op/s1200
credit_card/is_card_number/ 378282246310005execution_time71.415µs72.145µs ± 0.835µs71.659µs ± 0.169µs72.632µs74.207µs74.322µs74.328µs3.73%1.2750.4541.15%0.059µs1200
credit_card/is_card_number/ 378282246310005throughput13453794.154op/s13862761.053op/s ± 158186.617op/s13955004.365op/s ± 32932.902op/s13978058.723op/s13989459.446op/s13997735.302op/s14002647.810op/s0.34%-1.2470.3641.14%11185.483op/s1200
credit_card/is_card_number/37828224631execution_time3.891µs3.913µs ± 0.003µs3.912µs ± 0.002µs3.915µs3.918µs3.920µs3.924µs0.29%-0.7818.2280.08%0.000µs1200
credit_card/is_card_number/37828224631throughput254860623.844op/s255572640.143op/s ± 216989.825op/s255591399.354op/s ± 134213.068op/s255721902.640op/s255819859.269op/s255884505.443op/s256994710.293op/s0.55%0.8068.3860.08%15343.498op/s1200
credit_card/is_card_number/378282246310005execution_time68.288µs68.992µs ± 0.733µs68.673µs ± 0.283µs69.243µs70.757µs71.165µs71.316µs3.85%1.4961.4231.06%0.052µs1200
credit_card/is_card_number/378282246310005throughput14022089.336op/s14495951.215op/s ± 151682.690op/s14561826.676op/s ± 60342.276op/s14602349.694op/s14634306.937op/s14641516.393op/s14643967.776op/s0.56%-1.4591.2971.04%10725.586op/s1200
credit_card/is_card_number/37828224631000521389798execution_time45.383µs45.661µs ± 0.150µs45.646µs ± 0.081µs45.739µs45.853µs46.017µs46.648µs2.19%2.85016.8220.33%0.011µs1200
credit_card/is_card_number/37828224631000521389798throughput21437278.488op/s21900838.346op/s ± 71176.544op/s21907563.586op/s ± 38831.488op/s21943718.470op/s21993724.171op/s22018317.171op/s22034904.295op/s0.58%-2.74715.9860.32%5032.942op/s1200
credit_card/is_card_number/x371413321323331execution_time6.429µs6.436µs ± 0.003µs6.435µs ± 0.002µs6.438µs6.442µs6.445µs6.448µs0.19%0.5230.6580.05%0.000µs1200
credit_card/is_card_number/x371413321323331throughput155097327.565op/s155384712.768op/s ± 83419.855op/s155389208.221op/s ± 50513.514op/s155441125.844op/s155513236.970op/s155549635.328op/s155553406.770op/s0.11%-0.5190.6510.05%5898.675op/s1200
credit_card/is_card_number_no_luhn/execution_time3.895µs3.913µs ± 0.003µs3.913µs ± 0.002µs3.915µs3.917µs3.919µs3.921µs0.21%-0.9066.6960.07%0.000µs1200
credit_card/is_card_number_no_luhn/throughput255024618.303op/s255567643.792op/s ± 187660.510op/s255572482.111op/s ± 129434.119op/s255703100.406op/s255816268.500op/s255878451.737op/s256750443.088op/s0.46%0.9246.8070.07%13269.602op/s1200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005execution_time61.428µs62.642µs ± 0.511µs62.614µs ± 0.349µs62.981µs63.492µs63.867µs64.167µs2.48%0.334-0.3080.81%0.036µs1200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005throughput15584327.037op/s15964906.332op/s ± 129990.549op/s15970867.541op/s ± 88961.628op/s16053932.439op/s16157868.804op/s16215352.276op/s16279246.047op/s1.93%-0.296-0.3450.81%9191.720op/s1200
credit_card/is_card_number_no_luhn/ 378282246310005execution_time54.077µs54.239µs ± 0.076µs54.236µs ± 0.049µs54.291µs54.370µs54.431µs54.499µs0.48%0.4340.1950.14%0.005µs1200
credit_card/is_card_number_no_luhn/ 378282246310005throughput18349069.727op/s18436955.046op/s ± 25972.834op/s18437911.256op/s ± 16567.629op/s18453609.012op/s18477575.061op/s18490954.004op/s18492042.874op/s0.29%-0.4260.1830.14%1836.557op/s1200
credit_card/is_card_number_no_luhn/37828224631execution_time3.895µs3.913µs ± 0.003µs3.913µs ± 0.002µs3.915µs3.918µs3.922µs3.931µs0.47%0.5148.1660.08%0.000µs1200
credit_card/is_card_number_no_luhn/37828224631throughput254383968.316op/s255565029.278op/s ± 215765.188op/s255590798.732op/s ± 120601.941op/s255700304.841op/s255818064.442op/s255906403.156op/s256746656.241op/s0.45%-0.4898.1700.08%15256.903op/s1200
credit_card/is_card_number_no_luhn/378282246310005execution_time50.295µs50.538µs ± 0.120µs50.531µs ± 0.065µs50.591µs50.759µs50.889µs51.057µs1.04%1.0942.5230.24%0.008µs1200
credit_card/is_card_number_no_luhn/378282246310005throughput19585964.579op/s19787126.313op/s ± 46891.310op/s19789642.123op/s ± 25488.712op/s19816036.624op/s19850790.311op/s19873737.323op/s19882714.079op/s0.47%-1.0702.4450.24%3315.716op/s1200
credit_card/is_card_number_no_luhn/37828224631000521389798execution_time45.388µs45.689µs ± 0.134µs45.692µs ± 0.096µs45.786µs45.896µs45.934µs45.952µs0.57%-0.246-0.6930.29%0.009µs1200
credit_card/is_card_number_no_luhn/37828224631000521389798throughput21761998.463op/s21887522.794op/s ± 64311.094op/s21885783.000op/s ± 45896.435op/s21932278.282op/s22000678.432op/s22022409.627op/s22032408.163op/s0.67%0.257-0.6880.29%4547.481op/s1200
credit_card/is_card_number_no_luhn/x371413321323331execution_time6.429µs6.436µs ± 0.005µs6.436µs ± 0.003µs6.439µs6.446µs6.448µs6.454µs0.29%0.9740.7870.07%0.000µs1200
credit_card/is_card_number_no_luhn/x371413321323331throughput154939581.539op/s155369955.720op/s ± 114564.051op/s155387405.854op/s ± 71757.780op/s155456893.338op/s155515490.472op/s155531898.517op/s155542461.340op/s0.10%-0.9700.7750.07%8100.902op/s1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
credit_card/is_card_number/execution_time[3.913µs; 3.914µs] or [-0.013%; +0.013%]NoneNoneNone
credit_card/is_card_number/throughput[255469024.668op/s; 255537329.605op/s] or [-0.013%; +0.013%]NoneNoneNone
credit_card/is_card_number/ 3782-8224-6310-005execution_time[81.709µs; 82.103µs] or [-0.240%; +0.240%]NoneNoneNone
credit_card/is_card_number/ 3782-8224-6310-005throughput[12183442.288op/s; 12241950.666op/s] or [-0.240%; +0.240%]NoneNoneNone
credit_card/is_card_number/ 378282246310005execution_time[72.029µs; 72.261µs] or [-0.160%; +0.160%]NoneNoneNone
credit_card/is_card_number/ 378282246310005throughput[13840837.909op/s; 13884684.197op/s] or [-0.158%; +0.158%]NoneNoneNone
credit_card/is_card_number/37828224631execution_time[3.912µs; 3.913µs] or [-0.012%; +0.012%]NoneNoneNone
credit_card/is_card_number/37828224631throughput[255542567.440op/s; 255602712.846op/s] or [-0.012%; +0.012%]NoneNoneNone
credit_card/is_card_number/378282246310005execution_time[68.891µs; 69.094µs] or [-0.147%; +0.147%]NoneNoneNone
credit_card/is_card_number/378282246310005throughput[14474929.453op/s; 14516972.977op/s] or [-0.145%; +0.145%]NoneNoneNone
credit_card/is_card_number/37828224631000521389798execution_time[45.640µs; 45.682µs] or [-0.045%; +0.045%]NoneNoneNone
credit_card/is_card_number/37828224631000521389798throughput[21890973.961op/s; 21910702.730op/s] or [-0.045%; +0.045%]NoneNoneNone
credit_card/is_card_number/x371413321323331execution_time[6.435µs; 6.436µs] or [-0.007%; +0.007%]NoneNoneNone
credit_card/is_card_number/x371413321323331throughput[155373151.578op/s; 155396273.958op/s] or [-0.007%; +0.007%]NoneNoneNone
credit_card/is_card_number_no_luhn/execution_time[3.912µs; 3.913µs] or [-0.010%; +0.010%]NoneNoneNone
credit_card/is_card_number_no_luhn/throughput[255541635.850op/s; 255593651.734op/s] or [-0.010%; +0.010%]NoneNoneNone
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005execution_time[62.571µs; 62.712µs] or [-0.113%; +0.113%]NoneNoneNone
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005throughput[15946890.893op/s; 15982921.772op/s] or [-0.113%; +0.113%]NoneNoneNone
credit_card/is_card_number_no_luhn/ 378282246310005execution_time[54.228µs; 54.250µs] or [-0.020%; +0.020%]NoneNoneNone
credit_card/is_card_number_no_luhn/ 378282246310005throughput[18433355.460op/s; 18440554.631op/s] or [-0.020%; +0.020%]NoneNoneNone
credit_card/is_card_number_no_luhn/37828224631execution_time[3.912µs; 3.913µs] or [-0.012%; +0.012%]NoneNoneNone
credit_card/is_card_number_no_luhn/37828224631throughput[255535126.298op/s; 255594932.258op/s] or [-0.012%; +0.012%]NoneNoneNone
credit_card/is_card_number_no_luhn/378282246310005execution_time[50.522µs; 50.555µs] or [-0.033%; +0.033%]NoneNoneNone
credit_card/is_card_number_no_luhn/378282246310005throughput[19780627.628op/s; 19793624.998op/s] or [-0.033%; +0.033%]NoneNoneNone
credit_card/is_card_number_no_luhn/37828224631000521389798execution_time[45.670µs; 45.707µs] or [-0.041%; +0.041%]NoneNoneNone
credit_card/is_card_number_no_luhn/37828224631000521389798throughput[21878609.894op/s; 21896435.693op/s] or [-0.041%; +0.041%]NoneNoneNone
credit_card/is_card_number_no_luhn/x371413321323331execution_time[6.436µs; 6.437µs] or [-0.010%; +0.010%]NoneNoneNone
credit_card/is_card_number_no_luhn/x371413321323331throughput[155354078.244op/s; 155385833.195op/s] or [-0.010%; +0.010%]NoneNoneNone

Group 10

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
redis/obfuscate_redis_stringexecution_time33.736µs34.385µs ± 1.199µs33.839µs ± 0.044µs33.905µs36.896µs36.938µs39.372µs16.35%1.8201.7603.48%0.085µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
redis/obfuscate_redis_stringexecution_time[34.219µs; 34.551µs] or [-0.483%; +0.483%]NoneNoneNone

Group 11

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
sql/obfuscate_sql_stringexecution_time85.623µs85.867µs ± 0.246µs85.838µs ± 0.044µs85.897µs86.013µs86.097µs89.131µs3.84%11.759153.3220.29%0.017µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
sql/obfuscate_sql_stringexecution_time[85.833µs; 85.901µs] or [-0.040%; +0.040%]NoneNoneNone

Group 12

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
sdk_test_data/rules-basedexecution_time121.564µs123.544µs ± 1.425µs123.276µs ± 0.519µs123.939µs125.265µs128.347µs136.686µs10.88%4.95338.2581.15%0.101µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
sdk_test_data/rules-basedexecution_time[123.346µs; 123.741µs] or [-0.160%; +0.160%]NoneNoneNone

Group 13

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
receiver_entry_point/report/2597execution_time6.131ms6.389ms ± 0.069ms6.400ms ± 0.018ms6.414ms6.455ms6.587ms6.693ms4.59%-0.8105.0681.07%0.005ms1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
receiver_entry_point/report/2597execution_time[6.380ms; 6.399ms] or [-0.149%; +0.149%]NoneNoneNone

Group 14

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
benching string interning on wordpress profileexecution_time158.902µs160.057µs ± 0.334µs160.011µs ± 0.126µs160.152µs160.492µs160.772µs162.629µs1.64%3.64125.6180.21%0.024µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
benching string interning on wordpress profileexecution_time[160.011µs; 160.103µs] or [-0.029%; +0.029%]NoneNoneNone

Group 15

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
benching deserializing traces from msgpack to their internal representationexecution_time60.890ms61.342ms ± 2.190ms61.021ms ± 0.059ms61.125ms61.423ms67.850ms83.460ms36.77%8.99682.8923.56%0.155ms1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
benching deserializing traces from msgpack to their internal representationexecution_time[61.039ms; 61.646ms] or [-0.495%; +0.495%]NoneNoneNone

Group 16

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
tags/replace_trace_tagsexecution_time2.308µs2.379µs ± 0.018µs2.382µs ± 0.007µs2.388µs2.402µs2.412µs2.413µs1.30%-1.9044.9330.76%0.001µs1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
tags/replace_trace_tagsexecution_time[2.377µs; 2.382µs] or [-0.106%; +0.106%]NoneNoneNone

Group 17

cpu_modelgit_commit_shagit_commit_dategit_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzd5e54ae1762575574gyuheon0h/prof-12432-runtime-stacks
scenariometricminmean ± sdmedian ± madp75p95p99maxpeak_to_median_ratioskewnesskurtosiscvsemrunssample_size
benching serializing traces from their internal representation to msgpackexecution_time14.106ms14.158ms ± 0.032ms14.151ms ± 0.011ms14.161ms14.212ms14.278ms14.331ms1.27%2.99110.6460.23%0.002ms1200
scenariometric95% CI meanShapiro-Wilk pvalueLjung-Box pvalue (lag=1)Dip test pvalue
benching serializing traces from their internal representation to msgpackexecution_time[14.153ms; 14.162ms] or [-0.032%; +0.032%]NoneNoneNone

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commentedOct 1, 2025
edited
Loading

Codecov Report

❌ Patch coverage is56.70103% with336 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.39%. Comparing base (244a5c7) to head (d5e54ae).

Additional details and impacted files
@@            Coverage Diff             @@##             main    #1252      +/-   ##==========================================- Coverage   71.59%   71.39%   -0.20%==========================================  Files         370      375       +5       Lines       58699    59469     +770     ==========================================+ Hits        42025    42460     +435- Misses      16674    17009     +335
ComponentsCoverage Δ
datadog-crashtracker54.45% <70.72%> (+1.86%)⬆️
datadog-crashtracker-ffi18.37% <90.40%> (+12.43%)⬆️
datadog-alloc∅ <ø> (∅)
data-pipeline∅ <ø> (∅)
data-pipeline-ffi∅ <ø> (∅)
ddcommon∅ <ø> (∅)
ddcommon-ffi∅ <ø> (∅)
ddtelemetry∅ <ø> (∅)
ddtelemetry-ffi∅ <ø> (∅)
dogstatsd-client∅ <ø> (∅)
datadog-ipc82.59% <ø> (ø)
datadog-profiling75.93% <ø> (ø)
datadog-profiling-ffi62.16% <ø> (ø)
datadog-sidecar36.72% <ø> (ø)
datdog-sidecar-ffi11.53% <ø> (ø)
spawn-worker55.18% <ø> (ø)
tinybytes∅ <ø> (∅)
datadog-trace-normalization∅ <ø> (∅)
datadog-trace-obfuscation94.17% <ø> (ø)
datadog-trace-protobuf∅ <ø> (∅)
datadog-trace-utils∅ <ø> (∅)
datadog-tracer-flare63.48% <ø> (ø)
datadog-log∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-stsbot commentedOct 1, 2025
edited
Loading

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
ArtifactBaselineCommitChange
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a82.93 MB83.06 MB+.14% (+126.46 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so7.50 MB7.57 MB+.83% (+64.00 KB) 🔍
aarch64-unknown-linux-gnu
ArtifactBaselineCommitChange
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so9.55 MB9.55 MB+.06% (+6.15 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a96.06 MB96.24 MB+.18% (+182.75 KB) 🔍
libdatadog-x64-windows
ArtifactBaselineCommitChange
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll18.93 MB18.94 MB+.03% (+7.00 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib52.37 KB52.37 KB0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb131.53 MB131.58 MB+.03% (+48.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib693.23 MB693.77 MB+.07% (+543.77 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll6.25 MB6.26 MB+.03% (+2.50 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib52.37 KB52.37 KB0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb18.91 MB18.92 MB+.04% (+8.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib36.54 MB36.55 MB+.03% (+13.63 KB) 🔍
libdatadog-x86-windows
ArtifactBaselineCommitChange
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll16.02 MB16.03 MB+.03% (+6.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib53.19 KB53.19 KB0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb133.73 MB133.76 MB+.02% (+40.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib681.16 MB681.69 MB+.07% (+547.79 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll4.80 MB4.80 MB+.04% (+2.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib53.19 KB53.19 KB0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb20.05 MB20.06 MB+.03% (+8.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib34.31 MB34.32 MB+.03% (+12.89 KB) 🔍
x86_64-alpine-linux-musl
ArtifactBaselineCommitChange
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a71.88 MB72.00 MB+.15% (+116.98 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so8.91 MB8.92 MB+.13% (+12.00 KB) 🔍
x86_64-unknown-linux-gnu
ArtifactBaselineCommitChange
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a90.84 MB90.99 MB+.16% (+155.75 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so10.25 MB10.28 MB+.23% (+24.33 KB) 🔍

@gyuheon0hgyuheon0h changed the title[crashtracking] Allow runtimes to register runtime collection callbacks[crashtracking] Allow runtimes to register runtime stack collection callbacksOct 1, 2025
@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch fromaa11ce8 to3ee9ed8CompareOctober 2, 2025 17:13
@gyuheon0hgyuheon0h marked this pull request as ready for reviewOctober 2, 2025 18:30
@gyuheon0hgyuheon0h requested a review froma team as acode ownerOctober 2, 2025 18:30
@gyuheon0hgyuheon0h marked this pull request as draftOctober 3, 2025 14:46
@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch 3 times, most recently from2846753 to5fad559CompareOctober 3, 2025 16:57
@gyuheon0hgyuheon0h marked this pull request as ready for reviewOctober 6, 2025 20:10
@gyuheon0hgyuheon0h requested a review froma team as acode ownerOctober 6, 2025 20:10
@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch from9f05ba9 tobc09cd5CompareOctober 24, 2025 13:57
@gyuheon0hGraphite App
Copy link
ContributorAuthor

gyuheon0h commentedOct 24, 2025
edited
Loading

This stack of pull requests is managed byGraphite. Learn more aboutstacking.

@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch 6 times, most recently from8a36ebb tod86a9c3CompareOctober 28, 2025 14:26
@gyuheon0hgyuheon0h requested a review froma team as acode ownerOctober 28, 2025 20:59
@gyuheon0h
Copy link
ContributorAuthor

TODO: Fix Frame emitting allocation issue

@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch 2 times, most recently fromc476d2a tof078323CompareOctober 29, 2025 18:59
@gyuheon0h
Copy link
ContributorAuthor

@codex review

@chatgpt-codex-connector
Copy link

To use Codex here,create a Codex account and connect to github.

@gyuheon0h
Copy link
ContributorAuthor

@codex review

@gyuheon0h
Copy link
ContributorAuthor

@codex

chatgpt-codex-connector[bot] reacted with eyes emoji

@chatgpt-codex-connector
Copy link

Summary

  • Blocking:get_registered_callback usesptr::read to move theCallbackData out of the heap allocation that remains stored inRUNTIME_CALLBACK, and laterclear_runtime_callback drops that now-uninitialized allocation viaBox::from_raw, which is undefined behavior. Please clone/copy the callback instead of moving it out (e.g., makeCallbackDataCopy/Clone or otherwise avoid leaving uninitialized memory behind).datadog-crashtracker/src/runtime_callback.rsL152-L204

Testing

  • ⚠️ Not run (review only).

View task →

@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch frombcfd16a to5f63120CompareNovember 8, 2025 03:42
gyuheon0hand others added11 commitsNovember 8, 2025 03:50
Crash ping contained endpoint uploadAdd metadata field and move down contained upload logic for FFICrash ping build and upload FFIDon't manually set crash uuid, libdd takes careUnit testsNew default for crashinfobuilderMake uuid non optional, lazily convert to String, remove unused func, add cleaner ping ready checksCode style and fix bad testsCo-authored-by: gyuheon.oh <gyuheon.oh@datadoghq.com>
@gyuheon0hgyuheon0hforce-pushed thegyuheon0h/prof-12432-runtime-stacks branch fromb65bb87 tod5e54aeCompareNovember 8, 2025 04:19
@gyuheon0h
Copy link
ContributorAuthor

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codexbot commentedNov 8, 2025
edited
Loading

View all feedbacks in Devflow UI.

2025-11-08 04:44:25 UTC ℹ️ Start processing command/merge


2025-11-08 04:44:29 UTC ℹ️MergeQueue: pull request added to thequeue

The expected merge time inmain is approximately 34m (p90).


2025-11-08 05:14:01 UTC ℹ️MergeQueue: This merge request was merged

@dd-mergequeuedd-mergequeuebot merged commitc9a8858 intomainNov 8, 2025
37 checks passed
@dd-mergequeuedd-mergequeuebot deleted the gyuheon0h/prof-12432-runtime-stacks branchNovember 8, 2025 05:13
anais-raison pushed a commit that referenced this pull requestNov 10, 2025
…allbacks (#1252)Runtime stack collection callabck registrationUpdate ffi docOptional type_name fieldUser CharSlice only in ffi, receiver only sees stacktraceCan't store fat ptr directly, split and reconstruct WriterWrite frame field bytes directly and process on receiverHandle empty fields in StackFrame conversion and test for invalid utf8 bytesUpdate schema test to notify but automatically updateDon't split writer fat pointer[crashtracking] Crash ping FFI (#1310)Crash ping contained endpoint uploadAdd metadata field and move down contained upload logic for FFICrash ping build and upload FFIDon't manually set crash uuid, libdd takes careUnit testsNew default for crashinfobuilderMake uuid non optional, lazily convert to String, remove unused func, add cleaner ping ready checksCode style and fix bad testsCo-authored-by: gyuheon.oh <gyuheon.oh@datadoghq.com>Semantic merge conflict fixCo-authored-by: gyuheon.oh <gyuheon.oh@datadoghq.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@bwoebibwoebibwoebi approved these changes

@realFlowControlrealFlowControlrealFlowControl approved these changes

@gleocadiegleocadieAwaiting requested review from gleocadie

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

6 participants

@gyuheon0h@codecov-commenter@bwoebi@realFlowControl@gleocadie

[8]ページ先頭

©2009-2025 Movatter.jp