Features rename#3223
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Convert to draft, since spec might be changing again. |
andrewlock
left a comment
There was a problem hiding this comment.
Don't really understand how all the RCM stuff fits together tbh, but I'll take your word for it this is a sensible change 😄
|
|
||
| namespace Datadog.Trace.AppSec; | ||
|
|
||
| internal class AsmRemoteConfigurationProducts |
There was a problem hiding this comment.
nit: could make this static too
There was a problem hiding this comment.
Good point. I'll make the change in a future PR to avoid a new CI run.
|
|
||
| internal class AsmRemoteConfigurationProducts | ||
| { | ||
| public static AsmFeaturesProduct AsmFeaturesProduct { get; } = new(); |
There was a problem hiding this comment.
Just for my understanding, are there going to be extra ASM "products" in here too other than "features"? I guess I don't understand what the difference between a "feature" and a "product" is, if ASM is not a product?
There was a problem hiding this comment.
Remote config groups it's payloads into "products". The client will subscribe to a product and changes to this product will be pushed to the subscriber.
"FEATURES" was the name of a product. (Product names are always block capitals I guess the RC team hangs out on #ALL-CAPS-TYPING) The features product was design to contain the activation flags for different the different library subsystems (ASM, live debugger etc.), but we decided sharing config between different sub-systems was a bad idea for various reasons. This meant the features became exclusively owned by ASM, so we renamed it.
There was a problem hiding this comment.
Product names are always block capitals I guess the RC team hangs out on #ALL-CAPS-TYPING
😂
The features product was design to contain the activation flags for different the different library subsystems (ASM, live debugger etc.), but we decided sharing config between different sub-systems was a bad idea for various reasons. This meant the features became exclusively owned by ASM, so we renamed it.
I see, that makes sense, thanks. I misread this as an "our code only" change, as opposed to an "RCM" change.
dromanol
left a comment
There was a problem hiding this comment.
I liked the idea of having all the products in the same place (SharedRemoteConfiguration) instead of segregating by "area", but it's a personal preference. LGTM.
I think we should group the ASM remote configs in |
2d6a26e to
a2efe7f
Compare
Benchmarks Report 🐌Benchmarks for #3223 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️Raw results
|
Code Coverage Report 📊⛔ Merging #3223 into master will will decrease line coverage by
View the full report for further details: Datadog.Trace Breakdown ⛔
The following classes have significant coverage changes.
The following classes were added in #3223:
2 classes were removed from Datadog.Trace in #3223 View the full reports for further details: |
Summary of changes
We'll rename the remote config products "FEATURES" to "ASM_FEATURES" and make this product specific to ASM.
Reason for change
It will be difficult to share products between different sub-systems as we'll be ACKing each product, so if two different sub-system have a different ACK status it will create confusion.