Skip to content

[Crashtracking] Add registry key to installer#6106

Merged
kevingosse merged 2 commits into
masterfrom
kevin/msi_crashtracking
Oct 3, 2024
Merged

[Crashtracking] Add registry key to installer#6106
kevingosse merged 2 commits into
masterfrom
kevin/msi_crashtracking

Conversation

@kevingosse

@kevingosse kevingosse commented Oct 1, 2024

Copy link
Copy Markdown
Contributor

Summary of changes

Register Datadog.Trace.ClrProfiler.Native.dll in the HKLM\Software\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules key.

Reason for change

This is needed by crashtracking.
If the value is absent, the tracer will create it in HKCU (the instrumented application is unlikely to have permission to write to HKLM). However, registering the crash handler in HKCU is only supported in somewhat versions of Windows (since Windows 10 2004). So we should rely on HKLM whenever possible.

Other details

Depends on #6088
https://datadoghq.atlassian.net/browse/APMSP-1388

@kevingosse
kevingosse requested a review from a team as a code owner October 1, 2024 15:56
@kevingosse kevingosse changed the title Add registry key for crashtracking [Crashtracking] Add registry key to installer Oct 1, 2024

@andrewlock andrewlock left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I notice you deleted the "testing" heading in the PR :stare: You've tested it, right :padme1:

Comment thread shared/src/msi-installer/Product.wxs Outdated
@andrewlock

andrewlock commented Oct 1, 2024

Copy link
Copy Markdown
Member

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (71ms)  : 67, 75
     .   : milestone, 71,
    master - mean (70ms)  : 68, 73
     .   : milestone, 70,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (1,110ms)  : 1088, 1132
     .   : milestone, 1110,
    master - mean (1,106ms)  : 1084, 1127
     .   : milestone, 1106,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (109ms)  : 107, 112
     .   : milestone, 109,
    master - mean (109ms)  : 105, 113
     .   : milestone, 109,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (775ms)  : 759, 792
     .   : milestone, 775,
    master - mean (775ms)  : 754, 796
     .   : milestone, 775,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (93ms)  : 90, 96
     .   : milestone, 93,
    master - mean (93ms)  : 89, 96
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (731ms)  : 718, 743
     .   : milestone, 731,
    master - mean (728ms)  : 712, 744
     .   : milestone, 728,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (190ms)  : 187, 192
     .   : milestone, 190,
    master - mean (190ms)  : 187, 193
     .   : milestone, 190,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (1,197ms)  : 1175, 1218
     .   : milestone, 1197,
    master - mean (1,199ms)  : 1177, 1221
     .   : milestone, 1199,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (276ms)  : 272, 280
     .   : milestone, 276,
    master - mean (276ms)  : 270, 282
     .   : milestone, 276,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (937ms)  : 921, 953
     .   : milestone, 937,
    master - mean (944ms)  : 919, 969
     .   : milestone, 944,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6106) - mean (264ms)  : 261, 267
     .   : milestone, 264,
    master - mean (264ms)  : 260, 267
     .   : milestone, 264,

    section CallTarget+Inlining+NGEN
    This PR (6106) - mean (923ms)  : 906, 939
     .   : milestone, 923,
    master - mean (921ms)  : 906, 937
     .   : milestone, 921,

Loading

@datadog-ddstaging

datadog-ddstaging Bot commented Oct 1, 2024

Copy link
Copy Markdown

Datadog Report

Branch report: kevin/msi_crashtracking
Commit report: a1d2488
Test service: dd-trace-dotnet

✅ 0 Failed, 363738 Passed, 2331 Skipped, 16h 49m 33.83s Total Time

@andrewlock

andrewlock commented Oct 1, 2024

Copy link
Copy Markdown
Member

Benchmarks Report for tracer 🐌

Benchmarks for #6106 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.183
  • 1 benchmarks are slower, with geometric mean 1.247
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.74μs 38.7ns 212ns 0.0152 0.00758 0 5.43 KB
master StartStopWithChild netcoreapp3.1 9.93μs 55.2ns 340ns 0.0146 0.00488 0 5.62 KB
master StartStopWithChild net472 16μs 25.3ns 98.1ns 1.03 0.316 0.0947 6.07 KB
#6106 StartStopWithChild net6.0 7.42μs 41.7ns 267ns 0.0143 0.00717 0 5.42 KB
#6106 StartStopWithChild netcoreapp3.1 9.67μs 44.3ns 177ns 0.0195 0.00973 0 5.62 KB
#6106 StartStopWithChild net472 16μs 51.9ns 201ns 1.02 0.311 0.104 6.06 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 468μs 333ns 1.2μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 633μs 191ns 715ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 832μs 374ns 1.4μs 0.414 0 0 3.3 KB
#6106 WriteAndFlushEnrichedTraces net6.0 469μs 229ns 825ns 0 0 0 2.7 KB
#6106 WriteAndFlushEnrichedTraces netcoreapp3.1 639μs 452ns 1.75μs 0 0 0 2.7 KB
#6106 WriteAndFlushEnrichedTraces net472 824μs 506ns 1.89μs 0.411 0 0 3.3 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 209μs 2.04μs 20.1μs 0.19 0 0 18.45 KB
master SendRequest netcoreapp3.1 222μs 1.24μs 8.41μs 0.215 0 0 20.61 KB
master SendRequest net472 0.00212ns 0.000846ns 0.00328ns 0 0 0 0 b
#6106 SendRequest net6.0 199μs 1.11μs 6.63μs 0.188 0 0 18.45 KB
#6106 SendRequest netcoreapp3.1 215μs 1.2μs 9.02μs 0.226 0 0 20.61 KB
#6106 SendRequest net472 0.0036ns 0.00131ns 0.00507ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 555μs 1.13μs 4.09μs 0.543 0 0 41.59 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 688μs 3.16μs 12.2μs 0.332 0 0 41.91 KB
master WriteAndFlushEnrichedTraces net472 872μs 2.44μs 8.78μs 8.13 2.57 0.428 53.26 KB
#6106 WriteAndFlushEnrichedTraces net6.0 572μs 2.47μs 9.56μs 0.579 0 0 41.65 KB
#6106 WriteAndFlushEnrichedTraces netcoreapp3.1 682μs 3.69μs 20.9μs 0.338 0 0 41.71 KB
#6106 WriteAndFlushEnrichedTraces net472 875μs 3.32μs 12.4μs 8.3 2.62 0.437 53.3 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.21μs 0.746ns 2.69ns 0.0145 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.79μs 1.94ns 7.51ns 0.0133 0 0 1.02 KB
master ExecuteNonQuery net472 2.1μs 0.854ns 3.19ns 0.156 0 0 987 B
#6106 ExecuteNonQuery net6.0 1.32μs 1.1ns 4.25ns 0.0145 0 0 1.02 KB
#6106 ExecuteNonQuery netcoreapp3.1 1.75μs 1.4ns 5.44ns 0.0132 0 0 1.02 KB
#6106 ExecuteNonQuery net472 2.08μs 1.24ns 4.8ns 0.156 0 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.15μs 0.659ns 2.38ns 0.0134 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.54μs 0.869ns 3.25ns 0.0132 0 0 976 B
master CallElasticsearch net472 2.51μs 1.23ns 4.77ns 0.158 0 0 995 B
master CallElasticsearchAsync net6.0 1.3μs 0.37ns 1.43ns 0.013 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.6μs 0.55ns 1.91ns 0.0137 0 0 1.02 KB
master CallElasticsearchAsync net472 2.48μs 1.03ns 4ns 0.167 0 0 1.05 KB
#6106 CallElasticsearch net6.0 1.13μs 0.716ns 2.77ns 0.0135 0 0 976 B
#6106 CallElasticsearch netcoreapp3.1 1.57μs 0.526ns 1.9ns 0.0135 0 0 976 B
#6106 CallElasticsearch net472 2.51μs 2.33ns 9.04ns 0.157 0 0 995 B
#6106 CallElasticsearchAsync net6.0 1.2μs 0.763ns 2.95ns 0.0133 0 0 952 B
#6106 CallElasticsearchAsync netcoreapp3.1 1.72μs 1.78ns 6.64ns 0.0139 0 0 1.02 KB
#6106 CallElasticsearchAsync net472 2.49μs 0.903ns 3.38ns 0.167 0 0 1.05 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.36μs 1.53ns 5.92ns 0.0131 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.62μs 2.52ns 9.75ns 0.0122 0 0 952 B
master ExecuteAsync net472 1.75μs 0.853ns 3.3ns 0.145 0 0 915 B
#6106 ExecuteAsync net6.0 1.43μs 0.501ns 1.94ns 0.0135 0 0 952 B
#6106 ExecuteAsync netcoreapp3.1 1.67μs 6.55ns 22.7ns 0.0124 0 0 952 B
#6106 ExecuteAsync net472 1.78μs 0.457ns 1.77ns 0.145 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 4.08μs 3.38ns 12.6ns 0.0307 0 0 2.22 KB
master SendAsync netcoreapp3.1 5.19μs 4.72ns 18.3ns 0.036 0 0 2.76 KB
master SendAsync net472 7.9μs 10.5ns 40.8ns 0.497 0 0 3.15 KB
#6106 SendAsync net6.0 4.12μs 2.93ns 11.4ns 0.0308 0 0 2.22 KB
#6106 SendAsync netcoreapp3.1 5.01μs 1.23ns 4.77ns 0.0375 0 0 2.76 KB
#6106 SendAsync net472 7.72μs 2.04ns 7.91ns 0.498 0 0 3.15 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 1.53μs 1.48ns 5.71ns 0.0231 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.1μs 1.11ns 4.3ns 0.0221 0 0 1.64 KB
master EnrichedLog net472 2.56μs 1.39ns 5.01ns 0.25 0 0 1.57 KB
#6106 EnrichedLog net6.0 1.63μs 0.822ns 3.18ns 0.0228 0 0 1.64 KB
#6106 EnrichedLog netcoreapp3.1 2.18μs 0.63ns 2.18ns 0.0222 0 0 1.64 KB
#6106 EnrichedLog net472 2.74μs 1.45ns 5.61ns 0.25 0 0 1.57 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 115μs 141ns 545ns 0.0571 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 123μs 500ns 1.94μs 0 0 0 4.28 KB
master EnrichedLog net472 149μs 305ns 1.18μs 0.673 0.224 0 4.46 KB
#6106 EnrichedLog net6.0 115μs 159ns 617ns 0.0576 0 0 4.28 KB
#6106 EnrichedLog netcoreapp3.1 119μs 139ns 540ns 0.0595 0 0 4.28 KB
#6106 EnrichedLog net472 147μs 104ns 405ns 0.661 0.22 0 4.46 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.96μs 3.35ns 13ns 0.0311 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.19μs 3.22ns 12.5ns 0.0289 0 0 2.2 KB
master EnrichedLog net472 4.89μs 4.18ns 16.2ns 0.319 0 0 2.02 KB
#6106 EnrichedLog net6.0 3.1μs 3.36ns 13ns 0.0314 0 0 2.2 KB
#6106 EnrichedLog netcoreapp3.1 4.19μs 2.23ns 8.36ns 0.0292 0 0 2.2 KB
#6106 EnrichedLog net472 4.9μs 1.73ns 6.46ns 0.321 0 0 2.02 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.31μs 0.963ns 3.73ns 0.0158 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.71μs 0.713ns 2.67ns 0.0153 0 0 1.14 KB
master SendReceive net472 2.1μs 0.584ns 2.26ns 0.183 0.00104 0 1.16 KB
#6106 SendReceive net6.0 1.35μs 0.631ns 2.36ns 0.0162 0 0 1.14 KB
#6106 SendReceive netcoreapp3.1 1.81μs 2.7ns 10.4ns 0.0153 0 0 1.14 KB
#6106 SendReceive net472 2.15μs 1.03ns 3.99ns 0.183 0.00108 0 1.16 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.75μs 0.762ns 2.95ns 0.0226 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.89μs 2.16ns 8.36ns 0.0215 0 0 1.65 KB
master EnrichedLog net472 4.43μs 1.83ns 7.08ns 0.323 0 0 2.04 KB
#6106 EnrichedLog net6.0 2.64μs 1.3ns 5.04ns 0.0225 0 0 1.6 KB
#6106 EnrichedLog netcoreapp3.1 3.95μs 1.52ns 5.89ns 0.0217 0 0 1.65 KB
#6106 EnrichedLog net472 4.38μs 2.2ns 8.52ns 0.323 0 0 2.04 KB
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6106

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 1.183 562.50 475.43

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 394ns 0.307ns 1.19ns 0.00809 0 0 576 B
master StartFinishSpan netcoreapp3.1 586ns 0.486ns 1.82ns 0.00781 0 0 576 B
master StartFinishSpan net472 691ns 0.492ns 1.84ns 0.0918 0 0 578 B
master StartFinishScope net6.0 562ns 0.32ns 1.24ns 0.00992 0 0 696 B
master StartFinishScope netcoreapp3.1 711ns 0.979ns 3.79ns 0.00953 0 0 696 B
master StartFinishScope net472 887ns 0.782ns 3.03ns 0.104 0 0 658 B
#6106 StartFinishSpan net6.0 398ns 0.115ns 0.446ns 0.00813 0 0 576 B
#6106 StartFinishSpan netcoreapp3.1 596ns 0.411ns 1.59ns 0.00765 0 0 576 B
#6106 StartFinishSpan net472 685ns 0.775ns 3ns 0.0917 0 0 578 B
#6106 StartFinishScope net6.0 475ns 0.163ns 0.611ns 0.0098 0 0 696 B
#6106 StartFinishScope netcoreapp3.1 702ns 0.467ns 1.81ns 0.00954 0 0 696 B
#6106 StartFinishScope net472 849ns 0.736ns 2.75ns 0.104 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6106

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 1.247 603.30 752.55

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 603ns 0.259ns 1ns 0.00982 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 996ns 2.82ns 10.6ns 0.00945 0 0 696 B
master RunOnMethodBegin net472 1.14μs 1.24ns 4.8ns 0.105 0 0 658 B
#6106 RunOnMethodBegin net6.0 753ns 0.777ns 3.01ns 0.0098 0 0 696 B
#6106 RunOnMethodBegin netcoreapp3.1 992ns 0.481ns 1.86ns 0.00943 0 0 696 B
#6106 RunOnMethodBegin net472 1.12μs 0.914ns 3.54ns 0.104 0 0 658 B

@andrewlock

andrewlock commented Oct 1, 2024

Copy link
Copy Markdown
Member

Throughput/Crank Report ⚡

Throughput results for AspNetCoreSimpleController comparing the following branches/commits:

Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.

Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!

gantt
    title Throughput Linux x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6106) (10.785M)   : 0, 10785200
    master (11.173M)   : 0, 11173302
    benchmarks/2.9.0 (11.081M)   : 0, 11080577

    section Automatic
    This PR (6106) (7.181M)   : 0, 7181380
    master (7.279M)   : 0, 7278664
    benchmarks/2.9.0 (7.732M)   : 0, 7732233

    section Trace stats
    master (7.532M)   : 0, 7531539

    section Manual
    master (11.083M)   : 0, 11082902

    section Manual + Automatic
    This PR (6106) (6.761M)   : 0, 6761002
    master (6.710M)   : 0, 6709924

    section DD_TRACE_ENABLED=0
    master (10.153M)   : 0, 10153208

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6106) (9.453M)   : 0, 9452863
    master (9.398M)   : 0, 9398448
    benchmarks/2.9.0 (9.798M)   : 0, 9798067

    section Automatic
    This PR (6106) (6.608M)   : 0, 6607677
    master (6.529M)   : 0, 6529082

    section Trace stats
    master (6.958M)   : 0, 6957848

    section Manual
    master (9.566M)   : 0, 9566040

    section Manual + Automatic
    This PR (6106) (6.182M)   : 0, 6182406
    master (6.221M)   : 0, 6221012

    section DD_TRACE_ENABLED=0
    master (8.922M)   : 0, 8921736

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6106) (9.941M)   : 0, 9940696
    master (10.147M)   : 0, 10147192
    benchmarks/2.9.0 (10.067M)   : 0, 10067315

    section Automatic
    This PR (6106) (6.755M)   : 0, 6755483
    master (6.895M)   : 0, 6894968
    benchmarks/2.9.0 (7.552M)   : 0, 7552193

    section Trace stats
    master (7.434M)   : 0, 7433935

    section Manual
    master (10.142M)   : 0, 10142136

    section Manual + Automatic
    This PR (6106) (6.296M)   : 0, 6295657
    master (6.402M)   : 0, 6401740

    section DD_TRACE_ENABLED=0
    master (9.547M)   : 0, 9547292

Loading

@kevingosse

Copy link
Copy Markdown
Contributor Author

I notice you deleted the "testing" heading in the PR :stare: You've tested it, right :padme1:

Well it works on my machine. Anyway, you've contributed to the PR so you're complicit now.

@kevingosse
kevingosse merged commit d2105dc into master Oct 3, 2024
@kevingosse
kevingosse deleted the kevin/msi_crashtracking branch October 3, 2024 10:23
@github-actions github-actions Bot added this to the vNext-v3 milestone Oct 3, 2024
agocs pushed a commit that referenced this pull request Oct 8, 2024
## Summary of changes

Register `Datadog.Trace.ClrProfiler.Native.dll` in the
`HKLM\Software\Microsoft\Windows\Windows Error
Reporting\RuntimeExceptionHelperModules` key.

## Reason for change

This is needed by crashtracking.
If the value is absent, the tracer will create it in HKCU (the
instrumented application is unlikely to have permission to write to
HKLM). However, registering the crash handler in HKCU is only supported
in somewhat versions of Windows (since Windows 10 2004). So we should
rely on HKLM whenever possible.

## Other details

Depends on #6088

---------

Co-authored-by: Andrew Lock <[email protected]>
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.

2 participants