Skip to content

Conversation

@gyuheon0h
Copy link
Contributor

@gyuheon0h gyuheon0h commented Jan 28, 2026

What does this PR do?

~600 lines out of the 840 diff is from JSON schema update

This PR adds support to include the name of the crashing thread in the crash report. We cannot use prctl or other Pthread API in the collector, because those functionalities are not signal safe. However, we can send the proc/[pid]/task/[tid] to the receiver and do parsing there to retrieve the thread name.

We add a thread_name field as an optional field to the ErrorData object and update the schema and payload format RFC respectively

We also add an FFI api that allows consumers to set thread_name.

Motivation

It would be nice to know the name of the crashing thread in order to aid with debugging crashes.

Additional details

This PR only implements for Linux; MacOS is not supported yet.

How to test the change?

Run a crash and check the payload. Can also run test_crash_tracking_thread_name.

"error": {
    "is_crash": true,
    "kind": "UnixSignal",
    "message": "Process terminated with SEGV_MAPERR (SIGSEGV)",
    "source_type": "Crashtracking",
    "stack": {
      "format": "Datadog Crashtracker 1.0",
      "frames": [
        {
          "ip": "0x5c9e38b13ae4",
          "sp": "0x7ffc4fc46ce0",
          "symbol_address": "0x5c9e38b13ae0"
        },
       ....
        {
          "ip": "0x0",
          "sp": "0x7ffc4fc474a8",
          "symbol_address": "0x0"
        }
      ],
      "incomplete": false
    },
    "thread_name": "crashtracker_bi"
  },

BREAKING CHANGE:

  1. (potential) CrashInfo now carries an optional thread_name; any consumers (upload pipelines, storage schemas, analytics, or UI renderers) that deserialize/validate on a fixed schema must tolerate or map the new field. If they ignore unknown fields, they’re fine; strict schemas need updates.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@gyuheon0h gyuheon0h changed the title Support sending thread name and update rfc and schema feat(crashtracking): emit crashing thread name in crash report Jan 28, 2026
@github-actions
Copy link

github-actions bot commented Jan 28, 2026

📚 Documentation Check Results

⚠️ 995 documentation warning(s) found

📦 libdd-crashtracker - 995 warning(s)


Updated: 2026-01-28 19:36:54 UTC | Commit: 8eb3846 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Jan 28, 2026

🔒 Cargo Deny Results

⚠️ 1 issue(s) found, showing only errors (advisories, bans, sources)

📦 libdd-crashtracker - 1 error(s)

Show output
error[vulnerability]: Logging user input may result in poisoning logs with ANSI escape sequences
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:200:1
    │
200 │ tracing-subscriber 0.3.19 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2025-0055
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2025-0055
    ├ Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to:
      
      - Manipulate terminal title bars
      - Clear screens or modify terminal display
      - Potentially mislead users through terminal manipulation
      
      In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator.
      
      This was patched in [PR #3368](https://github.com/tokio-rs/tracing/pull/3368) to escape ANSI control characters from user input.
    ├ Announcement: https://github.com/advisories/GHSA-xwfj-jgwm-7wp5
    ├ Solution: Upgrade to >=0.3.20 (try `cargo update -p tracing-subscriber`)
    ├ tracing-subscriber v0.3.19
      └── (dev) libdd-telemetry v2.0.0
          └── libdd-crashtracker v1.0.0

advisories FAILED, bans ok, sources ok

Updated: 2026-01-28 19:39:48 UTC | Commit: 8eb3846 | dependency-check job results

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Jan 28, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

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

@gyuheon0h gyuheon0h force-pushed the 01-28-gyuheon0h_collect-thread-name branch 2 times, most recently from 29b2a99 to 4102352 Compare January 28, 2026 17:27
@codecov-commenter
Copy link

codecov-commenter commented Jan 28, 2026

Codecov Report

❌ Patch coverage is 65.98639% with 50 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.97%. Comparing base (cd903df) to head (966d4f9).

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #1485    +/-   ##
========================================
  Coverage   70.96%   70.97%            
========================================
  Files         421      421            
  Lines       68438    68580   +142     
========================================
+ Hits        48567    48674   +107     
- Misses      19871    19906    +35     
Components Coverage Δ
libdd-crashtracker 61.45% <65.98%> (+0.04%) ⬆️
libdd-crashtracker-ffi 16.33% <0.00%> (-0.18%) ⬇️
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.28% <ø> (ø)
libdd-data-pipeline-ffi 78.57% <ø> (ø)
libdd-common 80.97% <ø> (ø)
libdd-common-ffi 74.54% <ø> (ø)
libdd-telemetry 59.78% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.60% <ø> (ø)
libdd-profiling 81.52% <ø> (+0.02%) ⬆️
libdd-profiling-ffi 64.71% <ø> (ø)
datadog-sidecar 34.94% <ø> (ø)
datdog-sidecar-ffi 10.25% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 93.43% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.45% <ø> (ø)
datadog-tracer-flare 63.49% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 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.

@pr-commenter
Copy link

pr-commenter bot commented Jan 28, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-01-28 19:52:00

Comparing candidate commit 966d4f9 in PR branch 01-28-gyuheon0h_collect-thread-name with baseline commit cd903df 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 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 144.298µs 146.054µs ± 1.709µs 145.834µs ± 0.521µs 146.361µs 147.505µs 153.326µs 163.525µs 12.13% 6.380 56.445 1.17% 0.121µ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.817µs; 146.291µs] or [-0.162%; +0.162%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 13.089ms 13.472ms ± 0.089ms 13.468ms ± 0.045ms 13.513ms 13.615ms 13.758ms 13.774ms 2.27% 0.050 2.711 0.66% 0.006ms 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 [13.460ms; 13.485ms] or [-0.091%; +0.091%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.075ms 4.084ms ± 0.007ms 4.083ms ± 0.002ms 4.086ms 4.089ms 4.093ms 4.171ms 2.15% 9.746 117.994 0.17% 0.000ms 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.083ms; 4.085ms] or [-0.024%; +0.024%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 14.565ms 14.649ms ± 0.030ms 14.646ms ± 0.016ms 14.662ms 14.702ms 14.763ms 14.786ms 0.95% 1.228 4.099 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 [14.645ms; 14.653ms] or [-0.028%; +0.028%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 48.076ms 48.421ms ± 1.165ms 48.278ms ± 0.064ms 48.348ms 48.437ms 52.092ms 60.486ms 25.29% 8.992 83.462 2.40% 0.082ms 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 [48.259ms; 48.582ms] or [-0.334%; +0.334%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 188.931ns 191.688ns ± 2.207ns 191.678ns ± 1.425ns 192.641ns 195.228ns 198.745ns 202.299ns 5.54% 1.265 2.985 1.15% 0.156ns 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 [191.382ns; 191.994ns] 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 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.224µs 3.180µs ± 1.440µs 3.009µs ± 0.024µs 3.029µs 3.341µs 13.904µs 15.261µs 407.14% 7.517 57.086 45.17% 0.102µ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.980µs; 3.379µs] or [-6.276%; +6.276%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 550.188µs 551.371µs ± 0.522µs 551.347µs ± 0.356µs 551.735µs 552.187µs 552.682µs 553.480µs 0.39% 0.403 0.623 0.09% 0.037µ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 [551.299µs; 551.443µs] or [-0.013%; +0.013%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 161.989µs 162.825µs ± 0.416µs 162.781µs ± 0.151µs 162.939µs 163.282µs 164.210µs 166.727µs 2.42% 4.746 39.135 0.25% 0.029µ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 [162.767µs; 162.882µs] or [-0.035%; +0.035%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.491µs 34.091µs ± 0.922µs 33.672µs ± 0.094µs 33.846µs 36.005µs 36.039µs 37.986µs 12.81% 1.790 1.768 2.70% 0.065µ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.963µs; 34.219µs] or [-0.375%; +0.375%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.988µs 5.051µs ± 0.047µs 5.024µs ± 0.025µs 5.107µs 5.123µs 5.128µs 5.137µs 2.24% 0.455 -1.478 0.93% 0.003µ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.045µs; 5.058µs] or [-0.130%; +0.130%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.625ms 10.657ms ± 0.014ms 10.655ms ± 0.008ms 10.665ms 10.680ms 10.696ms 10.717ms 0.58% 0.848 1.656 0.13% 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.655ms; 10.659ms] or [-0.018%; +0.018%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 88.964µs 89.226µs ± 0.251µs 89.202µs ± 0.057µs 89.263µs 89.349µs 89.453µs 92.528µs 3.73% 11.558 149.394 0.28% 0.018µ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 [89.191µs; 89.261µs] or [-0.039%; +0.039%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 18.062µs 26.537µs ± 9.918µs 18.751µs ± 0.517µs 35.103µs 43.986µs 44.967µs 74.764µs 298.72% 1.000 1.248 37.28% 0.701µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.162µs; 27.912µs] or [-5.180%; +5.180%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 249.108ns 260.582ns ± 13.508ns 253.145ns ± 3.336ns 270.051ns 287.997ns 294.699ns 295.326ns 16.66% 1.106 -0.235 5.17% 0.955ns 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 [258.710ns; 262.454ns] or [-0.718%; +0.718%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.916µs 3.918µs 3.920µs 0.21% -1.317 12.494 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255091148.447op/s 255613785.635op/s ± 168725.678op/s 255619786.766op/s ± 91188.852op/s 255714556.552op/s 255815875.650op/s 255870008.222op/s 256829097.762op/s 0.47% 1.342 12.681 0.07% 11930.707op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.072µs 77.572µs ± 0.357µs 77.492µs ± 0.209µs 77.727µs 78.220µs 78.571µs 79.048µs 2.01% 1.076 1.623 0.46% 0.025µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12650593.548op/s 12891476.035op/s ± 59112.230op/s 12904516.160op/s ± 34736.975op/s 12929445.198op/s 12969594.455op/s 12973751.131op/s 12974917.172op/s 0.55% -1.042 1.506 0.46% 4179.866op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.642µs 71.214µs ± 0.357µs 71.184µs ± 0.234µs 71.427µs 71.866µs 72.310µs 72.322µs 1.60% 0.800 0.499 0.50% 0.025µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13826990.226op/s 14042448.699op/s ± 70124.000op/s 14048197.273op/s ± 46208.033op/s 14092574.623op/s 14138455.113op/s 14150758.247op/s 14155969.874op/s 0.77% -0.773 0.433 0.50% 4958.516op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.918µs 3.932µs 0.51% 0.606 12.731 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254323170.651op/s 255607337.845op/s ± 196316.957op/s 255620744.790op/s ± 114380.325op/s 255727311.677op/s 255834647.054op/s 255905240.758op/s 256735130.372op/s 0.44% -0.573 12.667 0.08% 13881.705op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.410µs 67.780µs ± 0.254µs 67.732µs ± 0.204µs 67.975µs 68.260µs 68.413µs 68.521µs 1.17% 0.624 -0.341 0.37% 0.018µs 1 200
credit_card/is_card_number/378282246310005 throughput 14593979.707op/s 14753900.714op/s ± 55251.509op/s 14764176.941op/s ± 44527.495op/s 14804330.639op/s 14824893.146op/s 14829023.519op/s 14834570.483op/s 0.48% -0.610 -0.367 0.37% 3906.872op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.747µs 45.197µs ± 0.202µs 45.203µs ± 0.105µs 45.310µs 45.478µs 45.559µs 46.294µs 2.41% 1.008 5.759 0.45% 0.014µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21601243.765op/s 22125691.627op/s ± 98532.917op/s 22122580.922op/s ± 51057.016op/s 22169471.020op/s 22305173.580op/s 22334383.151op/s 22347862.397op/s 1.02% -0.920 5.325 0.44% 6967.329op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.030µs 6.039µs ± 0.010µs 6.038µs ± 0.003µs 6.041µs 6.046µs 6.102µs 6.109µs 1.17% 5.114 31.491 0.16% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 163691536.742op/s 165584591.119op/s ± 266713.646op/s 165607742.163op/s ± 87357.460op/s 165714981.365op/s 165791788.773op/s 165835281.302op/s 165850135.174op/s 0.15% -5.078 31.157 0.16% 18859.503op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.898µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.914µs 3.917µs 3.919µs 3.921µs 0.21% -0.513 4.180 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255028404.836op/s 255577814.395op/s ± 170234.100op/s 255576244.191op/s ± 115483.744op/s 255693583.852op/s 255816779.140op/s 255899802.228op/s 256529869.471op/s 0.37% 0.524 4.233 0.07% 12037.369op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.376µs 65.620µs ± 0.082µs 65.623µs ± 0.053µs 65.673µs 65.770µs 65.801µs 65.835µs 0.32% 0.102 -0.080 0.13% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15189601.973op/s 15239346.769op/s ± 19119.547op/s 15238535.369op/s ± 12328.419op/s 15252345.199op/s 15268307.880op/s 15281349.420op/s 15296071.969op/s 0.38% -0.094 -0.080 0.13% 1351.956op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.954µs 53.026µs ± 0.036µs 53.027µs ± 0.028µs 53.052µs 53.088µs 53.102µs 53.119µs 0.17% 0.092 -0.816 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18825623.726op/s 18858629.998op/s ± 12839.652op/s 18858215.853op/s ± 10037.661op/s 18869746.137op/s 18877725.134op/s 18880691.736op/s 18884195.817op/s 0.14% -0.090 -0.819 0.07% 907.900op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.899µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.918µs 3.922µs 0.23% -0.612 3.389 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254980906.359op/s 255561551.229op/s ± 169158.157op/s 255555111.745op/s ± 126195.436op/s 255685066.426op/s 255794156.718op/s 255902771.365op/s 256477306.274op/s 0.36% 0.622 3.433 0.07% 11961.288op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.752µs 49.819µs ± 0.036µs 49.816µs ± 0.026µs 49.841µs 49.881µs 49.916µs 49.938µs 0.25% 0.611 0.222 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20024743.011op/s 20072809.871op/s ± 14669.680op/s 20073966.073op/s ± 10299.913op/s 20084243.911op/s 20092808.985op/s 20098541.047op/s 20099839.201op/s 0.13% -0.607 0.214 0.07% 1037.303op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.813µs 45.196µs ± 0.161µs 45.197µs ± 0.106µs 45.309µs 45.453µs 45.504µs 45.539µs 0.76% -0.204 -0.458 0.36% 0.011µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21959017.352op/s 22126157.061op/s ± 78995.440op/s 22125479.174op/s ± 51891.883op/s 22171609.920op/s 22277759.521op/s 22304916.551op/s 22314834.369op/s 0.86% 0.220 -0.448 0.36% 5585.821op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.029µs 6.038µs ± 0.012µs 6.035µs ± 0.003µs 6.038µs 6.043µs 6.105µs 6.108µs 1.21% 4.855 23.789 0.20% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 163720892.732op/s 165632076.100op/s ± 335295.391op/s 165694548.658op/s ± 72157.601op/s 165762413.696op/s 165821903.170op/s 165860571.114op/s 165869950.351op/s 0.11% -4.841 23.692 0.20% 23708.965op/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.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255590401.879op/s; 255637169.391op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.523µs; 77.622µs] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12883283.649op/s; 12899668.422op/s] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.165µs; 71.264µs] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14032730.187op/s; 14052167.210op/s] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255580130.203op/s; 255634545.487op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.744µs; 67.815µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/378282246310005 throughput [14746243.386op/s; 14761558.041op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.169µs; 45.225µs] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22112035.912op/s; 22139347.341op/s] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.038µs; 6.041µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/x371413321323331 throughput [165547627.173op/s; 165621555.065op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255554221.586op/s; 255601407.204op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.608µs; 65.631µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15236696.984op/s; 15241996.555op/s] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.021µs; 53.031µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18856850.546op/s; 18860409.450op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255538107.536op/s; 255584994.923op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.814µs; 49.824µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20070776.795op/s; 20074842.948op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.174µs; 45.218µs] or [-0.049%; +0.049%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22115209.053op/s; 22137105.069op/s] or [-0.049%; +0.049%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.039µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165585607.384op/s; 165678544.817op/s] or [-0.028%; +0.028%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 205.054µs 205.850µs ± 0.469µs 205.795µs ± 0.341µs 206.148µs 206.750µs 207.065µs 207.328µs 0.74% 0.608 -0.002 0.23% 0.033µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4823282.742op/s 4857933.166op/s ± 11048.342op/s 4859206.782op/s ± 8054.967op/s 4866495.425op/s 4873623.006op/s 4876175.115op/s 4876774.454op/s 0.36% -0.596 -0.023 0.23% 781.236op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.628µs 18.789µs ± 0.095µs 18.773µs ± 0.061µs 18.836µs 18.966µs 19.019µs 19.321µs 2.92% 1.330 4.052 0.50% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51758381.349op/s 53223977.375op/s ± 266689.131op/s 53267378.132op/s ± 172538.906op/s 53428962.134op/s 53567787.141op/s 53621588.990op/s 53681504.902op/s 0.78% -1.267 3.666 0.50% 18857.769op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.804µs 10.887µs ± 0.030µs 10.885µs ± 0.019µs 10.906µs 10.934µs 10.957µs 11.023µs 1.27% 0.418 1.716 0.27% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 90716075.304op/s 91856169.478op/s ± 250448.766op/s 91868643.271op/s ± 164383.008op/s 92009550.072op/s 92229707.032op/s 92447163.266op/s 92554191.892op/s 0.75% -0.389 1.639 0.27% 17709.402op/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 [205.785µs; 205.915µs] or [-0.032%; +0.032%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4856401.972op/s; 4859464.360op/s] or [-0.032%; +0.032%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.776µs; 18.802µs] or [-0.070%; +0.070%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53187016.827op/s; 53260937.924op/s] or [-0.069%; +0.069%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.883µs; 10.891µs] or [-0.038%; +0.038%] None None None
normalization/normalize_name/normalize_name/good throughput [91821459.687op/s; 91890879.268op/s] or [-0.038%; +0.038%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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 535.082µs 537.267µs ± 1.762µs 536.568µs ± 0.807µs 538.278µs 540.574µs 542.498µs 545.279µs 1.62% 1.488 2.609 0.33% 0.125µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1833922.166op/s 1861292.898op/s ± 6074.768op/s 1863696.986op/s ± 2804.639op/s 1865646.304op/s 1867445.767op/s 1868338.083op/s 1868874.078op/s 0.28% -1.464 2.488 0.33% 429.551op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.014µs 380.845µs ± 0.304µs 380.853µs ± 0.230µs 381.083µs 381.310µs 381.474µs 381.612µs 0.20% -0.120 -0.410 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2620459.683op/s 2625744.739op/s ± 2096.794op/s 2625685.125op/s ± 1584.415op/s 2627236.118op/s 2629181.654op/s 2630337.044op/s 2631484.106op/s 0.22% 0.124 -0.408 0.08% 148.266op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.448µs 189.800µs ± 0.189µs 189.767µs ± 0.130µs 189.914µs 190.161µs 190.301µs 190.342µs 0.30% 0.617 -0.106 0.10% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5253690.617op/s 5268697.229op/s ± 5250.660op/s 5269621.182op/s ± 3618.508op/s 5272589.675op/s 5275786.925op/s 5276643.251op/s 5278486.877op/s 0.17% -0.612 -0.115 0.10% 371.278op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.549µs 36.654µs ± 0.061µs 36.648µs ± 0.032µs 36.683µs 36.733µs 36.841µs 37.139µs 1.34% 2.930 19.644 0.17% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26925695.078op/s 27282514.784op/s ± 44997.814op/s 27286433.618op/s ± 23540.476op/s 27309523.028op/s 27337256.890op/s 27354486.492op/s 27360189.025op/s 0.27% -2.866 18.996 0.16% 3181.826op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.937µs 46.039µs ± 0.115µs 46.024µs ± 0.036µs 46.065µs 46.130µs 46.200µs 47.457µs 3.11% 9.476 113.645 0.25% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21071642.883op/s 21720990.684op/s ± 53066.045op/s 21727644.699op/s ± 16914.112op/s 21743557.928op/s 21761756.880op/s 21765367.061op/s 21769044.467op/s 0.19% -9.284 110.435 0.24% 3752.336op/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 [537.022µs; 537.511µs] or [-0.045%; +0.045%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1860450.994op/s; 1862134.803op/s] or [-0.045%; +0.045%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.802µs; 380.887µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625454.143op/s; 2626035.334op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.774µs; 189.827µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5267969.538op/s; 5269424.920op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.645µs; 36.662µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27276278.520op/s; 27288751.048op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.023µs; 46.055µs] or [-0.035%; +0.035%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21713636.241op/s; 21728345.127op/s] or [-0.034%; +0.034%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 966d4f9 1769628919 01-28-gyuheon0h_collect-thread-name
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.353µs 2.393µs ± 0.020µs 2.389µs ± 0.004µs 2.395µs 2.423µs 2.433µs 2.610µs 9.26% 6.528 66.617 0.84% 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.390µs; 2.396µs] or [-0.116%; +0.116%] None None None

Baseline

Omitted due to size.

@gyuheon0h gyuheon0h force-pushed the 01-28-gyuheon0h_collect-thread-name branch from 4102352 to d1e1f39 Compare January 28, 2026 17:46
@gyuheon0h gyuheon0h changed the title feat(crashtracking): emit crashing thread name in crash report feat(crashtracking): emit crashing thread name in crash report for linux crashes Jan 28, 2026
@gyuheon0h gyuheon0h changed the title feat(crashtracking): emit crashing thread name in crash report for linux crashes feat(crashtracking)!: emit crashing thread name in crash report for linux crashes Jan 28, 2026
@gyuheon0h gyuheon0h marked this pull request as ready for review January 28, 2026 18:23
@gyuheon0h gyuheon0h requested review from a team as code owners January 28, 2026 18:23
@gyuheon0h gyuheon0h force-pushed the 01-28-gyuheon0h_collect-thread-name branch from 9ca25d2 to 966d4f9 Compare January 28, 2026 19:35
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 28, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.44 MB 8.44 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.81 MB 91.84 MB +.02% (+26.84 KB) 🔍
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 62.80 MB 62.82 MB +.02% (+15.07 KB) 🔍
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 9.48 MB 9.48 MB +0% (+480 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.15 MB 106.19 MB +.03% (+41.39 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB +.01% (+1.10 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.26 MB 25.26 MB +.01% (+5.00 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.59 KB 75.94 KB +.47% (+364 B) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 167.23 MB 167.20 MB --.01% (-24.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 847.79 MB 847.84 MB +0% (+46.95 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.61 MB 9.61 MB +.01% (+1.50 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.59 KB 75.94 KB +.47% (+364 B) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.10 MB 23.10 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.39 MB 48.40 MB +.01% (+8.09 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.33 MB 21.34 MB +.02% (+4.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 76.76 KB 77.12 KB +.47% (+370 B) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 171.34 MB 171.33 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 834.55 MB 834.59 MB +0% (+45.53 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.27 MB 7.27 MB +0% (+512 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 76.76 KB 77.12 KB +.47% (+370 B) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.71 MB 24.71 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.10 MB 44.10 MB +0% (+3.99 KB) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.27 MB 80.29 MB +.03% (+25.03 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.90 MB 9.91 MB +.07% (+8.00 KB) 🔍
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 64.68 MB 64.69 MB +.02% (+13.58 KB) 🔍
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 10.51 MB 10.51 MB +.04% (+4.62 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.11 MB 100.14 MB +.02% (+28.94 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.48 MB 11.49 MB +.04% (+4.85 KB) 🔍

Copy link
Contributor

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice PR.
I have questions and we should also think about the message/log sent to the errors intake.
We may want to have same level of information here too.

Comment on lines +166 to +167
#[cfg(target_os = "linux")]
emit_thread_name(pipe, ppid, crashing_tid)?;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not letting the receiver gathering the thread name ? It might be simpler relying on the receiver no ?
We could imagine passing on the command line of the receiver the thread id of the crashing thread.
There is phase enrich_callstacks where the receiver enriches the frames with build id. We could have a enrich_thread which will be able to collect the thread name

let mut buf = Vec::new();

emit_thread_name(&mut buf, pid, tid).expect("thread name to emit");
let out = str::from_utf8(&buf).expect("to be valid UTF8");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you rename out to thread_name please

Comment on lines +88 to +92
#[cfg(not(any(target_os = "linux", target_os = "macos")))]
fn current_tid() -> libc::pid_t {
0
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it needed ?

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.

4 participants