Closed zhenlan closed 7 months ago
Sounds reasonable. Will be more discoverable. Shouldn't cause bloat since a user would have to specifically target this package to have this type appear.
To clarify- we're just changing the namespace and not the package name- correct? Meaning in the future we would have two packages:
Microsoft.FeatureManagement.Telemetry.ApplicationInsights
Microsoft.FeatureManagement.Telemetry.LogAnalytics
Both having:
namespace Microsoft.FeatureManagement.Telemetry;
Additionally, how do we feel about Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore
? It holds the TargetingTelemetryInitializer
.
Should it follow suit and be:
namespace Microsoft.FeatureManagement.Telemetry.AspNetCore;
?
Assuming this is correct- I made a PR: https://github.com/microsoft/FeatureManagement-Dotnet/pull/417
Additionally, how do we feel about Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore ? It holds the TargetingTelemetryInitializer
I don't think it should change. Here's why. The publisher is an implementation of a generic concept. Any telemetry destination would need it's own publisher. So standardizing to simple namespace allows the implementations to be discoverable easy as Zhenlan mentioned.
But, ITelemetryInitializers are App Insights specific components. I don't think they generalize well.
Makes sense. Updated PR.
The namespace of
ApplicationInsightsTelemetryPublisher
is Microsoft.FeatureManagement.Telemetry.ApplicationInsights today. It's cumbersome for users to add long namespaces like this. I'd propose we move it under Microsoft.FeatureManagement.Telemetry. In the future, if we add any new publishers, we can put them all under the same namespace. This way users don't have to add namespaces for each publisher individually.