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

[Profiler] Adjust profiler tests for .NET 8 #4908

Merged
merged 1 commit into from
Nov 23, 2023

Conversation

gleocadie
Copy link
Collaborator

Summary of changes

Adjust checks for profiler tests for .NET 8

Reason for change

really ?

Implementation details

Adjust the checks according to the CLR version.

Test coverage

The current tests.

Other details

@gleocadie gleocadie requested a review from a team as a code owner November 22, 2023 09:42
@github-actions github-actions bot added the area:profiler Issues related to the continous-profiler label Nov 22, 2023
Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

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

Thanks!

@@ -46,16 +46,11 @@ public void ThrowExceptionsInParallel(string appName, string framework, string a
new StackFrame("|lm:Samples.ExceptionGenerator |ns:Samples.ExceptionGenerator |ct:ParallelExceptionsScenario |cg: |fn:ThrowExceptions |fg: |sg:(object state)"),
new StackFrame("|lm:System.Private.CoreLib |ns:System.Threading |ct:Thread |cg: |fn:StartCallback |fg: |sg:()"));
}
else if (framework == "net7.0")
else if (framework == "net7.0" || framework == "net8.0")
Copy link
Member

Choose a reason for hiding this comment

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

Ok, I probably should have just tried that 😂 🤦‍♂️

@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Nov 22, 2023

Datadog Report

Branch report: gleocadie/fix-profiler-test-dotnet8
Commit report: a7dcc8b

dd-trace-dotnet: 0 Failed, 0 New Flaky, 304792 Passed, 1232 Skipped, 30m 32.71s Wall Time

@andrewlock
Copy link
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 (4908) - mean (71ms)  : 62, 79
     .   : milestone, 71,
    master - mean (69ms)  : 64, 75
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (1,002ms)  : 986, 1019
     .   : milestone, 1002,
    master - mean (1,001ms)  : 983, 1018
     .   : milestone, 1001,

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

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (688ms)  : 676, 701
     .   : milestone, 688,
    master - mean (683ms)  : 662, 703
     .   : milestone, 683,

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

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (657ms)  : 635, 680
     .   : milestone, 657,
    master - mean (645ms)  : 626, 663
     .   : milestone, 645,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (4908) - mean (188ms)  : 185, 192
     .   : milestone, 188,
    master - mean (188ms)  : 185, 191
     .   : milestone, 188,

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (1,133ms)  : 1114, 1151
     .   : milestone, 1133,
    master - mean (1,131ms)  : 1107, 1154
     .   : milestone, 1131,

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

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (1,090ms)  : 1066, 1115
     .   : milestone, 1090,
    master - mean (1,093ms)  : 1073, 1112
     .   : milestone, 1093,

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

    section CallTarget+Inlining+NGEN
    This PR (4908) - mean (1,055ms)  : 1031, 1078
     .   : milestone, 1055,
    master - mean (1,052ms)  : 1027, 1077
     .   : milestone, 1052,

Loading

@andrewlock
Copy link
Member

Throughput/Crank Report:zap:

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 (4908) (11.122M)   : 0, 11121584
    master (10.396M)   : 0, 10395672
    benchmarks/2.9.0 (10.751M)   : 0, 10751314

    section Automatic
    This PR (4908) (7.719M)   : 0, 7718765
    master (7.145M)   : 0, 7145006
    benchmarks/2.9.0 (7.729M)   : 0, 7729266

    section Trace stats
    This PR (4908) (7.951M)   : 0, 7951132
    master (7.700M)   : 0, 7700179

    section Manual
    This PR (4908) (9.735M)   : 0, 9735140
    master (9.446M)   : 0, 9445718

    section Manual + Automatic
    This PR (4908) (7.260M)   : 0, 7259909
    master (6.911M)   : 0, 6911059

    section Version Conflict
    This PR (4908) (6.522M)   : 0, 6521606
    master (6.211M)   : 0, 6210835

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (4908) (9.578M)   : 0, 9578446
    master (9.572M)   : 0, 9571510
    benchmarks/2.9.0 (9.490M)   : 0, 9489859

    section Automatic
    This PR (4908) (6.682M)   : 0, 6682118
    master (6.574M)   : 0, 6573799

    section Trace stats
    This PR (4908) (6.776M)   : 0, 6776217
    master (6.837M)   : 0, 6837209

    section Manual
    This PR (4908) (8.449M)   : 0, 8448837
    master (8.251M)   : 0, 8251366

    section Manual + Automatic
    This PR (4908) (6.083M)   : 0, 6083250
    master (6.127M)   : 0, 6127190

    section Version Conflict
    This PR (4908) (5.652M)   : 0, 5652444
    master (5.734M)   : 0, 5734389

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (4908) (10.216M)   : 0, 10215890
    master (10.415M)   : 0, 10415079
    benchmarks/2.9.0 (10.713M)   : 0, 10713473

    section Automatic
    This PR (4908) (7.434M)   : 0, 7434458
    master (7.469M)   : 0, 7469260
    benchmarks/2.9.0 (7.794M)   : 0, 7793548

    section Trace stats
    This PR (4908) (7.849M)   : 0, 7848729
    master (7.782M)   : 0, 7781517

    section Manual
    This PR (4908) (9.241M)   : 0, 9240770
    master (8.597M)   : 0, 8597087

    section Manual + Automatic
    This PR (4908) (7.150M)   : 0, 7150375
    master (7.172M)   : 0, 7171785

    section Version Conflict
    This PR (4908) (6.486M)   : 0, 6485694
    master (6.438M)   : 0, 6438222

Loading
gantt
    title Throughput Linux x64 (ASM) (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    master (7.348M)   : 0, 7347949
    benchmarks/2.9.0 (7.740M)   : 0, 7740230

    section No attack
    master (1.952M)   : 0, 1951931
    benchmarks/2.9.0 (3.137M)   : 0, 3136803

    section Attack
    master (1.562M)   : 0, 1561818
    benchmarks/2.9.0 (2.515M)   : 0, 2514667

    section Blocking
    master (3.244M)   : 0, 3243575

    section IAST default
    master (6.423M)   : 0, 6423099

    section IAST full
    master (5.770M)   : 0, 5770131

    section Base vuln
    master (0.941M)   : 0, 941404

    section IAST vuln
    master (0.886M)   : 0, 885635

Loading

Copy link
Contributor

@chrisnas chrisnas 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 gleocadie merged commit 2c09003 into master Nov 23, 2023
59 of 62 checks passed
@gleocadie gleocadie deleted the gleocadie/fix-profiler-test-dotnet8 branch November 23, 2023 09:07
@github-actions github-actions bot added this to the vNext milestone Nov 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:profiler Issues related to the continous-profiler
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants