Skip to content

feat(crashtracking): report unhandled exceptions#1596

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 4 commits intomainfrom
02-18-gyuheon0h_report-unhandled-exceptions
Feb 20, 2026
Merged

feat(crashtracking): report unhandled exceptions#1596
gh-worker-dd-mergequeue-cf854d[bot] merged 4 commits intomainfrom
02-18-gyuheon0h_report-unhandled-exceptions

Conversation

@gyuheon0h
Copy link
Copy Markdown
Contributor

@gyuheon0h gyuheon0h commented Feb 18, 2026

What does this PR do?

This PR adds support for applications to report unhandled exceptions through the libdatadog crashtracking infrastructure.

I expose an API report_unhandled_exception which takes in a complete stacktrace, optional exception message, and optional exception type. It then uses pre-existing functionality to pipe over this data along with other data collected by the crashtracker to the receiver, generating a crash report for unhandled exceptions.

I decide to reuse the current emit code logic and an enum for ErrorKind specific parameters and have conditional logic to decide what to emit based on Kind. This lets us keep the report generation largely unified, making sure that there is no drift.

Another design choice could have been implementing a separate flow to create the crash report piece by piece for unhandled exceptions and upload it directly to an endpoint, but I greatly!!! prefer to reuse a slightly modified emit flow, to minimize drift and ensure parity between to two different "types" of crash reports.

PR below on the stack: feat(crashtracking): include Kind in crash ping and clarify requirements
PR above on the stack: feat(crashtracking): unhandled exception reporting FFI

Motivation

Additional Notes

Example output

{
  "counters": {
    "profiler_inactive": 0,
    "profiler_collecting_sample": 0,
    "profiler_serializing": 0,
    "profiler_unwinding": 0
  },
  "data_schema_version": "1.5",
  "error": {
    "is_crash": true,
    "kind": "UnhandledException",
    "message": "Process was terminated due to an unhandled exception of type 'com.example.UncaughtRuntimeException'. Message: Something went very wrong in the runtime",
    "thread_name": "crashtracking_u",
    "source_type": "Crashtracking",
    "stack": {
      "format": "Datadog Crashtracker 1.0",
      "frames": [
        {
          "function": "com.example.MyApp.processRequest"
        },
        {
          "function": "com.example.runtime.EventLoop.run"
        },
        {
          "function": "com.example.runtime.main"
        }
      ],
      "incomplete": false
    }
  },
  "experimental": {},
  "files": {
    "/proc/self/maps": [
      "5f06e90e8000-5f06e90e9000 r--p 00000000 103:03 20388557                  /home/bits/go/src/github.com/DataDog/libdatadog/examples/ffi/build/crashtracking_unhandled_exception",
      "5f06e90e9000-5f06e90ea000 r-xp 00001000 103:03 20388557                  /home/bits/go/src/github.com/DataDog/libdatadog/examples/ffi/build/crashtracking_unhandled_exception",
      "5f06e90ea000-5f06e90eb000 r--p 00002000 103:03 20388557                  /home/bits/go/src/github.com/DataDog/libdatadog/examples/ffi/build/crashtracking_unhandled_exception",
      "5f06e90eb000-5f06e90ec000 r--p 00002000 103:03 20388557                  /home/bits/go/src/github.com/DataDog/libdatadog/examples/ffi/build/crashtracking_unhandled_exception",
      "5f06e90ec000-5f06e90ed000 rw-p 00003000 103:03 20388557                  /home/bits/go/src/github.com/DataDog/libdatadog/examples/ffi/build/crashtracking_unhandled_exception",
      "5f0706a0b000-5f0706a2c000 rw-p 00000000 00:00 0                          [heap]",
      "7b23aaec5000-7b23aaec8000 rw-p 00000000 00:00 0 ",
      "7b23aaec8000-7b23aaed6000 r--p 00000000 00:33 18157635                   /usr/lib/x86_64-linux-gnu/libm.so.6",
      "7b23aaed6000-7b23aaf52000 r-xp 0000e000 00:33 18157635                   /usr/lib/x86_64-linux-gnu/libm.so.6",
      "7b23aaf52000-7b23aafad000 r--p 0008a000 00:33 18157635                   /usr/lib/x86_64-linux-gnu/libm.so.6",
      "7b23aafad000-7b23aafae000 r--p 000e4000 00:33 18157635                   /usr/lib/x86_64-linux-gnu/libm.so.6",
      "7b23aafae000-7b23aafaf000 rw-p 000e5000 00:33 18157635                   /usr/lib/x86_64-linux-gnu/libm.so.6",
      "7b23aafaf000-7b23aafb2000 r--p 00000000 00:33 526021                     /usr/lib/x86_64-linux-gnu/libgcc_s.so.1",
      "7b23aafb2000-7b23aafc9000 r-xp 00003000 00:33 526021                     /usr/lib/x86_64-linux-gnu/libgcc_s.so.1",
      "7b23aafc9000-7b23aafcd000 r--p 0001a000 00:33 526021                     /usr/lib/x86_64-linux-gnu/libgcc_s.so.1",
      "7b23aafcd000-7b23aafce000 r--p 0001d000 00:33 526021                     /usr/lib/x86_64-linux-gnu/libgcc_s.so.1",
      "7b23aafce000-7b23aafcf000 rw-p 0001e000 00:33 526021                     /usr/lib/x86_64-linux-gnu/libgcc_s.so.1",
      "7b23aafcf000-7b23aaff7000 r--p 00000000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23aaff7000-7b23ab18c000 r-xp 00028000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23ab18c000-7b23ab1e4000 r--p 001bd000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23ab1e4000-7b23ab1e5000 ---p 00215000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23ab1e5000-7b23ab1e9000 r--p 00215000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23ab1e9000-7b23ab1eb000 rw-p 00219000 00:33 18157632                   /usr/lib/x86_64-linux-gnu/libc.so.6",
      "7b23ab1eb000-7b23ab1f8000 rw-p 00000000 00:00 0 ",
      "7b23ab200000-7b23ab4be000 r--p 00000000 103:03 19134266                  /home/bits/go/src/github.com/DataDog/libdatadog/release/lib/libdatadog_profiling.so",
      "7b23ab4be000-7b23abb38000 r-xp 002bd000 103:03 19134266                  /home/bits/go/src/github.com/DataDog/libdatadog/release/lib/libdatadog_profiling.so",
      "7b23abb38000-7b23abbae000 r--p 00936000 103:03 19134266                  /home/bits/go/src/github.com/DataDog/libdatadog/release/lib/libdatadog_profiling.so",
      "7b23abbae000-7b23abbb1000 rw-p 009ab000 103:03 19134266                  /home/bits/go/src/github.com/DataDog/libdatadog/release/lib/libdatadog_profiling.so",
      "7b23abbb1000-7b23abbcf000 rw-p 00000000 00:00 0 ",
      "7b23abbcf000-7b23abbd3000 rw-p 00000000 00:00 0 ",
      "7b23abbd3000-7b23abbd5000 r--p 00000000 00:33 18157629                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2",
      "7b23abbd5000-7b23abbff000 r-xp 00002000 00:33 18157629                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2",
      "7b23abbff000-7b23abc0a000 r--p 0002c000 00:33 18157629                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2",
      "7b23abc0b000-7b23abc0d000 r--p 00037000 00:33 18157629                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2",
      "7b23abc0d000-7b23abc0f000 rw-p 00039000 00:33 18157629                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2",
      "7ffd13b11000-7ffd13b33000 rw-p 00000000 00:00 0                          [stack]",
      "7ffd13ba9000-7ffd13bad000 r--p 00000000 00:00 0                          [vvar]",
      "7ffd13bad000-7ffd13baf000 r-xp 00000000 00:00 0                          [vdso]",
      "ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]",
      ""
    ]
  },
  "incomplete": false,
  "metadata": {
    "library_name": "crashtracking-ffi-test",
    "library_version": "0.0.0",
    "family": "native"
  },
  "os_info": {
    "architecture": "x86_64",
    "bitness": "64-bit",
    "os_type": "Ubuntu",
    "version": "22.4.0"
  },
  "proc_info": {
    "pid": 3794082,
    "tid": 3794082
  },
  "timestamp": "2026-02-18 07:11:37.317056506 UTC",
  "uuid": "930d6e20-f14d-42fd-bdac-c4263da9a6ca"
}

How to test the change?

Unit test, bin test, instrument application and emit a crash report for an unhandled exception

Copy link
Copy Markdown
Contributor Author

gyuheon0h commented Feb 18, 2026

@gyuheon0h gyuheon0h changed the title gyuheon0h/report-unhandled-exceptions feat(crashtracking): report unhandled exceptions Feb 18, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 18, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/02-18-gyuheon0h_report-unhandled-exceptions

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 12 12 No change (0%)
Total 12 12 No change (0%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-crashtracker/src/collector/emitters.rs 12 12 No change (0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 219 219 No change (0%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/crash-ping-kind branch from 9d890c4 to b876b7b Compare February 18, 2026 04:37
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch 2 times, most recently from 9becc2b to 82a0aff Compare February 18, 2026 04:42
@datadog-datadog-prod-us1
Copy link
Copy Markdown
Contributor

datadog-datadog-prod-us1 bot commented Feb 18, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

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

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Feb 18, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-20 19:09:52

Comparing candidate commit c2457b1 in PR branch 02-18-gyuheon0h_report-unhandled-exceptions with baseline commit 7f3f0e1 in branch main.

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

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 3.537ms 3.568ms ± 0.016ms 3.567ms ± 0.010ms 3.577ms 3.597ms 3.617ms 3.632ms 1.83% 0.925 1.484 0.44% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [3.566ms; 3.571ms] or [-0.062%; +0.062%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.897µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.919µs 3.921µs 3.923µs 0.21% -1.410 12.523 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254894442.363op/s 255417059.879op/s ± 168722.662op/s 255427624.498op/s ± 96332.314op/s 255525469.394op/s 255603452.685op/s 255693865.964op/s 256637454.478op/s 0.47% 1.435 12.715 0.07% 11930.494op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.430µs 80.368µs ± 0.644µs 80.381µs ± 0.431µs 80.804µs 81.410µs 81.689µs 82.457µs 2.58% 0.001 0.150 0.80% 0.046µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12127466.072op/s 12443571.141op/s ± 99700.550op/s 12440828.166op/s ± 66313.169op/s 12511683.731op/s 12598757.361op/s 12647498.537op/s 12750250.440op/s 2.49% 0.050 0.145 0.80% 7049.893op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.422µs 71.635µs ± 0.324µs 71.545µs ± 0.050µs 71.696µs 71.993µs 72.287µs 74.891µs 4.68% 6.997 61.146 0.45% 0.023µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13352698.268op/s 13959961.925op/s ± 61156.002op/s 13977213.624op/s ± 9819.290op/s 13985622.076op/s 13992697.423op/s 13994956.776op/s 14001276.836op/s 0.17% -6.809 58.483 0.44% 4324.382op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.899µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.917µs 3.919µs 3.920µs 3.931µs 0.41% 0.060 14.733 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254357059.748op/s 255400207.959op/s ± 167062.794op/s 255405721.090op/s ± 89241.394op/s 255496398.792op/s 255590822.841op/s 255645531.743op/s 256488331.287op/s 0.42% -0.027 14.760 0.07% 11813.123op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.280µs 68.568µs ± 0.197µs 68.505µs ± 0.118µs 68.691µs 68.907µs 69.162µs 69.761µs 1.83% 1.743 6.258 0.29% 0.014µs 1 200
credit_card/is_card_number/378282246310005 throughput 14334564.011op/s 14584161.299op/s ± 41695.832op/s 14597525.721op/s ± 25156.189op/s 14613349.660op/s 14635683.040op/s 14644190.133op/s 14645556.468op/s 0.33% -1.699 5.941 0.29% 2948.341op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.469µs 45.734µs ± 0.102µs 45.737µs ± 0.068µs 45.806µs 45.892µs 45.940µs 45.988µs 0.55% -0.245 -0.248 0.22% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21744623.791op/s 21865754.595op/s ± 48796.605op/s 21864219.206op/s ± 32238.911op/s 21894700.939op/s 21949935.115op/s 21985807.167op/s 21993143.161op/s 0.59% 0.257 -0.240 0.22% 3450.441op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.551µs 6.621µs ± 0.017µs 6.623µs ± 0.013µs 6.636µs 6.643µs 6.647µs 6.650µs 0.41% -0.872 0.766 0.26% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 150371964.385op/s 151026218.557op/s ± 399812.150op/s 150981994.181op/s ± 290911.047op/s 151277607.248op/s 151780031.376op/s 151969688.162op/s 152637747.749op/s 1.10% 0.888 0.820 0.26% 28270.988op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.899µs 3.917µs ± 0.004µs 3.916µs ± 0.002µs 3.919µs 3.922µs 3.924µs 3.942µs 0.65% 1.583 13.313 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 253695874.075op/s 255320988.566op/s ± 241499.575op/s 255353615.021op/s ± 139436.062op/s 255460780.598op/s 255593402.419op/s 255674835.877op/s 256481299.511op/s 0.44% -1.547 13.154 0.09% 17076.599op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.458µs 65.792µs ± 0.053µs 65.792µs ± 0.033µs 65.824µs 65.866µs 65.917µs 65.921µs 0.20% -1.150 6.928 0.08% 0.004µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15169585.556op/s 15199527.461op/s ± 12307.399op/s 15199520.530op/s ± 7711.278op/s 15207381.724op/s 15217268.430op/s 15221196.889op/s 15277078.272op/s 0.51% 1.168 7.048 0.08% 870.265op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.367µs 53.427µs ± 0.030µs 53.424µs ± 0.020µs 53.447µs 53.477µs 53.505µs 53.565µs 0.27% 0.902 1.646 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18668734.527op/s 18717127.313op/s ± 10527.003op/s 18718243.393op/s ± 6903.768op/s 18724406.761op/s 18731318.717op/s 18734871.295op/s 18738050.132op/s 0.11% -0.897 1.627 0.06% 744.372op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.916µs ± 0.003µs 3.916µs ± 0.002µs 3.918µs 3.920µs 3.922µs 3.923µs 0.17% -2.428 19.408 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254918327.361op/s 255354199.598op/s ± 187500.647op/s 255349114.219op/s ± 108617.195op/s 255467600.351op/s 255583324.015op/s 255630579.696op/s 256869861.283op/s 0.60% 2.462 19.742 0.07% 13258.298op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.156µs 50.226µs ± 0.033µs 50.225µs ± 0.023µs 50.246µs 50.287µs 50.303µs 50.320µs 0.19% 0.347 -0.308 0.07% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19872752.777op/s 19910043.827op/s ± 13165.683op/s 19910494.364op/s ± 9086.932op/s 19920111.389op/s 19930157.355op/s 19933459.088op/s 19937732.468op/s 0.14% -0.344 -0.312 0.07% 930.954op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.533µs 45.753µs ± 0.079µs 45.749µs ± 0.058µs 45.808µs 45.875µs 45.935µs 45.988µs 0.52% 0.043 -0.180 0.17% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21744878.560op/s 21856750.986op/s ± 37618.057op/s 21858176.565op/s ± 27719.905op/s 21884991.832op/s 21916321.962op/s 21937876.251op/s 21961899.614op/s 0.47% -0.033 -0.181 0.17% 2659.998op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.565µs 6.618µs ± 0.017µs 6.620µs ± 0.014µs 6.634µs 6.640µs 6.644µs 6.645µs 0.38% -0.575 -0.343 0.25% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150481750.604op/s 151094804.404op/s ± 383605.254op/s 151060948.399op/s ± 309223.707op/s 151348545.151op/s 151769289.981op/s 152033553.622op/s 152312889.357op/s 0.83% 0.585 -0.323 0.25% 27124.988op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.915µs; 3.916µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255393676.540op/s; 255440443.217op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.279µs; 80.457µs] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12429753.603op/s; 12457388.678op/s] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.590µs; 71.680µs] or [-0.063%; +0.063%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13951486.292op/s; 13968437.559op/s] or [-0.061%; +0.061%] None None None
credit_card/is_card_number/37828224631 execution_time [3.915µs; 3.916µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255377054.662op/s; 255423361.255op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.541µs; 68.595µs] or [-0.040%; +0.040%] None None None
credit_card/is_card_number/378282246310005 throughput [14578382.657op/s; 14589939.940op/s] or [-0.040%; +0.040%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.720µs; 45.748µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21858991.855op/s; 21872517.335op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.619µs; 6.624µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number/x371413321323331 throughput [150970808.438op/s; 151081628.676op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.916µs; 3.917µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/ throughput [255287519.047op/s; 255354458.084op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.784µs; 65.799µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15197821.774op/s; 15201233.149op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.423µs; 53.431µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18715668.372op/s; 18718586.255op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.916µs; 3.917µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255328213.812op/s; 255380185.385op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.221µs; 50.231µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19908219.189op/s; 19911868.464op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.742µs; 45.764µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21851537.485op/s; 21861964.487op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.616µs; 6.621µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [151041640.405op/s; 151147968.403op/s] or [-0.035%; +0.035%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.314µs 2.376µs ± 0.020µs 2.375µs ± 0.005µs 2.381µs 2.421µs 2.430µs 2.434µs 2.49% 0.009 3.055 0.82% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.374µs; 2.379µs] or [-0.115%; +0.115%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.159ms 4.165ms ± 0.009ms 4.163ms ± 0.001ms 4.165ms 4.171ms 4.194ms 4.255ms 2.21% 6.887 61.419 0.21% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.163ms; 4.166ms] or [-0.029%; +0.029%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 160.575µs 161.466µs ± 0.301µs 161.423µs ± 0.122µs 161.554µs 162.001µs 162.555µs 163.673µs 1.39% 2.594 15.248 0.19% 0.021µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.424µs; 161.508µs] or [-0.026%; +0.026%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 186.920ns 189.854ns ± 2.193ns 189.666ns ± 1.575ns 191.039ns 194.158ns 196.022ns 198.708ns 4.77% 0.999 0.864 1.15% 0.155ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [189.550ns; 190.158ns] or [-0.160%; +0.160%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.075µs 33.560µs ± 0.759µs 33.209µs ± 0.038µs 33.310µs 35.149µs 35.236µs 36.561µs 10.09% 1.766 1.491 2.26% 0.054µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.455µs; 33.665µs] or [-0.313%; +0.313%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 13.881ms 13.950ms ± 0.029ms 13.947ms ± 0.013ms 13.960ms 13.985ms 14.054ms 14.091ms 1.04% 1.662 5.704 0.20% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [13.946ms; 13.954ms] or [-0.028%; +0.028%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.171µs 3.191µs ± 1.433µs 2.985µs ± 0.038µs 3.027µs 3.643µs 13.819µs 14.936µs 400.34% 7.400 55.789 44.78% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.992µs; 3.389µs] or [-6.222%; +6.222%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.592µs 186.135µs ± 0.347µs 186.061µs ± 0.151µs 186.236µs 187.077µs 187.373µs 187.459µs 0.75% 2.023 4.700 0.19% 0.025µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5334489.851op/s 5372464.757op/s ± 9986.472op/s 5374568.817op/s ± 4366.539op/s 5378575.400op/s 5383458.792op/s 5385839.763op/s 5388174.896op/s 0.25% -2.008 4.644 0.19% 706.150op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.803µs 17.882µs ± 0.035µs 17.879µs ± 0.022µs 17.902µs 17.939µs 17.960µs 18.052µs 0.97% 0.638 2.052 0.20% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55395498.469op/s 55922306.641op/s ± 109302.697op/s 55930979.435op/s ± 68632.302op/s 55999128.281op/s 56095115.276op/s 56160649.117op/s 56169887.698op/s 0.43% -0.617 1.971 0.19% 7728.868op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.827µs 9.876µs ± 0.035µs 9.877µs ± 0.031µs 9.902µs 9.926µs 9.951µs 9.965µs 0.88% 0.150 -1.022 0.35% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 100355349.168op/s 101256452.630op/s ± 353984.706op/s 101241551.236op/s ± 312236.793op/s 101674451.117op/s 101715407.226op/s 101745658.757op/s 101757788.711op/s 0.51% -0.140 -1.035 0.35% 25030.499op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-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 [186.087µs; 186.183µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5371080.728op/s; 5373848.786op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.877µs; 17.887µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55907158.338op/s; 55937454.943op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/good execution_time [9.871µs; 9.881µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/good throughput [101207393.755op/s; 101305511.506op/s] or [-0.048%; +0.048%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 246.620ns 259.070ns ± 12.779ns 251.562ns ± 3.463ns 269.695ns 284.928ns 291.289ns 292.118ns 16.12% 1.055 -0.165 4.92% 0.904ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [257.298ns; 260.841ns] or [-0.684%; +0.684%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 49.085ms 49.443ms ± 0.851ms 49.311ms ± 0.052ms 49.364ms 49.541ms 53.644ms 57.374ms 16.35% 7.838 64.340 1.72% 0.060ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [49.325ms; 49.561ms] or [-0.238%; +0.238%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 494.169µs 495.060µs ± 0.499µs 495.000µs ± 0.271µs 495.299µs 495.837µs 496.379µs 498.851µs 0.78% 2.495 15.593 0.10% 0.035µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2004605.470op/s 2019957.506op/s ± 2030.031op/s 2020201.795op/s ± 1105.933op/s 2021210.698op/s 2022589.482op/s 2023306.797op/s 2023597.394op/s 0.17% -2.461 15.268 0.10% 143.545op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.721µs 371.372µs ± 0.320µs 371.355µs ± 0.224µs 371.579µs 371.804µs 372.077µs 373.389µs 0.55% 1.299 6.590 0.09% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2678168.975op/s 2692717.367op/s ± 2317.719op/s 2692840.767op/s ± 1624.277op/s 2694426.129op/s 2696140.231op/s 2696726.744op/s 2697449.491op/s 0.17% -1.281 6.464 0.09% 163.887op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.620µs 167.969µs ± 0.161µs 167.960µs ± 0.100µs 168.066µs 168.218µs 168.402µs 168.774µs 0.48% 0.843 2.887 0.10% 0.011µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5925090.595op/s 5953473.650op/s ± 5696.414op/s 5953801.821op/s ± 3551.312op/s 5956998.987op/s 5962134.581op/s 5965141.053op/s 5965882.643op/s 0.20% -0.831 2.836 0.10% 402.797op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.679µs 36.872µs ± 0.075µs 36.868µs ± 0.053µs 36.923µs 36.989µs 37.056µs 37.081µs 0.58% 0.120 -0.179 0.20% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26967705.702op/s 27121280.524op/s ± 55492.653op/s 27123880.678op/s ± 38930.750op/s 27159927.813op/s 27210478.416op/s 27232539.055op/s 27263500.624op/s 0.51% -0.109 -0.184 0.20% 3923.923op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.424µs 45.511µs ± 0.049µs 45.503µs ± 0.030µs 45.536µs 45.616µs 45.660µs 45.679µs 0.39% 0.959 0.824 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21891679.483op/s 21972695.971op/s ± 23819.753op/s 21976790.313op/s ± 14708.507op/s 21990906.395op/s 22002819.882op/s 22008411.268op/s 22014896.257op/s 0.17% -0.953 0.807 0.11% 1684.311op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [494.991µs; 495.130µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2019676.163op/s; 2020238.849op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.328µs; 371.417µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2692396.154op/s; 2693038.581op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.947µs; 167.992µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5952684.182op/s; 5954263.118op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.861µs; 36.882µs] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27113589.776op/s; 27128971.272op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.504µs; 45.518µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21969394.782op/s; 21975997.159op/s] or [-0.015%; +0.015%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 85.144µs 85.419µs ± 0.226µs 85.395µs ± 0.045µs 85.444µs 85.564µs 85.826µs 88.315µs 3.42% 10.640 132.851 0.26% 0.016µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [85.387µs; 85.450µs] or [-0.037%; +0.037%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 143.986µs 145.930µs ± 1.951µs 145.619µs ± 0.512µs 146.152µs 148.028µs 152.815µs 165.547µs 13.68% 6.497 55.990 1.33% 0.138µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [145.659µs; 146.200µs] or [-0.185%; +0.185%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 4.996µs 5.047µs ± 0.027µs 5.044µs ± 0.023µs 5.067µs 5.088µs 5.090µs 5.091µs 0.95% 0.112 -1.395 0.54% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.044µs; 5.051µs] or [-0.075%; +0.075%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.992µs 26.008µs ± 9.161µs 19.129µs ± 1.027µs 33.711µs 43.641µs 44.766µs 70.553µs 268.82% 1.137 1.554 35.13% 0.648µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.738µs; 27.278µs] or [-4.881%; +4.881%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.675ms 10.710ms ± 0.013ms 10.709ms ± 0.008ms 10.718ms 10.730ms 10.748ms 10.748ms 0.37% 0.224 0.367 0.12% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.708ms; 10.711ms] or [-0.016%; +0.016%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c2457b1 1771613642 02-18-gyuheon0h_report-unhandled-exceptions
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 747.827µs 749.230µs ± 0.588µs 749.195µs ± 0.376µs 749.585µs 750.153µs 751.098µs 751.706µs 0.34% 0.716 1.672 0.08% 0.042µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [749.149µs; 749.312µs] or [-0.011%; +0.011%] None None None

Baseline

Omitted due to size.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/crash-ping-kind branch from b876b7b to f198560 Compare February 18, 2026 05:04
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from 82a0aff to cb83452 Compare February 18, 2026 05:04
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/crash-ping-kind branch from f198560 to 285bf36 Compare February 18, 2026 05:12
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch 2 times, most recently from cc12c2c to 50c6547 Compare February 18, 2026 05:15
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/crash-ping-kind branch from 285bf36 to 99181d9 Compare February 18, 2026 05:15
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from 50c6547 to d4fe74f Compare February 18, 2026 05:19
@gyuheon0h gyuheon0h marked this pull request as ready for review February 18, 2026 05:20
@gyuheon0h gyuheon0h requested a review from a team as a code owner February 18, 2026 05:20
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from d4fe74f to cefddfb Compare February 18, 2026 05:26
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Feb 18, 2026

Codecov Report

❌ Patch coverage is 59.00383% with 107 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.25%. Comparing base (7f3f0e1) to head (c2457b1).

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #1596    +/-   ##
========================================
  Coverage   71.24%   71.25%            
========================================
  Files         423      423            
  Lines       62198    62439   +241     
========================================
+ Hits        44315    44489   +174     
- Misses      17883    17950    +67     
Components Coverage Δ
libdd-crashtracker 63.11% <64.13%> (+0.58%) ⬆️
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.27% <ø> (ø)
libdd-data-pipeline-ffi 71.51% <ø> (ø)
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.74% <ø> (ø)
libdd-profiling 81.56% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 34.18% <ø> (ø)
datdog-sidecar-ffi 15.63% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.21% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.97% <ø> (ø)
datadog-tracer-flare 86.86% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from cefddfb to aae6c75 Compare February 18, 2026 05:45
@gyuheon0h gyuheon0h marked this pull request as draft February 18, 2026 05:47
@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from aae6c75 to 0a838b8 Compare February 18, 2026 05:49
@gyuheon0h gyuheon0h marked this pull request as ready for review February 18, 2026 05:50
@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Feb 18, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.51 MB 8.51 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 97.06 MB 97.14 MB +.08% (+81.78 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 112.70 MB 112.78 MB +.07% (+83.14 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.05 MB 11.11 MB +.58% (+66.10 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.13 MB 27.13 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.73 MB 185.74 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 912.24 MB 912.24 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.75 MB 24.75 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.40 MB 51.40 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.95 MB 22.95 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.08 MB 190.08 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 896.28 MB 896.28 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.50 MB 26.50 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.03 MB 47.03 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 85.12 MB 85.20 MB +.09% (+80.85 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.02 MB 10.03 MB +.11% (+12.00 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 105.73 MB 105.81 MB +.07% (+83.87 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.77 MB 11.78 MB +.07% (+9.56 KB) 🔍

@gyuheon0h gyuheon0h force-pushed the 02-18-gyuheon0h_report-unhandled-exceptions branch from 0a838b8 to aa18900 Compare February 18, 2026 07:22
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit eb48c1a into main Feb 20, 2026
134 of 136 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the 02-18-gyuheon0h_report-unhandled-exceptions branch February 20, 2026 22:25
gh-worker-dd-mergequeue-cf854d bot pushed a commit that referenced this pull request Feb 20, 2026
# What does this PR do?
Add FFI interface for reporting unhandled exception. Also adds tests for it. 

*The FFI examples test infra part is largely claude code driven*


PR below on the stack: [feat(crashtracking): report unhandled exceptions](#1596)
# Motivation

What inspired you to submit this pull request?

# Additional Notes

Anything else we should know when reviewing?

# How to test the change?

Run ffi example tests

Co-authored-by: gyuheon.oh <[email protected]>
hoolioh pushed a commit that referenced this pull request Mar 17, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 17, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 17, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(ci): give libdd-libunwind-sys its own version (#1743)
- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 17, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(crashtracking): rename target triple to runtime platform (#1747)
- chore(ci): give libdd-libunwind-sys its own version (#1743)
- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 17, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(crashtracking): rename target triple to runtime platform (#1747)
- chore(ci): give libdd-libunwind-sys its own version (#1743)
- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 18, 2026
# Release proposal for libdd-crashtracker and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-common
**Next version:** `3.0.0`

**Semver bump:** `major`
**Tag:** `libdd-common-v3.0.0`

### Commits

- refactor(trace-utils)!: change header name type to accept dynamic
values (#1722)
## libdd-crashtracker
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### Commits

- chore(crashtracking): rename target triple to runtime platform (#1747)
- chore(ci): give libdd-libunwind-sys its own version (#1743)
- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants