Skip to content

Conversation

@amerjusupovic
Copy link
Contributor

@amerjusupovic amerjusupovic commented Apr 2, 2024

Summary

This PR aims to add information about the newest feature flag properties to request tracing. The feature flag properties include variants, allocation, and telemetry.

Design

Currently, the following information will be added to request tracing:

  1. What's the highest number of variants present in any single loaded flag?
  2. Does any flag that was loaded use the seed property for allocation?
  3. Is telemetry enabled for any loaded feature flags?
  4. Is variant configuration reference used for any loaded feature flags?

return UsesSeed || UsesTelemetry || UsesVariantConfigurationReference;
}

public void ResetFeatureFlagTracing()
Copy link
Member

Choose a reason for hiding this comment

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

You need to reset maxvariants right? And what about uses telemetry and uses variant configuration reference?

public const string FeatureFlagUsesSeedTag = "FFSeed";
public const string FeatureFlagMaxVariantsKey = "MaxVariants";
public const string FeatureFlagUsesVariantConfigurationReferenceTag = "FFConfigRef";
public const string FeaturesKey = "Features";
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to scope this to feature flags only? If so, it probably makes more sense to have "FFFeatures". On the other hand, we could drop the FF from others, so we will have, for example, FFFeatures=Seed+Telemetry+ConfigRef.

Copy link
Member

Choose a reason for hiding this comment

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

It sounds reasonable to me. But that also means we have non-feature flag related items we would have Features= and FFFeatures=

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since we don't currently have anything to under Features=, should I just add the constant but not use it yet or is there something we want to move into this section?

Copy link
Member

Choose a reason for hiding this comment

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

We're not using Features= at the moment. There's no reason to have it.

amerjusupovic and others added 2 commits July 16, 2024 10:40
…eatureManagement/FeatureManagementKeyValueAdapter.cs

Co-authored-by: Avani Gupta <avanigupta@users.noreply.github.com>
@amerjusupovic amerjusupovic merged commit 2f088aa into preview Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants