[FFE] OpenFeature 2.x shim package#8077
Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8077) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-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 highlighted in **red**. The following thresholds were used for comparing the execution times:
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). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (74ms) : 69, 80
master - mean (73ms) : 70, 76
section Bailout
This PR (8077) - mean (78ms) : 75, 81
master - mean (78ms) : 75, 82
section CallTarget+Inlining+NGEN
This PR (8077) - mean (1,051ms) : 987, 1114
master - mean (1,059ms) : 972, 1146
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (113ms) : 109, 118
master - mean (115ms) : 110, 120
section Bailout
This PR (8077) - mean (116ms) : 112, 120
master - mean (116ms) : 113, 120
section CallTarget+Inlining+NGEN
This PR (8077) - mean (774ms) : 709, 838
master - mean (777ms) : 710, 844
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (101ms) : 97, 105
master - mean (102ms) : 98, 106
section Bailout
This PR (8077) - mean (102ms) : 98, 107
master - mean (103ms) : 98, 108
section CallTarget+Inlining+NGEN
This PR (8077) - mean (732ms) : 665, 798
master - mean (738ms) : 672, 804
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (100ms) : 95, 105
master - mean (99ms) : 94, 104
section Bailout
This PR (8077) - mean (101ms) : 97, 105
master - mean (101ms) : 97, 104
section CallTarget+Inlining+NGEN
This PR (8077) - mean (669ms) : 633, 705
master - mean (671ms) : 634, 708
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (194ms) : 191, 198
master - mean (194ms) : 190, 198
section Bailout
This PR (8077) - mean (199ms) : 195, 203
master - mean (200ms) : 195, 205
section CallTarget+Inlining+NGEN
This PR (8077) - mean (1,142ms) : 1069, 1216
master - mean (1,132ms) : 1065, 1200
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (281ms) : 272, 290
master - mean (279ms) : 274, 285
section Bailout
This PR (8077) - mean (280ms) : 273, 287
master - mean (279ms) : 275, 282
section CallTarget+Inlining+NGEN
This PR (8077) - mean (948ms) : 903, 994
master - mean (942ms) : 902, 981
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (274ms) : 265, 282
master - mean (273ms) : 267, 278
section Bailout
This PR (8077) - mean (276ms) : 266, 287
master - mean (272ms) : 266, 277
section CallTarget+Inlining+NGEN
This PR (8077) - mean (939ms) : 884, 993
master - mean (928ms) : 876, 981
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8077) - mean (276ms) : 267, 286
master - mean (271ms) : 266, 276
section Bailout
This PR (8077) - mean (279ms) : 265, 293
master - mean (272ms) : 267, 277
section CallTarget+Inlining+NGEN
This PR (8077) - mean (845ms) : 815, 875
master - mean (837ms) : 814, 860
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BenchmarksBenchmark execution time: 2026-01-20 11:26:02 Comparing candidate commit 1587c2f in PR branch Found 8 performance improvements and 5 performance regressions! Performance is the same for 161 metrics, 18 unstable metrics. scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice netcoreapp3.1
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark netcoreapp3.1
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark net6.0
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes netcoreapp3.1
|
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: baf69783b3
ℹ️ 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".
baf6978 to
9dae45f
Compare
...r/AutoInstrumentation/ManualInstrumentation/OpenFeature/OpenFeatureSdkEvaluateIntegration.cs
Outdated
Show resolved
Hide resolved
...utoInstrumentation/ManualInstrumentation/OpenFeature/OpenFeatureSdkIsAvailableIntegration.cs
Outdated
Show resolved
Hide resolved
...anualInstrumentation/OpenFeature/OpenFeatureSdkRegisterOnNewConfigEventHandlerIntegration.cs
Outdated
Show resolved
Hide resolved
|
|
||
| EventChannel.Writer.TryWrite((object)payload); | ||
| } | ||
| catch { } |
There was a problem hiding this comment.
Should a log message be added in case of exception (even a debug log level message)?
There was a problem hiding this comment.
Would not hurt, but we don't have a reference to the Datadog library here
...r/AutoInstrumentation/ManualInstrumentation/OpenFeature/OpenFeatureSdkEvaluateIntegration.cs
Outdated
Show resolved
Hide resolved
| <RootNamespace>Datadog.Dependabot.Honeypot</RootNamespace> | ||
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> |
There was a problem hiding this comment.
Why al these package updates? Are they related to this PR? If not, IMHO, they should not be included here. We have specific PRs for this, like this one: #7942
There was a problem hiding this comment.
It's a consequence of calling "GeneratePackageVersions", needed as I added a new integration. If you have a suggestion of how to do this without impacting so much, you are welcome
34de531 to
110e79a
Compare
Update nuget packages map Updated missing metrics Apply suggestions from code review Co-authored-by: NachoEchevarria <53266532+NachoEchevarria@users.noreply.github.com> Update README.md Rebase fix Removed unused using clauses
Fix package versions Fix OpenFeature version reqs
Update package verions
Fix sln Codegen
1587c2f to
b25b0a2
Compare
Tried to scope just to the OpenFeature NuGet But it just didn't want to honor that, so doing all of them.
Summary of changes
Added
Datadog.FeatureFlags.OpenFeatureshim nuget package for OpenFeature v2.xReason for change
Implementation details
Create nuget package project with the DatadogProvider for OpenFeature v2.x and adapted sample app to use it
Test coverage
Other details