(WIP) Separate property bag of TelemetryContext and ISupportProperties #814
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To get early feedback only. This may be treated as breaking change and require Major version update.
Summary:
All the current Telemetry types defined in base sdk (eg:
RequestTelemetry
,DependencyTelemetry
) implementsISupportProperties
, which gives them a Properties bag (string,string).ITelemetry
also hasTelemetryContext
which also has a Property bag. Currently these two property bags are internally referring to the same collection. ( so modifying one affects the other.)This PR changes the implementation so that the
Properties
fromISupportProperties
andTelemetryContext
are now independent collection in each of the concreteITelemetry
implementations. Though not a breaking change, this has the effect that, if any customer depended on these two property collection being the same, they'll have undesired consequences.Also, this does not change serialization logic for now. Both the property bags are serialized into the "properties" of the telemetry. But this may eventually change so as to 'promote' the properties from
TelemetryContext
to be outside the item itself.For significant contributions please make sure you have completed the following items: