DataDog / libdatadog

Datadog shared rust-based library. For now only used in other products (e.g. Ruby or PHP libraries).
Apache License 2.0
48 stars 9 forks source link

[crashtracking]: add named socket support back in #722

Closed sanchda closed 2 weeks ago

sanchda commented 2 weeks ago

What does this PR do?

In the patches leading up to v14, I had tried to consolidate some of the receiver code paths. In so doing, I accidentally removed the entire ability for a collector to speak with an async receiver.

Sorry, PHP!

Rather than adding the same ddog_crasht_init_with_unix_socket as before, this patch adds a new ddog_crasht_init_without_receiver interface. All this does is check that the passed config has a valid unix_socket_path.

Motivation

Fixing past mistakes.

pr-commenter[bot] commented 2 weeks ago

Benchmarks

Comparison

Benchmark execution time: 2024-11-13 03:12:19

Comparing candidate commit f8021249 in PR branch sanchda/fix_crashtracking_socket with baseline commit 873ea858 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 51 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|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|4.593µs |4.611µs ± 0.008µs |4.611µs ± 0.006µs |4.617µs |4.624µs |4.629µs |4.630µs |0.42% |0.129 |-0.688 |0.17%|0.001µs |1 |200 | |credit_card/is_card_number/ |throughput |215961766.001op/s|216867120.192op/s ± 374391.796op/s|216858790.444op/s ± 290020.837op/s|217159252.018op/s|217422077.184op/s|217443682.226op/s|217718270.349op/s|0.40% |-0.122 |-0.694 |0.17%|26473.498op/s|1 |200 | |credit_card/is_card_number/ 3782-8224-6310-005 |execution_time|93.057µs |93.468µs ± 0.373µs |93.390µs ± 0.084µs |93.512µs |93.736µs |94.833µs |97.701µs |4.62% |7.976 |82.746 |0.40%|0.026µs |1 |200 | |credit_card/is_card_number/ 3782-8224-6310-005 |throughput |10235321.412op/s |10698998.681op/s ± 41446.238op/s |10707779.252op/s ± 9608.445op/s |10714365.434op/s |10719405.879op/s |10737890.364op/s |10746070.843op/s |0.36% |-7.729 |78.652 |0.39%|2930.692op/s |1 |200 | |credit_card/is_card_number/ 378282246310005 |execution_time|85.231µs |85.353µs ± 0.302µs |85.314µs ± 0.025µs |85.344µs |85.395µs |86.148µs |89.241µs |4.60% |11.205 |137.857 |0.35%|0.021µs |1 |200 | |credit_card/is_card_number/ 378282246310005 |throughput |11205625.604op/s |11716213.931op/s ± 39836.509op/s |11721373.030op/s ± 3437.519op/s |11724291.269op/s |11728716.556op/s |11732064.577op/s |11732792.220op/s |0.10% |-11.055 |134.815 |0.34%|2816.867op/s |1 |200 | |credit_card/is_card_number/37828224631 |execution_time|4.599µs |4.614µs ± 0.008µs |4.614µs ± 0.005µs |4.618µs |4.628µs |4.629µs |4.634µs |0.43% |0.058 |-0.722 |0.18%|0.001µs |1 |200 | |credit_card/is_card_number/37828224631 |throughput |215801655.892op/s|216752466.591op/s ± 385489.110op/s|216735909.265op/s ± 257875.451op/s|217042868.557op/s|217401545.365op/s|217410750.030op/s|217421703.377op/s|0.32% |-0.051 |-0.726 |0.18%|27258.196op/s|1 |200 | |credit_card/is_card_number/378282246310005 |execution_time|81.589µs |82.020µs ± 0.278µs |81.971µs ± 0.141µs |82.114µs |82.507µs |82.786µs |83.639µs |2.03% |2.153 |8.666 |0.34%|0.020µs |1 |200 | |credit_card/is_card_number/378282246310005 |throughput |11956130.800op/s |12192288.455op/s ± 40992.703op/s |12199437.606op/s ± 20957.580op/s |12218597.359op/s |12241562.553op/s |12243399.590op/s |12256572.662op/s |0.47% |-2.093 |8.253 |0.34%|2898.622op/s |1 |200 | |credit_card/is_card_number/37828224631000521389798 |execution_time|58.851µs |58.886µs ± 0.020µs |58.882µs ± 0.014µs |58.900µs |58.924µs |58.938µs |58.952µs |0.12% |0.755 |-0.107 |0.03%|0.001µs |1 |200 | |credit_card/is_card_number/37828224631000521389798 |throughput |16962917.366op/s |16981867.751op/s ± 5849.996op/s |16983016.983op/s ± 4133.778op/s |16986668.862op/s |16988851.236op/s |16989878.806op/s |16992124.150op/s |0.05% |-0.754 |-0.110 |0.03%|413.657op/s |1 |200 | |credit_card/is_card_number/x371413321323331 |execution_time|6.818µs |6.833µs ± 0.032µs |6.823µs ± 0.002µs |6.825µs |6.879µs |7.015µs |7.062µs |3.50% |4.740 |27.627 |0.46%|0.002µs |1 |200 | |credit_card/is_card_number/x371413321323331 |throughput |141606536.318op/s|146341266.847op/s ± 666689.249op/s|146565679.608op/s ± 50975.714op/s |146616519.408op/s|146648585.153op/s|146663332.888op/s|146670298.503op/s|0.07% |-4.642 |26.614 |0.45%|47142.049op/s|1 |200 | |credit_card/is_card_number_no_luhn/ |execution_time|4.597µs |4.611µs ± 0.008µs |4.611µs ± 0.006µs |4.617µs |4.626µs |4.629µs |4.632µs |0.45% |0.320 |-0.789 |0.18%|0.001µs |1 |200 | |credit_card/is_card_number_no_luhn/ |throughput |215901160.289op/s|216858549.661op/s ± 398893.691op/s|216880690.467op/s ± 304857.283op/s|217172673.801op/s|217421599.657op/s|217447325.531op/s|217556247.271op/s|0.31% |-0.313 |-0.795 |0.18%|28206.043op/s|1 |200 | |credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 |execution_time|73.391µs |73.710µs ± 0.145µs |73.722µs ± 0.086µs |73.802µs |73.898µs |73.961µs |74.635µs |1.24% |0.915 |7.013 |0.20%|0.010µs |1 |200 | |credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 |throughput |13398614.800op/s |13566813.724op/s ± 26680.144op/s |13564479.376op/s ± 15865.941op/s |13582466.397op/s |13611051.837op/s |13624189.695op/s |13625594.316op/s |0.45% |-0.868 |6.695 |0.20%|1886.571op/s |1 |200 | |credit_card/is_card_number_no_luhn/ 378282246310005 |execution_time|65.262µs |65.414µs ± 0.115µs |65.409µs ± 0.097µs |65.492µs |65.626µs |65.703µs |65.706µs |0.45% |0.602 |-0.383 |0.18%|0.008µs |1 |200 | |credit_card/is_card_number_no_luhn/ 378282246310005 |throughput |15219316.316op/s |15287178.556op/s ± 26854.662op/s |15288404.535op/s ± 22695.247op/s |15312117.244op/s |15320786.784op/s |15322050.438op/s |15322797.258op/s |0.22% |-0.596 |-0.396 |0.18%|1898.911op/s |1 |200 | |credit_card/is_card_number_no_luhn/37828224631 |execution_time|4.596µs |4.611µs ± 0.008µs |4.611µs ± 0.006µs |4.617µs |4.624µs |4.630µs |4.633µs |0.48% |0.297 |-0.601 |0.17%|0.001µs |1 |200 | |credit_card/is_card_number_no_luhn/37828224631 |throughput |215840567.095op/s|216867034.329op/s ± 370129.767op/s|216879225.995op/s ± 290043.067op/s|217173554.862op/s|217404029.922op/s|217439808.592op/s|217584588.267op/s|0.33% |-0.291 |-0.609 |0.17%|26172.127op/s|1 |200 | |credit_card/is_card_number_no_luhn/378282246310005 |execution_time|62.157µs |62.523µs ± 0.134µs |62.511µs ± 0.067µs |62.602µs |62.734µs |62.842µs |63.102µs |0.95% |0.327 |1.489 |0.21%|0.009µs |1 |200 | |credit_card/is_card_number_no_luhn/378282246310005 |throughput |15847233.457op/s |15994184.931op/s ± 34239.867op/s |15997245.696op/s ± 17067.580op/s |16009317.224op/s |16048120.999op/s |16078458.117op/s |16088171.976op/s |0.57% |-0.306 |1.445 |0.21%|2421.124op/s |1 |200 | |credit_card/is_card_number_no_luhn/37828224631000521389798|execution_time|58.858µs |58.890µs ± 0.019µs |58.891µs ± 0.016µs |58.903µs |58.924µs |58.934µs |58.947µs |0.09% |0.393 |-0.529 |0.03%|0.001µs |1 |200 | |credit_card/is_card_number_no_luhn/37828224631000521389798|throughput |16964533.945op/s |16980861.662op/s ± 5436.564op/s |16980450.408op/s ± 4477.168op/s |16986146.948op/s |16988134.892op/s |16989159.880op/s |16989960.632op/s |0.06% |-0.392 |-0.532 |0.03%|384.423op/s |1 |200 | |credit_card/is_card_number_no_luhn/x371413321323331 |execution_time|6.817µs |6.834µs ± 0.030µs |6.822µs ± 0.003µs |6.825µs |6.897µs |6.972µs |7.023µs |2.94% |3.147 |12.201 |0.44%|0.002µs |1 |200 | |credit_card/is_card_number_no_luhn/x371413321323331 |throughput |142393386.241op/s|146323374.933op/s ± 633296.125op/s|146576461.449op/s ± 55784.277op/s |146632002.901op/s|146658766.971op/s|146674494.808op/s|146688617.415op/s|0.08% |-3.091 |11.709 |0.43%|44780.798op/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|[4.610µs; 4.612µs] or [-0.024%; +0.024%] |None |None |None | |credit_card/is_card_number/ |throughput |[216815233.090op/s; 216919007.294op/s] or [-0.024%; +0.024%]|None |None |None | |credit_card/is_card_number/ 3782-8224-6310-005 |execution_time|[93.416µs; 93.520µs] or [-0.055%; +0.055%] |None |None |None | |credit_card/is_card_number/ 3782-8224-6310-005 |throughput |[10693254.631op/s; 10704742.731op/s] or [-0.054%; +0.054%] |None |None |None | |credit_card/is_card_number/ 378282246310005 |execution_time|[85.311µs; 85.395µs] or [-0.049%; +0.049%] |None |None |None | |credit_card/is_card_number/ 378282246310005 |throughput |[11710692.974op/s; 11721734.888op/s] or [-0.047%; +0.047%] |None |None |None | |credit_card/is_card_number/37828224631 |execution_time|[4.612µs; 4.615µs] or [-0.025%; +0.025%] |None |None |None | |credit_card/is_card_number/37828224631 |throughput |[216699041.508op/s; 216805891.674op/s] or [-0.025%; +0.025%]|None |None |None | |credit_card/is_card_number/378282246310005 |execution_time|[81.981µs; 82.058µs] or [-0.047%; +0.047%] |None |None |None | |credit_card/is_card_number/378282246310005 |throughput |[12186607.260op/s; 12197969.649op/s] or [-0.047%; +0.047%] |None |None |None | |credit_card/is_card_number/37828224631000521389798 |execution_time|[58.884µs; 58.889µs] or [-0.005%; +0.005%] |None |None |None | |credit_card/is_card_number/37828224631000521389798 |throughput |[16981056.997op/s; 16982678.504op/s] or [-0.005%; +0.005%] |None |None |None | |credit_card/is_card_number/x371413321323331 |execution_time|[6.829µs; 6.838µs] or [-0.065%; +0.065%] |None |None |None | |credit_card/is_card_number/x371413321323331 |throughput |[146248870.129op/s; 146433663.565op/s] or [-0.063%; +0.063%]|None |None |None | |credit_card/is_card_number_no_luhn/ |execution_time|[4.610µs; 4.612µs] or [-0.026%; +0.026%] |None |None |None | |credit_card/is_card_number_no_luhn/ |throughput |[216803266.831op/s; 216913832.490op/s] or [-0.025%; +0.025%]|None |None |None | |credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 |execution_time|[73.689µs; 73.730µs] or [-0.027%; +0.027%] |None |None |None | |credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 |throughput |[13563116.113op/s; 13570511.336op/s] or [-0.027%; +0.027%] |None |None |None | |credit_card/is_card_number_no_luhn/ 378282246310005 |execution_time|[65.399µs; 65.430µs] or [-0.024%; +0.024%] |None |None |None | |credit_card/is_card_number_no_luhn/ 378282246310005 |throughput |[15283456.758op/s; 15290900.354op/s] or [-0.024%; +0.024%] |None |None |None | |credit_card/is_card_number_no_luhn/37828224631 |execution_time|[4.610µs; 4.612µs] or [-0.024%; +0.024%] |None |None |None | |credit_card/is_card_number_no_luhn/37828224631 |throughput |[216815737.903op/s; 216918330.755op/s] or [-0.024%; +0.024%]|None |None |None | |credit_card/is_card_number_no_luhn/378282246310005 |execution_time|[62.504µs; 62.542µs] or [-0.030%; +0.030%] |None |None |None | |credit_card/is_card_number_no_luhn/378282246310005 |throughput |[15989439.615op/s; 15998930.248op/s] or [-0.030%; +0.030%] |None |None |None | |credit_card/is_card_number_no_luhn/37828224631000521389798|execution_time|[58.887µs; 58.892µs] or [-0.004%; +0.004%] |None |None |None | |credit_card/is_card_number_no_luhn/37828224631000521389798|throughput |[16980108.207op/s; 16981615.118op/s] or [-0.004%; +0.004%] |None |None |None | |credit_card/is_card_number_no_luhn/x371413321323331 |execution_time|[6.830µs; 6.838µs] or [-0.061%; +0.061%] |None |None |None | |credit_card/is_card_number_no_luhn/x371413321323331 |throughput |[146235606.181op/s; 146411143.685op/s] or [-0.060%; +0.060%]|None |None |None | ### Group 2 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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.659µs|2.717µs ± 0.022µs|2.713µs ± 0.007µs|2.724µs|2.772µs|2.776µs|2.778µs|2.37% |0.672 |2.268 |0.80%|0.002µ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.714µs; 2.720µs] or [-0.112%; +0.112%]|None |None |None | ### Group 3 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|142.932µs|144.010µs ± 0.391µs|143.948µs ± 0.197µs|144.164µs|144.691µs|145.227µs|145.935µs|1.38% |1.521 |4.634 |0.27%|0.028µ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|[143.956µs; 144.065µs] or [-0.038%; +0.038%]|None |None |None | ### Group 4 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|8.994ms|9.028ms ± 0.014ms|9.029ms ± 0.009ms|9.037ms|9.050ms|9.068ms|9.079ms|0.55% |0.281 |0.587 |0.16%|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|[9.026ms; 9.030ms] or [-0.022%; +0.022%]|None |None |None | ### Group 5 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|293.041ns|304.665ns ± 14.892ns|298.473ns ± 3.243ns|306.159ns|340.408ns|348.040ns|348.439ns|16.74% |1.749 |1.793 |4.88%|1.053ns|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|[302.601ns; 306.729ns] or [-0.677%; +0.677%]|None |None |None | ### Group 6 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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.378µs|3.300µs ± 1.443µs|3.149µs ± 0.027µs|3.173µs|3.237µs|14.139µs|15.247µs|384.16% |7.558 |57.371 |43.62%|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.100µs; 3.500µs] or [-6.060%; +6.060%]|None |None |None | ### Group 7 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|506.523µs |507.482µs ± 0.830µs |507.399µs ± 0.279µs |507.690µs |508.137µs |508.568µs |517.599µs |2.01% |9.164 |108.958 |0.16%|0.059µs |1 |200 | |normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...|throughput |1931996.672op/s |1970520.259op/s ± 3174.486op/s |1970833.748op/s ± 1084.462op/s |1971751.242op/s |1973114.527op/s |1973896.391op/s |1974244.471op/s |0.17% |-9.032 |106.813 |0.16%|224.470op/s |1 |200 | |normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて |execution_time|467.756µs |468.418µs ± 0.279µs |468.424µs ± 0.175µs |468.584µs |468.891µs |469.069µs |469.291µs |0.19% |0.130 |0.054 |0.06%|0.020µs |1 |200 | |normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて |throughput |2130874.499op/s |2134847.971op/s ± 1273.414op/s |2134818.868op/s ± 799.360op/s |2135665.990op/s |2137029.840op/s |2137577.112op/s |2137868.435op/s |0.14% |-0.127 |0.052 |0.06%|90.044op/s |1 |200 | |normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters |execution_time|179.775µs |180.153µs ± 0.170µs |180.149µs ± 0.116µs |180.261µs |180.433µs |180.588µs |180.627µs |0.27% |0.207 |-0.070 |0.09%|0.012µs |1 |200 | |normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters |throughput |5536275.364op/s |5550841.427op/s ± 5233.014op/s |5550965.479op/s ± 3583.667op/s |5554720.842op/s |5559013.067op/s |5561395.489op/s |5562512.465op/s |0.21% |-0.201 |-0.075 |0.09%|370.030op/s |1 |200 | |normalization/normalize_service/normalize_service/[empty string] |execution_time|44.823µs |44.988µs ± 0.078µs |44.985µs ± 0.056µs |45.044µs |45.119µs |45.161µs |45.179µs |0.43% |0.232 |-0.406 |0.17%|0.006µs |1 |200 | |normalization/normalize_service/normalize_service/[empty string] |throughput |22133937.637op/s|22228358.061op/s ± 38546.015op/s|22229640.869op/s ± 27557.954op/s|22255632.889op/s|22290467.768op/s|22307964.087op/s|22310045.391op/s|0.36% |-0.224 |-0.410 |0.17%|2725.615op/s|1 |200 | |normalization/normalize_service/normalize_service/test_ASCII |execution_time|49.040µs |49.181µs ± 0.041µs |49.181µs ± 0.019µs |49.200µs |49.247µs |49.288µs |49.295µs |0.23% |-0.080 |1.023 |0.08%|0.003µs |1 |200 | |normalization/normalize_service/normalize_service/test_ASCII |throughput |20286120.920op/s|20333135.065op/s ± 16929.784op/s|20333097.256op/s ± 7716.507op/s |20340731.246op/s|20362342.159op/s|20376874.040op/s|20391498.441op/s|0.29% |0.087 |1.027 |0.08%|1197.116op/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|[507.367µs; 507.597µs] or [-0.023%; +0.023%] |None |None |None | |normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...|throughput |[1970080.306op/s; 1970960.213op/s] or [-0.022%; +0.022%] |None |None |None | |normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて |execution_time|[468.379µs; 468.456µs] or [-0.008%; +0.008%] |None |None |None | |normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて |throughput |[2134671.488op/s; 2135024.454op/s] or [-0.008%; +0.008%] |None |None |None | |normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters |execution_time|[180.129µs; 180.177µs] or [-0.013%; +0.013%] |None |None |None | |normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters |throughput |[5550116.181op/s; 5551566.672op/s] or [-0.013%; +0.013%] |None |None |None | |normalization/normalize_service/normalize_service/[empty string] |execution_time|[44.977µs; 44.999µs] or [-0.024%; +0.024%] |None |None |None | |normalization/normalize_service/normalize_service/[empty string] |throughput |[22223015.954op/s; 22233700.168op/s] or [-0.024%; +0.024%]|None |None |None | |normalization/normalize_service/normalize_service/test_ASCII |execution_time|[49.175µs; 49.187µs] or [-0.012%; +0.012%] |None |None |None | |normalization/normalize_service/normalize_service/test_ASCII |throughput |[20330788.760op/s; 20335481.370op/s] or [-0.012%; +0.012%]|None |None |None | ### Group 8 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|69.319µs|69.455µs ± 0.158µs|69.445µs ± 0.026µs|69.467µs|69.513µs|69.594µs|71.572µs|3.06% |12.234 |161.544 |0.23%|0.011µ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|[69.433µs; 69.477µs] or [-0.031%; +0.031%]|None |None |None | ### Group 9 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|1.133µs|1.192µs ± 0.025µs|1.191µs ± 0.017µs|1.215µs|1.221µs|1.224µs|1.224µs|2.79% |-0.862 |0.049 |2.07%|0.002µs|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|[1.189µs; 1.196µs] or [-0.288%; +0.288%]|None |None |None | ### Group 10 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|37.108µs|37.639µs ± 0.847µs|37.258µs ± 0.071µs|37.362µs|39.383µs|39.452µs|41.337µs|10.95% |1.813 |1.929 |2.25%|0.060µ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|[37.522µs; 37.756µs] or [-0.312%; +0.312%]|None |None |None | ### Group 11 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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|271.554µs |273.027µs ± 0.571µs |272.991µs ± 0.415µs |273.428µs |273.921µs |274.357µs |274.618µs |0.60% |0.187 |-0.319 |0.21%|0.040µs |1 |200 | |normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...|throughput |3641416.598op/s |3662652.707op/s ± 7663.059op/s |3663118.618op/s ± 5570.677op/s |3668310.398op/s |3674127.298op/s |3679050.205op/s |3682512.888op/s |0.53% |-0.176 |-0.323 |0.21%|541.860op/s |1 |200 | |normalization/normalize_name/normalize_name/bad-name |execution_time|25.775µs |25.837µs ± 0.051µs |25.818µs ± 0.025µs |25.872µs |25.952µs |25.974µs |26.018µs |0.77% |1.177 |0.677 |0.20%|0.004µs |1 |200 | |normalization/normalize_name/normalize_name/bad-name |throughput |38435302.430op/s|38704233.316op/s ± 76843.113op/s |38733136.878op/s ± 37064.794op/s|38762831.705op/s|38783810.036op/s|38789014.653op/s|38796637.093op/s|0.16% |-1.170 |0.652 |0.20%|5433.629op/s |1 |200 | |normalization/normalize_name/normalize_name/good |execution_time|15.457µs |15.522µs ± 0.044µs |15.516µs ± 0.022µs |15.538µs |15.580µs |15.689µs |15.834µs |2.05% |3.577 |20.662 |0.28%|0.003µs |1 |200 | |normalization/normalize_name/normalize_name/good |throughput |63154637.287op/s|64424882.599op/s ± 180572.960op/s|64451625.437op/s ± 90268.308op/s|64537988.674op/s|64606007.819op/s|64633152.581op/s|64693828.371op/s|0.38% |-3.495 |19.917 |0.28%|12768.436op/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|[272.948µs; 273.107µs] or [-0.029%; +0.029%] |None |None |None | |normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...|throughput |[3661590.681op/s; 3663714.733op/s] or [-0.029%; +0.029%] |None |None |None | |normalization/normalize_name/normalize_name/bad-name |execution_time|[25.830µs; 25.844µs] or [-0.028%; +0.028%] |None |None |None | |normalization/normalize_name/normalize_name/bad-name |throughput |[38693583.599op/s; 38714883.032op/s] or [-0.028%; +0.028%]|None |None |None | |normalization/normalize_name/normalize_name/good |execution_time|[15.516µs; 15.528µs] or [-0.039%; +0.039%] |None |None |None | |normalization/normalize_name/normalize_name/good |throughput |[64399856.923op/s; 64449908.275op/s] or [-0.039%; +0.039%]|None |None |None | ### Group 12 |cpu_model |git_commit_sha|git_commit_date|git_branch | |----------------------------------------------|--------------|---------------|--------------------------------| |Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz|f8021249 |1731466696 |sanchda/fix_crashtracking_socket| |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.794µs|24.931µs ± 10.651µs|19.963µs ± 0.322µs|22.266µs|42.890µs|48.864µs|99.272µs|397.27% |3.267 |16.075 |42.61%|0.753µs|1 |200 | |scenario |metric |95% CI mean |Shapiro-Wilk pvalue|Ljung-Box pvalue (lag=1)|Dip test pvalue| |-----------------|--------------|------------------------------------------|-------------------|------------------------|---------------| |two way interface|execution_time|[23.455µs; 26.407µs] or [-5.921%; +5.921%]|None |None |None |

Baseline

Omitted due to size.

codecov-commenter commented 2 weeks ago

Codecov Report

Attention: Patch coverage is 7.76699% with 95 lines in your changes missing coverage. Please review.

Project coverage is 71.06%. Comparing base (873ea85) to head (f802124).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #722 +/- ## ========================================== - Coverage 71.16% 71.06% -0.11% ========================================== Files 287 287 Lines 42739 42824 +85 ========================================== + Hits 30416 30431 +15 - Misses 12323 12393 +70 ``` | [Components](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=components&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [crashtracker](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `40.72% <7.84%> (-1.29%)` | :arrow_down: | | [crashtracker-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `8.67% <0.00%> (-0.53%)` | :arrow_down: | | [datadog-alloc](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `98.73% <ø> (ø)` | | | [data-pipeline](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `91.95% <ø> (ø)` | | | [data-pipeline-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `0.00% <ø> (ø)` | | | [ddcommon](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `83.46% <ø> (ø)` | | | [ddcommon-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `69.12% <ø> (ø)` | | | [ddtelemetry](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `59.10% <ø> (ø)` | | | [ddtelemetry-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `22.13% <ø> (ø)` | | | [dogstatsd](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `89.45% <ø> (ø)` | | | [dogstatsd-client](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `79.77% <ø> (ø)` | | | [ipc](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `82.75% <ø> (ø)` | | | [profiling](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `84.30% <ø> (ø)` | | | [profiling-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `77.46% <ø> (ø)` | | | [serverless](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `0.00% <ø> (ø)` | | | [sidecar](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `37.42% <ø> (ø)` | | | [sidecar-ffi](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `0.00% <ø> (ø)` | | | [spawn-worker](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `50.36% <ø> (ø)` | | | [tinybytes](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `94.77% <ø> (ø)` | | | [trace-mini-agent](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `72.18% <ø> (ø)` | | | [trace-normalization](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `98.25% <ø> (ø)` | | | [trace-obfuscation](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `95.77% <ø> (ø)` | | | [trace-protobuf](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `77.67% <ø> (ø)` | | | [trace-utils](https://app.codecov.io/gh/DataDog/libdatadog/pull/722/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | `93.14% <ø> (ø)` | |
sanchda commented 2 weeks ago

Don't merge yet, need to verify the thing works end-to-end with a native test

sanchda commented 2 weeks ago

Looking good, thank you @bwoebi!

I did some local tests and found that it's possible for the collector to lock up indefinitely if the receiver should ever hit a condition where it doesn't drain the unix domain socket (the write will block in the syscall), but I only discovered that by accident (custom receiver implementation with a bug).

Except for freezing the receiver, I can't really think of a condition which would allow this to arise in normal code. I have an incoming PR which will push the coordinator into its own forked process, allowing the original process to keep track of its time budget. That will fix the cause of these (speculative!!!) hangs.