Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dynamic Instrumentation] DEBUG-2336 Add Concurrent Adaptive Cache #6093

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

dudikeleti
Copy link
Contributor

@dudikeleti dudikeleti commented Sep 27, 2024

Summary of changes

This PR introduces a thread-safe, adaptive caching system that automatically adjusts to system resources and usage patterns. The cache implements both LRU (Least Recently Used) and LFU (Least Frequently Used) eviction policies and features dynamic cleanup intervals based on expiration patterns.

Key Features

  • Sliding Expiration: Items expire after a configurable period of inactivity
  • Adaptive Cleanup: Cleanup interval adjusts between 5-60 minutes based on expiration patterns
  • Resource Awareness: Automatically reduces capacity in low-resource environments
  • Thread Safety: All operations are protected by reader-writer locks for concurrent access

Implementation

Main cache implementation with:

  • Automatic capacity adjustment (2048 default, 512 for low-resource environments)
  • Dynamic cleanup interval (300s-3600s) that adjusts based on expiration patterns
  • Thread-safe operations using reader-writer locks
  • Hit rate tracking and monitoring

Eviction Policies:

  • LRU: Uses LinkedList + Dictionary for O(1) access and eviction
  • LFU: Implements frequency tracking with SortedDictionary for efficient eviction

Environment Detection:

  • Serverless environment detection (AWS Lambda, Azure Functions)
  • Memory availability checking (Windows and Unix systems)
  • Automatic capacity adjustment based on system resources

Testing

  • Basic operations (Add, TryGet, GetOrAdd)
  • Eviction policy behavior (LRU and LFU)
  • Thread safety with parallel operations
  • Sliding expiration functionality
  • Cleanup interval adaptation
  • Resource-based capacity adjustment
  • Hit rate calculation
  • Proper disposal of resources

@dudikeleti dudikeleti requested a review from a team as a code owner September 27, 2024 11:40
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Sep 27, 2024

Datadog Report

Branch report: dudik/debugger-cache
Commit report: d51ff63
Test service: dd-trace-dotnet

✅ 0 Failed, 44237 Passed, 2210 Skipped, 30h 56m 38.29s Total Time

@dudikeleti dudikeleti requested a review from GreenMatan October 1, 2024 12:10
@dudikeleti dudikeleti changed the title [dynamic Instrumentation] DEBUG-2336 Cche redaction results [dynamic Instrumentation] DEBUG-2336 Cache redaction results Oct 14, 2024
@dudikeleti dudikeleti changed the title [dynamic Instrumentation] DEBUG-2336 Cache redaction results [dynamic Instrumentation] DEBUG-2336 Add Concurrent Adaptive Cache Nov 15, 2024
@andrewlock
Copy link
Member

andrewlock commented Nov 15, 2024

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 (6093) - mean (70ms)  : 63, 77
     .   : milestone, 70,
    master - mean (69ms)  : 67, 72
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (995ms)  : 964, 1026
     .   : milestone, 995,
    master - mean (994ms)  : 975, 1013
     .   : milestone, 994,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6093) - mean (102ms)  : 100, 104
     .   : milestone, 102,
    master - mean (103ms)  : 100, 105
     .   : milestone, 103,

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (669ms)  : 649, 690
     .   : milestone, 669,
    master - mean (677ms)  : 662, 692
     .   : milestone, 677,

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

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (634ms)  : 614, 654
     .   : milestone, 634,
    master - mean (635ms)  : 618, 651
     .   : milestone, 635,

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

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (1,099ms)  : 1071, 1127
     .   : milestone, 1099,
    master - mean (1,110ms)  : 1062, 1158
     .   : milestone, 1110,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6093) - mean (269ms)  : 264, 274
     .   : milestone, 269,
    master - mean (271ms)  : 266, 276
     .   : milestone, 271,

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (860ms)  : 824, 895
     .   : milestone, 860,
    master - mean (875ms)  : 806, 944
     .   : milestone, 875,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6093) - mean (261ms)  : 258, 265
     .   : milestone, 261,
    master - mean (262ms)  : 258, 265
     .   : milestone, 262,

    section CallTarget+Inlining+NGEN
    This PR (6093) - mean (845ms)  : 812, 878
     .   : milestone, 845,
    master - mean (846ms)  : 808, 884
     .   : milestone, 846,

Loading

@andrewlock
Copy link
Member

andrewlock commented Nov 15, 2024

Benchmarks Report for tracer 🐌

Benchmarks for #6093 compared to master:

  • 5 benchmarks are slower, with geometric mean 1.125
  • 1 benchmarks have more 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 8.29μs 61.3ns 584ns 0.0163 0.00816 0 5.61 KB
master StartStopWithChild netcoreapp3.1 9.91μs 55.4ns 342ns 0.0149 0.00498 0 5.8 KB
master StartStopWithChild net472 16.2μs 41.6ns 161ns 1.03 0.287 0.0877 6.21 KB
#6093 StartStopWithChild net6.0 8μs 45.5ns 346ns 0.0165 0.00825 0 5.61 KB
#6093 StartStopWithChild netcoreapp3.1 10.1μs 55.8ns 344ns 0.0152 0.00507 0 5.81 KB
#6093 StartStopWithChild net472 16μs 53.5ns 207ns 1.05 0.318 0.103 6.21 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 484μs 157ns 587ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 672μs 333ns 1.29μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 859μs 629ns 2.27μs 0.425 0 0 3.3 KB
#6093 WriteAndFlushEnrichedTraces net6.0 487μs 583ns 2.26μs 0 0 0 2.7 KB
#6093 WriteAndFlushEnrichedTraces netcoreapp3.1 654μs 408ns 1.58μs 0 0 0 2.7 KB
#6093 WriteAndFlushEnrichedTraces net472 856μs 492ns 1.9μs 0.425 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 127μs 551ns 2.14μs 0.193 0 0 14.47 KB
master SendRequest netcoreapp3.1 145μs 308ns 1.19μs 0.147 0 0 17.27 KB
master SendRequest net472 0.0107ns 0.0026ns 0.0101ns 0 0 0 0 b
#6093 SendRequest net6.0 130μs 165ns 570ns 0.193 0 0 14.47 KB
#6093 SendRequest netcoreapp3.1 148μs 422ns 1.63μs 0.147 0 0 17.27 KB
#6093 SendRequest net472 0.0231ns 0.003ns 0.0112ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6093

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.48 KB 41.78 KB 301 B 0.73%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 554μs 1.99μs 7.72μs 0.548 0 0 41.48 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 652μs 2.77μs 10.4μs 0.319 0 0 41.65 KB
master WriteAndFlushEnrichedTraces net472 873μs 2.61μs 9.78μs 8.13 2.57 0.428 53.31 KB
#6093 WriteAndFlushEnrichedTraces net6.0 588μs 3.35μs 23.2μs 0.576 0 0 41.78 KB
#6093 WriteAndFlushEnrichedTraces netcoreapp3.1 646μs 2.7μs 10.4μs 0.343 0 0 41.64 KB
#6093 WriteAndFlushEnrichedTraces net472 832μs 3.6μs 13.9μs 8.22 2.47 0.411 53.31 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.26μs 1.16ns 4.51ns 0.0144 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.73μs 1.02ns 3.82ns 0.013 0 0 1.02 KB
master ExecuteNonQuery net472 2.14μs 1.62ns 6.06ns 0.156 0.00106 0 987 B
#6093 ExecuteNonQuery net6.0 1.33μs 0.988ns 3.83ns 0.014 0 0 1.02 KB
#6093 ExecuteNonQuery netcoreapp3.1 1.65μs 2.16ns 8.08ns 0.014 0 0 1.02 KB
#6093 ExecuteNonQuery net472 2.08μs 2.27ns 8.78ns 0.157 0.00104 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.2μs 0.506ns 1.83ns 0.0139 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.49μs 1.32ns 5.12ns 0.0133 0 0 976 B
master CallElasticsearch net472 2.57μs 2.55ns 9.87ns 0.157 0 0 995 B
master CallElasticsearchAsync net6.0 1.31μs 0.731ns 2.83ns 0.0131 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.653ns 2.44ns 0.0139 0 0 1.02 KB
master CallElasticsearchAsync net472 2.7μs 1.36ns 5.26ns 0.167 0 0 1.05 KB
#6093 CallElasticsearch net6.0 1.26μs 0.452ns 1.63ns 0.0139 0 0 976 B
#6093 CallElasticsearch netcoreapp3.1 1.63μs 1.37ns 5.13ns 0.013 0 0 976 B
#6093 CallElasticsearch net472 2.7μs 1.73ns 6.7ns 0.158 0 0 995 B
#6093 CallElasticsearchAsync net6.0 1.33μs 0.766ns 2.96ns 0.0133 0 0 952 B
#6093 CallElasticsearchAsync netcoreapp3.1 1.68μs 1.1ns 4.26ns 0.0135 0 0 1.02 KB
#6093 CallElasticsearchAsync net472 2.66μs 1.49ns 5.77ns 0.167 0 0 1.05 KB
Benchmarks.Trace.GraphQLBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6093

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0 1.122 1,190.80 1,335.69

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.19μs 0.34ns 1.27ns 0.013 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.58μs 0.64ns 2.48ns 0.0125 0 0 952 B
master ExecuteAsync net472 1.85μs 0.43ns 1.61ns 0.145 0 0 915 B
#6093 ExecuteAsync net6.0 1.34μs 0.396ns 1.48ns 0.0135 0 0 952 B
#6093 ExecuteAsync netcoreapp3.1 1.57μs 0.607ns 2.27ns 0.0127 0 0 952 B
#6093 ExecuteAsync net472 1.83μs 0.583ns 2.18ns 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.26μs 0.821ns 2.84ns 0.032 0 0 2.31 KB
master SendAsync netcoreapp3.1 5.32μs 5.84ns 22.6ns 0.0373 0 0 2.85 KB
master SendAsync net472 7.46μs 1.53ns 5.94ns 0.496 0 0 3.12 KB
#6093 SendAsync net6.0 4.51μs 1.2ns 4.51ns 0.0316 0 0 2.31 KB
#6093 SendAsync netcoreapp3.1 5.19μs 2.58ns 9.99ns 0.039 0 0 2.85 KB
#6093 SendAsync net472 7.41μs 1.41ns 5.29ns 0.496 0 0 3.12 KB
Benchmarks.Trace.ILoggerBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6093

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.113 2,415.33 2,687.27

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 1.54μs 0.769ns 2.98ns 0.0232 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.07μs 1.52ns 5.89ns 0.0218 0 0 1.64 KB
master EnrichedLog net472 2.42μs 0.75ns 2.81ns 0.249 0 0 1.57 KB
#6093 EnrichedLog net6.0 1.5μs 5.17ns 20ns 0.0231 0 0 1.64 KB
#6093 EnrichedLog netcoreapp3.1 2.12μs 0.518ns 1.94ns 0.0222 0 0 1.64 KB
#6093 EnrichedLog net472 2.69μs 0.6ns 2.25ns 0.249 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 113μs 49.4ns 178ns 0.0566 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 116μs 143ns 553ns 0 0 0 4.28 KB
master EnrichedLog net472 150μs 159ns 616ns 0.672 0.224 0 4.46 KB
#6093 EnrichedLog net6.0 112μs 105ns 406ns 0.0558 0 0 4.28 KB
#6093 EnrichedLog netcoreapp3.1 117μs 154ns 575ns 0 0 0 4.28 KB
#6093 EnrichedLog net472 150μs 145ns 562ns 0.675 0.225 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 3.05μs 1.02ns 3.93ns 0.0304 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.23μs 1.11ns 4.29ns 0.0296 0 0 2.2 KB
master EnrichedLog net472 5.04μs 2.04ns 7.9ns 0.32 0 0 2.02 KB
#6093 EnrichedLog net6.0 3μs 1.33ns 4.61ns 0.0302 0 0 2.2 KB
#6093 EnrichedLog netcoreapp3.1 4.35μs 1.69ns 6.54ns 0.0284 0 0 2.2 KB
#6093 EnrichedLog net472 4.98μs 2.32ns 8.97ns 0.319 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.493ns 1.91ns 0.0157 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.76μs 0.966ns 3.74ns 0.015 0 0 1.14 KB
master SendReceive net472 2.13μs 2.1ns 7.88ns 0.183 0 0 1.16 KB
#6093 SendReceive net6.0 1.43μs 0.854ns 3.31ns 0.0158 0 0 1.14 KB
#6093 SendReceive netcoreapp3.1 1.77μs 0.886ns 3.43ns 0.0151 0 0 1.14 KB
#6093 SendReceive net472 2.03μs 1ns 3.87ns 0.183 0 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.86μs 0.867ns 3.36ns 0.0228 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.93μs 2.27ns 8.81ns 0.0215 0 0 1.65 KB
master EnrichedLog net472 4.35μs 3.72ns 14.4ns 0.322 0 0 2.04 KB
#6093 EnrichedLog net6.0 2.72μs 0.744ns 2.88ns 0.0218 0 0 1.6 KB
#6093 EnrichedLog netcoreapp3.1 3.98μs 1.58ns 6.13ns 0.022 0 0 1.65 KB
#6093 EnrichedLog net472 4.46μs 3.59ns 13.9ns 0.323 0 0 2.04 KB
Benchmarks.Trace.SpanBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6093

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 1.145 594.34 680.64
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 1.134 393.32 445.95
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 1.114 488.99 544.82

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 393ns 0.822ns 3.18ns 0.00811 0 0 576 B
master StartFinishSpan netcoreapp3.1 557ns 0.987ns 3.82ns 0.00778 0 0 576 B
master StartFinishSpan net472 596ns 1.03ns 3.99ns 0.0916 0 0 578 B
master StartFinishScope net6.0 488ns 0.575ns 2.23ns 0.00984 0 0 696 B
master StartFinishScope netcoreapp3.1 712ns 1.03ns 4ns 0.00958 0 0 696 B
master StartFinishScope net472 864ns 2.22ns 8.59ns 0.104 0 0 658 B
#6093 StartFinishSpan net6.0 446ns 0.606ns 2.35ns 0.00801 0 0 576 B
#6093 StartFinishSpan netcoreapp3.1 555ns 0.516ns 1.93ns 0.00789 0 0 576 B
#6093 StartFinishSpan net472 680ns 1.66ns 6.44ns 0.0917 0 0 578 B
#6093 StartFinishScope net6.0 545ns 0.654ns 2.53ns 0.00962 0 0 696 B
#6093 StartFinishScope netcoreapp3.1 703ns 0.972ns 3.76ns 0.00947 0 0 696 B
#6093 StartFinishScope net472 820ns 2.05ns 7.95ns 0.104 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 649ns 0.948ns 3.67ns 0.00979 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 926ns 1.74ns 6.76ns 0.00968 0 0 696 B
master RunOnMethodBegin net472 1.06μs 2.02ns 7.83ns 0.104 0 0 658 B
#6093 RunOnMethodBegin net6.0 607ns 0.575ns 2.23ns 0.00965 0 0 696 B
#6093 RunOnMethodBegin netcoreapp3.1 942ns 1.12ns 4.34ns 0.00935 0 0 696 B
#6093 RunOnMethodBegin net472 1.09μs 1.03ns 4ns 0.105 0 0 658 B

@andrewlock
Copy link
Member

andrewlock commented Nov 15, 2024

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 (6093) (11.230M)   : 0, 11230110
    master (10.964M)   : 0, 10964152
    benchmarks/2.9.0 (11.033M)   : 0, 11032866

    section Automatic
    This PR (6093) (7.334M)   : 0, 7334132
    master (7.166M)   : 0, 7165701
    benchmarks/2.9.0 (7.786M)   : 0, 7785853

    section Trace stats
    master (7.553M)   : 0, 7552596

    section Manual
    master (11.037M)   : 0, 11036554

    section Manual + Automatic
    This PR (6093) (6.766M)   : 0, 6765828
    master (6.706M)   : 0, 6705822

    section DD_TRACE_ENABLED=0
    master (10.151M)   : 0, 10150783

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6093) (9.551M)   : 0, 9551464
    master (9.585M)   : 0, 9584528
    benchmarks/2.9.0 (9.495M)   : 0, 9494821

    section Automatic
    This PR (6093) (6.259M)   : 0, 6258730
    master (6.497M)   : 0, 6496538

    section Trace stats
    master (6.703M)   : 0, 6702958

    section Manual
    master (9.509M)   : 0, 9509229

    section Manual + Automatic
    This PR (6093) (6.080M)   : 0, 6079537
    master (6.082M)   : 0, 6081784

    section DD_TRACE_ENABLED=0
    master (8.861M)   : 0, 8860554

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6093) (9.429M)   : 0, 9429435
    master (9.538M)   : 0, 9538182
    benchmarks/2.9.0 (10.020M)   : 0, 10019592

    section Automatic
    This PR (6093) (5.953M)   : crit ,0, 5952732
    master (6.268M)   : 0, 6268404
    benchmarks/2.9.0 (7.255M)   : 0, 7255257

    section Trace stats
    master (6.907M)   : 0, 6906948

    section Manual
    master (9.724M)   : 0, 9724267

    section Manual + Automatic
    This PR (6093) (5.532M)   : crit ,0, 5532462
    master (5.919M)   : 0, 5918616

    section DD_TRACE_ENABLED=0
    master (8.995M)   : 0, 8994559

Loading

Copy link
Contributor

@GreenMatan GreenMatan left a comment

Choose a reason for hiding this comment

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

Left a small comment, well done

@dudikeleti dudikeleti requested a review from a team as a code owner December 17, 2024 10:49
@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch 3 times, most recently from a4a0f42 to d51ff63 Compare December 23, 2024 11:36
@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch from d51ff63 to 376c0ae Compare January 22, 2025 09:57
@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Jan 25, 2025

Datadog Report

Branch report: dudik/debugger-cache
Commit report: 668a898
Test service: dd-trace-dotnet

❌ 1 Failed (0 Known Flaky), 252644 Passed, 3343 Skipped, 32h 28m 23.91s Total Time
⌛ 1 Performance Regression

❌ Failed Tests (1)

  • SubmitTraces - Datadog.Trace.ClrProfiler.IntegrationTests.RabbitMQTests - Details

    Expand for error
     The sample did not exit in 600000ms. Memory dump taken: True. Killing process.
    

⌛ Performance Regressions vs Default Branch (1)

  • Baseline - Samples.FakeDbCommand.windows.net462.json.scenarios 70.3ms (+1.09ms, +2%) - Details

@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch 2 times, most recently from 7408e37 to fafd2f8 Compare January 27, 2025 12:03
Copy link
Collaborator

@zacharycmontoya zacharycmontoya left a comment

Choose a reason for hiding this comment

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

LGTM, with the additional work of deleting the uppercase LFU|LRU EvictionPolicy files 👍🏼

@dudikeleti dudikeleti requested a review from a team as a code owner January 28, 2025 15:28
@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch from a992e7e to f292e29 Compare January 28, 2025 16:29
Copy link
Member

@lucaspimentel lucaspimentel left a comment

Choose a reason for hiding this comment

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

Thanks!

@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch from d550fbc to 6d63911 Compare January 29, 2025 12:57
@dudikeleti dudikeleti force-pushed the dudik/debugger-cache branch from a0a8d5a to 668a898 Compare February 3, 2025 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants