Skip to content

Conversation

@gyuheon0h
Copy link
Contributor

@gyuheon0h gyuheon0h commented Nov 10, 2025

What does this PR do?

Platforms like Windows cannot send siginfo because Windows does not have POSIX style signals. We should not hard gate on siginfo being received to create and emit a Crash Ping.

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

  1. Unit tests updated
  2. FFI example in examples/ffi/crashinfo.cpp updated and ran:
    Pings:
{"api_version":"v2","tracer_time":1762771104,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"f9c7468c-dbde-47da-83f9-3cd247888017\",\"message\":\"Crashtracker crash ping: crash processing started - Process terminated\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:f9c7468c-dbde-47da-83f9-3cd247888017,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown","is_sensitive":false,"is_crash":false}]}
{"api_version":"v2","tracer_time":1762771104,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"f9c7468c-dbde-47da-83f9-3cd247888017\",\"siginfo\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"message\":\"Crashtracker crash ping: crash processing started - Process terminated with UNKNOWN (UNKNOWN)\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:f9c7468c-dbde-47da-83f9-3cd247888017,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":false,"is_crash":false}]}
{"api_version":"v2","tracer_time":1762771105,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"fa08d3fd-3abc-461d-b480-80813cedacbf\",\"message\":\"Crashtracker crash ping: crash processing started - Process terminated\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:fa08d3fd-3abc-461d-b480-80813cedacbf,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown","is_sensitive":false,"is_crash":false}]}
{"api_version":"v2","tracer_time":1762771105,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"fa08d3fd-3abc-461d-b480-80813cedacbf\",\"siginfo\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"message\":\"Crashtracker crash ping: crash processing started - Process terminated with UNKNOWN (UNKNOWN)\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:fa08d3fd-3abc-461d-b480-80813cedacbf,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":false,"is_crash":false}]}
{"api_version":"v2","tracer_time":1762771106,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"4812e5e1-668b-4a95-bc8b-b439988c5ea3\",\"message\":\"Crashtracker crash ping: crash processing started - Process terminated\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:4812e5e1-668b-4a95-bc8b-b439988c5ea3,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown","is_sensitive":false,"is_crash":false}]}
{"api_version":"v2","tracer_time":1762771106,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"crash_uuid\":\"4812e5e1-668b-4a95-bc8b-b439988c5ea3\",\"siginfo\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"message\":\"Crashtracker crash ping: crash processing started - Process terminated with UNKNOWN (UNKNOWN)\",\"version\":\"1.0\",\"kind\":\"Crash ping\",\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]}}","level":"DEBUG","count":1,"stack_trace":null,"tags":"uuid:4812e5e1-668b-4a95-bc8b-b439988c5ea3,is_crash_ping:true,service:unknown,language_name:unknown,language_version:unknown,tracer_version:unknown,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":false,"is_crash":false}]}

Reports:

{"api_version":"v2","tracer_time":1568899800,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"counters\":{\"my_amazing_counter\":3},\"data_schema_version\":\"1.4\",\"error\":{\"is_crash\":true,\"kind\":\"Panic\",\"source_type\":\"Crashtracking\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":false},\"threads\":[{\"crashed\":false,\"name\":\"main thread\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":true},\"state\":\"sleeping\"}]},\"files\":{\"/etc/hosts\":[\"127.0.0.1\\tlocalhost\",\"::1\\tlocalhost ip6-localhost ip6-loopback\",\"fe00::\\tip6-localnet\",\"ff00::\\tip6-mcastprefix\",\"ff02::1\\tip6-allnodes\",\"ff02::2\\tip6-allrouters\",\"172.17.0.2\\tgyuheon\",\"172.17.0.1 host.docker.internal\"]},\"incomplete\":false,\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]},\"os_info\":{\"architecture\":\"x86_64\",\"bitness\":\"64-bit\",\"os_type\":\"Ubuntu\",\"version\":\"22.4.0\"},\"proc_info\":{\"pid\":42},\"sig_info\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"timestamp\":\"2019-09-19 13:30:00 UTC\",\"uuid\":\"f9c7468c-dbde-47da-83f9-3cd247888017\"}","level":"ERROR","count":1,"stack_trace":null,"tags":"data_schema_version:1.4,incomplete:false,is_crash:true,uuid:f9c7468c-dbde-47da-83f9-3cd247888017,my_amazing_counter:3,si_code:16,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":true,"is_crash":true}]}
{"api_version":"v2","tracer_time":1568899800,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"counters\":{\"my_amazing_counter\":3},\"data_schema_version\":\"1.4\",\"error\":{\"is_crash\":true,\"kind\":\"Panic\",\"source_type\":\"Crashtracking\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":false},\"threads\":[{\"crashed\":false,\"name\":\"main thread\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":true},\"state\":\"sleeping\"}]},\"files\":{\"/etc/hosts\":[\"127.0.0.1\\tlocalhost\",\"::1\\tlocalhost ip6-localhost ip6-loopback\",\"fe00::\\tip6-localnet\",\"ff00::\\tip6-mcastprefix\",\"ff02::1\\tip6-allnodes\",\"ff02::2\\tip6-allrouters\",\"172.17.0.2\\tgyuheon\",\"172.17.0.1 host.docker.internal\"]},\"incomplete\":false,\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]},\"os_info\":{\"architecture\":\"x86_64\",\"bitness\":\"64-bit\",\"os_type\":\"Ubuntu\",\"version\":\"22.4.0\"},\"proc_info\":{\"pid\":42},\"sig_info\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"timestamp\":\"2019-09-19 13:30:00 UTC\",\"uuid\":\"fa08d3fd-3abc-461d-b480-80813cedacbf\"}","level":"ERROR","count":1,"stack_trace":null,"tags":"data_schema_version:1.4,incomplete:false,is_crash:true,uuid:fa08d3fd-3abc-461d-b480-80813cedacbf,my_amazing_counter:3,si_code:16,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":true,"is_crash":true}]}
{"api_version":"v2","tracer_time":1568899800,"runtime_id":"unknown","seq_id":1,"application":{"service_name":"unknown","language_name":"unknown","language_version":"unknown","tracer_version":"unknown"},"host":{"hostname":"gyuheon","os":"linux","os_version":"6.8.0-1033-aws","kernel_name":"Linux","kernel_release":"6.8.0-1033-aws","kernel_version":"#35~22.04.1-Ubuntu SMP Wed Jul 23 17:51:00 UTC 2025"},"origin":"Crashtracker","request_type":"logs","payload":[{"message":"{\"counters\":{\"my_amazing_counter\":3},\"data_schema_version\":\"1.4\",\"error\":{\"is_crash\":true,\"kind\":\"Panic\",\"source_type\":\"Crashtracking\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":false},\"threads\":[{\"crashed\":false,\"name\":\"main thread\",\"stack\":{\"format\":\"Datadog Crashtracker 1.0\",\"frames\":[{\"column\":7,\"file\":\"/path/to/code/file_0\",\"line\":3},{\"column\":10,\"file\":\"/path/to/code/file_1\",\"line\":7},{\"column\":13,\"file\":\"/path/to/code/file_2\",\"line\":11},{\"column\":16,\"file\":\"/path/to/code/file_3\",\"line\":15},{\"column\":19,\"file\":\"/path/to/code/file_4\",\"line\":19},{\"column\":22,\"file\":\"/path/to/code/file_5\",\"line\":23},{\"column\":25,\"file\":\"/path/to/code/file_6\",\"line\":27},{\"column\":28,\"file\":\"/path/to/code/file_7\",\"line\":31},{\"column\":31,\"file\":\"/path/to/code/file_8\",\"line\":35},{\"column\":34,\"file\":\"/path/to/code/file_9\",\"line\":39},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"abcdef12345\",\"build_id_type\":\"PDB\",\"file_type\":\"PE\",\"path\":\"C:/Program Files/best_program_ever.exe\",\"relative_address\":\"0xBABEF00D\"},{\"ip\":\"0xDEADBEEF\",\"module_base_address\":\"0xABBAABBA\",\"build_id\":\"987654321fedcba0\",\"build_id_type\":\"GNU\",\"file_type\":\"ELF\",\"path\":\"/usr/bin/awesome-gnu-utility.so\",\"relative_address\":\"0xBABEF00D\"}],\"incomplete\":true},\"state\":\"sleeping\"}]},\"files\":{\"/etc/hosts\":[\"127.0.0.1\\tlocalhost\",\"::1\\tlocalhost ip6-localhost ip6-loopback\",\"fe00::\\tip6-localnet\",\"ff00::\\tip6-mcastprefix\",\"ff02::1\\tip6-allnodes\",\"ff02::2\\tip6-allrouters\",\"172.17.0.2\\tgyuheon\",\"172.17.0.1 host.docker.internal\"]},\"incomplete\":false,\"metadata\":{\"library_name\":\"libdatadog\",\"library_version\":\"42\",\"family\":\"rust\",\"tags\":[\"best-hockey-team:Habs\"]},\"os_info\":{\"architecture\":\"x86_64\",\"bitness\":\"64-bit\",\"os_type\":\"Ubuntu\",\"version\":\"22.4.0\"},\"proc_info\":{\"pid\":42},\"sig_info\":{\"si_code\":16,\"si_code_human_readable\":\"UNKNOWN\",\"si_signo\":-1,\"si_signo_human_readable\":\"UNKNOWN\"},\"timestamp\":\"2019-09-19 13:30:00 UTC\",\"uuid\":\"4812e5e1-668b-4a95-bc8b-b439988c5ea3\"}","level":"ERROR","count":1,"stack_trace":null,"tags":"data_schema_version:1.4,incomplete:false,is_crash:true,uuid:4812e5e1-668b-4a95-bc8b-b439988c5ea3,my_amazing_counter:3,si_code:16,si_code_human_readable:UNKNOWN,si_signo:-1,si_signo_human_readable:UNKNOWN","is_sensitive":true,"is_crash":true}]}

Copy link
Contributor Author

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

@gyuheon0h gyuheon0h changed the title Make siginfo optional and update tests/examples [crashtracking] Make siginfo an optional field for CrashPing Nov 10, 2025
@gyuheon0h gyuheon0h marked this pull request as ready for review November 10, 2025 10:46
@gyuheon0h gyuheon0h requested a review from a team as a code owner November 10, 2025 10:46
@gyuheon0h gyuheon0h requested a review from gleocadie November 10, 2025 10:49
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 61 to +74
pub fn build(self) -> anyhow::Result<CrashPing> {
let crash_uuid = self.crash_uuid;
let sig_info = self.sig_info.context("sig_info is required")?;
let sig_info = self.sig_info;
let metadata = self.metadata.context("metadata is required")?;

let message = self.custom_message.unwrap_or_else(|| {
format!(
"Crashtracker crash ping: crash processing started - Process terminated with {:?} ({:?})",
sig_info.si_code_human_readable, sig_info.si_signo_human_readable
)
if let Some(ref sig_info) = sig_info {
format!(
"Crashtracker crash ping: crash processing started - Process terminated with {:?} ({:?})",
sig_info.si_code_human_readable, sig_info.si_signo_human_readable
)
} else {
"Crashtracker crash ping: crash processing started - Process terminated".to_string()
}

Choose a reason for hiding this comment

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

P1 Badge Include "unknown signal" in crash ping default message

When sig_info is absent the builder falls back to "Crashtracker crash ping: crash processing started - Process terminated" and never mentions that the signal is unknown. However, test_crash_ping_builder_validation now asserts crash_ping.message().contains("unknown signal"), so the new test will always fail and Windows crash pings will be logged without an explicit indication that no signal data was available. The else branch should produce a message that contains "unknown signal" (or the test expectation should be adjusted).

Useful? React with 👍 / 👎.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Confused because your comment is for how the code was in the first commit, but the code snippet you show is the latest, correct version. Also I only asked you for a review after the latest version was pushed...

Bad AI!

@pr-commenter
Copy link

pr-commenter bot commented Nov 10, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-11-10 11:11:21

Comparing candidate commit 75337b1 in PR branch gyuheon0h/prof-13003-siginfo-optional with baseline commit c9a8858 in branch main.

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

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 121.803µs 123.914µs ± 1.251µs 123.731µs ± 0.490µs 124.236µs 125.301µs 129.559µs 135.080µs 9.17% 4.655 34.220 1.01% 0.088µ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 [123.740µs; 124.087µs] or [-0.140%; +0.140%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.651µs 25.756µs ± 9.466µs 17.994µs ± 0.169µs 33.653µs 42.850µs 43.899µs 64.723µs 259.69% 0.831 0.006 36.66% 0.669µ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.444µs; 27.068µs] or [-5.094%; +5.094%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.354µs 161.784µs ± 0.328µs 161.693µs ± 0.152µs 161.902µs 162.588µs 162.793µs 163.110µs 0.88% 1.582 2.579 0.20% 0.023µ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.739µs; 161.830µs] or [-0.028%; +0.028%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.108ms 14.155ms ± 0.031ms 14.149ms ± 0.011ms 14.161ms 14.243ms 14.267ms 14.331ms 1.29% 2.766 9.372 0.22% 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.151ms; 14.159ms] or [-0.030%; +0.030%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 6.209ms 6.471ms ± 0.067ms 6.477ms ± 0.024ms 6.505ms 6.541ms 6.618ms 6.691ms 3.31% -1.208 3.934 1.03% 0.005ms 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 [6.462ms; 6.481ms] or [-0.143%; +0.143%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.895µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.919µs 3.920µs 3.923µs 0.25% -0.411 6.588 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254917047.779op/s 255550406.978op/s ± 197708.631op/s 255556696.614op/s ± 110925.483op/s 255678062.832op/s 255781678.788op/s 255830054.062op/s 256757842.310op/s 0.47% 0.430 6.688 0.08% 13980.111op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.067µs 81.979µs ± 1.381µs 81.789µs ± 0.947µs 82.892µs 84.259µs 85.782µs 86.038µs 5.20% 0.458 -0.013 1.68% 0.098µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11622820.757op/s 12201691.880op/s ± 204146.361op/s 12226632.179op/s ± 139919.507op/s 12333355.875op/s 12506872.490op/s 12594562.861op/s 12647532.698op/s 3.44% -0.370 -0.127 1.67% 14435.328op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.445µs 71.890µs ± 0.647µs 71.584µs ± 0.093µs 71.975µs 73.465µs 74.306µs 74.398µs 3.93% 2.112 3.749 0.90% 0.046µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13441293.025op/s 13911228.461op/s ± 122819.068op/s 13969628.823op/s ± 18084.632op/s 13983578.450op/s 13991036.527op/s 13996792.199op/s 13996877.991op/s 0.20% -2.078 3.575 0.88% 8684.620op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.890µs 3.912µs ± 0.008µs 3.911µs ± 0.001µs 3.912µs 3.916µs 3.923µs 3.989µs 2.02% 8.195 74.999 0.21% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250662682.728op/s 255656607.562op/s ± 520447.046op/s 255719652.055op/s ± 74927.991op/s 255790927.282op/s 255872537.414op/s 255934493.325op/s 257069460.430op/s 0.53% -8.134 74.312 0.20% 36801.164op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.259µs 69.024µs ± 0.691µs 68.763µs ± 0.315µs 69.308µs 70.580µs 71.192µs 71.531µs 4.03% 1.466 1.715 1.00% 0.049µs 1 200
credit_card/is_card_number/378282246310005 throughput 13979873.769op/s 14489046.703op/s ± 142980.668op/s 14542666.271op/s ± 66934.431op/s 14594140.828op/s 14628430.583op/s 14638756.710op/s 14650021.032op/s 0.74% -1.420 1.544 0.98% 10110.260op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.389µs 45.723µs ± 0.116µs 45.733µs ± 0.077µs 45.804µs 45.894µs 45.924µs 45.941µs 0.45% -0.507 -0.001 0.25% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21767193.996op/s 21871002.787op/s ± 55577.613op/s 21866137.011op/s ± 36679.598op/s 21905473.087op/s 21964025.336op/s 22024420.990op/s 22031625.745op/s 0.76% 0.521 0.021 0.25% 3929.931op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.428µs 6.435µs ± 0.005µs 6.434µs ± 0.002µs 6.438µs 6.442µs 6.446µs 6.476µs 0.66% 3.779 25.059 0.08% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154405382.289op/s 155393298.161op/s ± 121912.558op/s 155427689.447op/s ± 54529.551op/s 155468130.021op/s 155517670.891op/s 155529756.960op/s 155563061.201op/s 0.09% -3.749 24.743 0.08% 8620.520op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.913µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.921µs 3.925µs 0.32% -0.654 10.154 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254788016.072op/s 255589222.420op/s ± 188317.915op/s 255604140.790op/s ± 95560.784op/s 255691882.880op/s 255815609.099op/s 255878384.955op/s 256841030.174op/s 0.48% 0.680 10.287 0.07% 13316.087op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 61.567µs 62.710µs ± 0.480µs 62.721µs ± 0.311µs 63.011µs 63.543µs 63.860µs 64.168µs 2.31% 0.126 0.187 0.76% 0.034µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15584196.495op/s 15947263.511op/s ± 122047.083op/s 15943646.487op/s ± 78932.446op/s 16026796.460op/s 16123715.532op/s 16231867.872op/s 16242421.388op/s 1.87% -0.076 0.157 0.76% 8630.032op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.898µs 54.124µs ± 0.087µs 54.134µs ± 0.053µs 54.180µs 54.265µs 54.323µs 54.371µs 0.44% -0.169 0.195 0.16% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18392183.183op/s 18476206.560op/s ± 29868.055op/s 18472509.216op/s ± 18118.320op/s 18495147.342op/s 18525847.660op/s 18548678.993op/s 18553623.683op/s 0.44% 0.180 0.197 0.16% 2111.990op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.913µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.919µs 3.920µs 0.19% -2.040 19.621 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255119533.383op/s 255590001.891op/s ± 166705.660op/s 255609214.713op/s ± 84875.470op/s 255681562.419op/s 255774418.972op/s 255837652.713op/s 256930798.765op/s 0.52% 2.075 19.924 0.07% 11787.870op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.315µs 50.512µs ± 0.090µs 50.504µs ± 0.061µs 50.569µs 50.656µs 50.768µs 50.824µs 0.63% 0.668 0.778 0.18% 0.006µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19675569.729op/s 19797268.742op/s ± 35244.523op/s 19800225.725op/s ± 23742.860op/s 19822647.375op/s 19845195.053op/s 19865248.623op/s 19874673.122op/s 0.38% -0.656 0.752 0.18% 2492.164op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.364µs 45.686µs ± 0.128µs 45.700µs ± 0.095µs 45.786µs 45.869µs 45.930µs 46.008µs 0.67% -0.286 -0.535 0.28% 0.009µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21735259.772op/s 21888857.523op/s ± 61609.003op/s 21881698.381op/s ± 45526.431op/s 21934930.287op/s 22001917.281op/s 22026466.106op/s 22043898.158op/s 0.74% 0.298 -0.529 0.28% 4356.414op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.428µs 6.435µs ± 0.004µs 6.435µs ± 0.002µs 6.437µs 6.443µs 6.448µs 6.455µs 0.32% 1.498 4.092 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154916212.161op/s 155392497.308op/s ± 93009.225op/s 155404436.799op/s ± 49630.216op/s 155452714.016op/s 155506014.677op/s 155526027.118op/s 155576423.664op/s 0.11% -1.492 4.058 0.06% 6576.745op/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.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255523006.463op/s; 255577807.493op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [81.787µs; 82.170µs] or [-0.233%; +0.233%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12173399.158op/s; 12229984.602op/s] or [-0.232%; +0.232%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.800µs; 71.980µs] or [-0.125%; +0.125%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13894206.919op/s; 13928250.003op/s] or [-0.122%; +0.122%] None None None
credit_card/is_card_number/37828224631 execution_time [3.910µs; 3.913µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/37828224631 throughput [255584478.607op/s; 255728736.517op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.929µs; 69.120µs] or [-0.139%; +0.139%] None None None
credit_card/is_card_number/378282246310005 throughput [14469230.958op/s; 14508862.448op/s] or [-0.137%; +0.137%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.707µs; 45.739µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21863300.264op/s; 21878705.309op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.435µs; 6.436µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 throughput [155376402.253op/s; 155410194.069op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255563123.368op/s; 255615321.472op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.644µs; 62.777µs] or [-0.106%; +0.106%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15930348.959op/s; 15964178.063op/s] or [-0.106%; +0.106%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [54.112µs; 54.136µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18472067.135op/s; 18480345.985op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255566898.090op/s; 255613105.692op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.500µs; 50.525µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19792384.191op/s; 19802153.294op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.668µs; 45.704µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21880319.107op/s; 21897395.938op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.435µs; 6.436µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155379607.124op/s; 155405387.492op/s] or [-0.008%; +0.008%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.349µs 2.424µs ± 0.019µs 2.425µs ± 0.005µs 2.433µs 2.450µs 2.459µs 2.460µs 1.48% -1.920 5.460 0.79% 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.421µs; 2.427µs] or [-0.110%; +0.110%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 204.862µs 205.441µs ± 0.353µs 205.427µs ± 0.282µs 205.702µs 206.057µs 206.309µs 206.562µs 0.55% 0.539 -0.225 0.17% 0.025µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4841155.157op/s 4867583.131op/s ± 8361.950op/s 4867901.598op/s ± 6674.969op/s 4874668.165op/s 4878954.330op/s 4880762.279op/s 4881325.092op/s 0.28% -0.531 -0.240 0.17% 591.279op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.616µs 18.843µs ± 0.129µs 18.827µs ± 0.088µs 18.917µs 19.079µs 19.189µs 19.389µs 2.98% 0.836 1.366 0.69% 0.009µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51576447.222op/s 53073794.739op/s ± 362511.218op/s 53114669.453op/s ± 246314.781op/s 53351466.811op/s 53601279.164op/s 53667665.114op/s 53717550.389op/s 1.14% -0.783 1.186 0.68% 25633.414op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.737µs 10.796µs ± 0.026µs 10.792µs ± 0.014µs 10.809µs 10.851µs 10.871µs 10.883µs 0.85% 0.767 0.754 0.24% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 91882239.233op/s 92624082.702op/s ± 224471.825op/s 92663590.142op/s ± 120644.188op/s 92773641.523op/s 92921782.726op/s 93058386.592op/s 93132309.731op/s 0.51% -0.751 0.727 0.24% 15872.555op/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.392µs; 205.490µs] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4866424.245op/s; 4868742.017op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.825µs; 18.861µs] or [-0.095%; +0.095%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53023554.171op/s; 53124035.308op/s] or [-0.095%; +0.095%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.793µs; 10.800µs] or [-0.034%; +0.034%] None None None
normalization/normalize_name/normalize_name/good throughput [92592973.066op/s; 92655192.338op/s] or [-0.034%; +0.034%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 171.196ns 176.156ns ± 4.309ns 175.203ns ± 2.113ns 177.783ns 184.164ns 189.777ns 198.555ns 13.33% 1.668 4.039 2.44% 0.305ns 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 [175.559ns; 176.754ns] or [-0.339%; +0.339%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 60.310ms 60.818ms ± 2.346ms 60.513ms ± 0.062ms 60.581ms 60.765ms 76.908ms 82.292ms 35.99% 8.098 64.671 3.85% 0.166ms 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 [60.493ms; 61.143ms] or [-0.535%; +0.535%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.711ms 10.740ms ± 0.018ms 10.739ms ± 0.008ms 10.747ms 10.766ms 10.778ms 10.914ms 1.63% 4.797 42.279 0.17% 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.738ms; 10.743ms] or [-0.023%; +0.023%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 534.669µs 535.992µs ± 1.306µs 535.493µs ± 0.384µs 536.337µs 538.169µs 540.347µs 544.114µs 1.61% 2.416 8.431 0.24% 0.092µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1837849.958op/s 1865710.286op/s ± 4520.362op/s 1867436.402op/s ± 1340.399op/s 1868463.880op/s 1869337.653op/s 1870197.793op/s 1870316.233op/s 0.15% -2.383 8.155 0.24% 319.638op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.356µs 380.939µs ± 0.288µs 380.937µs ± 0.183µs 381.117µs 381.436µs 381.593µs 381.757µs 0.22% 0.208 -0.407 0.08% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2619468.849op/s 2625096.980op/s ± 1984.439op/s 2625102.993op/s ± 1263.939op/s 2626357.109op/s 2628258.862op/s 2628787.050op/s 2629117.083op/s 0.15% -0.205 -0.409 0.08% 140.321op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.770µs 190.390µs ± 0.263µs 190.342µs ± 0.181µs 190.587µs 190.864µs 190.963µs 191.234µs 0.47% 0.439 -0.281 0.14% 0.019µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5229185.128op/s 5252395.916op/s ± 7262.845op/s 5253712.203op/s ± 4987.153op/s 5257654.741op/s 5262209.916op/s 5265876.893op/s 5269526.840op/s 0.30% -0.433 -0.288 0.14% 513.561op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.683µs 37.777µs ± 0.048µs 37.772µs ± 0.027µs 37.798µs 37.869µs 37.905µs 37.976µs 0.54% 0.990 1.731 0.13% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26332606.209op/s 26471499.108op/s ± 33381.638op/s 26474739.537op/s ± 18742.396op/s 26494197.858op/s 26517903.752op/s 26532961.018op/s 26537110.807op/s 0.24% -0.979 1.700 0.13% 2360.438op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.823µs 45.905µs ± 0.105µs 45.889µs ± 0.023µs 45.919µs 45.985µs 46.078µs 47.248µs 2.96% 10.516 130.211 0.23% 0.007µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21165074.295op/s 21784069.203op/s ± 48839.757op/s 21791800.673op/s ± 10894.413op/s 21801202.603op/s 21810765.487op/s 21817139.324op/s 21823334.996op/s 0.14% -10.368 127.591 0.22% 3453.492op/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 [535.811µs; 536.173µs] or [-0.034%; +0.034%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1865083.807op/s; 1866336.765op/s] or [-0.034%; +0.034%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.899µs; 380.978µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624821.956op/s; 2625372.004op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.353µs; 190.426µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5251389.356op/s; 5253402.477op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.770µs; 37.783µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26466872.734op/s; 26476125.482op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.891µs; 45.920µs] or [-0.032%; +0.032%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21777300.483op/s; 21790837.924op/s] or [-0.031%; +0.031%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 243.519ns 251.759ns ± 12.592ns 245.819ns ± 1.525ns 252.950ns 281.678ns 291.770ns 292.089ns 18.82% 1.918 2.518 4.99% 0.890ns 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 [250.013ns; 253.504ns] or [-0.693%; +0.693%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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 35.386µs 35.865µs ± 0.816µs 35.471µs ± 0.047µs 35.617µs 37.592µs 37.630µs 38.916µs 9.71% 1.737 1.316 2.27% 0.058µ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 [35.751µs; 35.978µs] or [-0.315%; +0.315%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.052µs 85.211µs ± 0.253µs 85.180µs ± 0.044µs 85.227µs 85.340µs 85.630µs 88.559µs 3.97% 11.714 151.410 0.30% 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 [85.176µs; 85.247µs] or [-0.041%; +0.041%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.944µs 5.002µs ± 0.038µs 4.991µs ± 0.029µs 5.045µs 5.058µs 5.062µs 5.062µs 1.42% 0.253 -1.509 0.75% 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 [4.997µs; 5.008µs] or [-0.105%; +0.105%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 75337b1 1762772242 gyuheon0h/prof-13003-siginfo-optional
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.186µs 3.277µs ± 1.447µs 3.034µs ± 0.032µs 3.067µs 3.688µs 14.230µs 14.968µs 393.44% 7.244 54.070 44.03% 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 [3.077µs; 3.478µs] or [-6.117%; +6.117%] None None None

Baseline

Omitted due to size.

@datadog-official
Copy link

datadog-official bot commented Nov 10, 2025

⚠️ Tests

⚠️ Warnings

🧪 1 Test failed

crash_tracking_empty_endpoint from bin_tests::crashtracker_bin_test (Datadog)
Test has failed

ℹ️ Info

❄️ No new flaky tests detected

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

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/prof-13003-siginfo-optional branch from 2f66e14 to 75337b1 Compare November 10, 2025 10:57
@gyuheon0h
Copy link
Contributor Author

@codex

@chatgpt-codex-connector
Copy link

Summary

Testing

  • cargo test -p datadog-crashtracker crash_ping_builder_validation

View task →

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.40%. Comparing base (c9a8858) to head (75337b1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1326      +/-   ##
==========================================
- Coverage   71.42%   71.40%   -0.03%     
==========================================
  Files         375      375              
  Lines       59469    59484      +15     
==========================================
- Hits        42475    42472       -3     
- Misses      16994    17012      +18     
Components Coverage Δ
datadog-crashtracker 54.54% <100.00%> (+0.11%) ⬆️
datadog-crashtracker-ffi 18.37% <ø> (ø)
datadog-alloc ∅ <ø> (∅)
data-pipeline ∅ <ø> (∅)
data-pipeline-ffi ∅ <ø> (∅)
ddcommon ∅ <ø> (∅)
ddcommon-ffi ∅ <ø> (∅)
ddtelemetry ∅ <ø> (∅)
ddtelemetry-ffi ∅ <ø> (∅)
dogstatsd-client ∅ <ø> (∅)
datadog-ipc 82.59% <ø> (-0.07%) ⬇️
datadog-profiling 75.93% <ø> (ø)
datadog-profiling-ffi 62.16% <ø> (ø)
datadog-sidecar 36.72% <ø> (ø)
datdog-sidecar-ffi 11.53% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
tinybytes ∅ <ø> (∅)
datadog-trace-normalization ∅ <ø> (∅)
datadog-trace-obfuscation 94.17% <ø> (ø)
datadog-trace-protobuf ∅ <ø> (∅)
datadog-trace-utils ∅ <ø> (∅)
datadog-tracer-flare 63.48% <ø> (ø)
datadog-log ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Nov 10, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 83.06 MB 83.06 MB +0% (+1.50 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.57 MB 7.57 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.55 MB 9.55 MB -0% (-96 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 96.24 MB 96.25 MB +0% (+6.45 KB) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 18.94 MB 18.94 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 52.37 KB 52.37 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 131.56 MB 131.56 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 693.77 MB 693.75 MB -0% (-15.07 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.26 MB 6.26 MB +0% (+512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 52.37 KB 52.37 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 18.92 MB 18.92 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 36.55 MB 36.56 MB +0% (+2.60 KB) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.03 MB 16.03 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 53.19 KB 53.19 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 133.76 MB 133.75 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 681.69 MB 681.68 MB -0% (-15.06 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.80 MB 4.80 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 53.19 KB 53.19 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.06 MB 20.06 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 34.32 MB 34.32 MB +0% (+1.06 KB) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 72.00 MB 72.00 MB +0% (+1000 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.92 MB 8.92 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 90.99 MB 90.99 MB +0% (+5.05 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.28 MB 10.28 MB -0% (-144 B) 👌

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.

LGTM

@gleocadie
Copy link
Contributor

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Nov 10, 2025

View all feedbacks in Devflow UI.

2025-11-10 18:41:14 UTC ℹ️ Start processing command /merge


2025-11-10 18:41:19 UTC ℹ️ MergeQueue: pull request added to the queue

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


2025-11-10 18:59:49 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit 875c2d4 into main Nov 10, 2025
46 of 48 checks passed
@dd-mergequeue dd-mergequeue bot deleted the gyuheon0h/prof-13003-siginfo-optional branch November 10, 2025 18:59
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