Feature Flag

Feature Flag Attributes

This document defines attributes for Feature Flags.

AttributeTypeDescriptionExamplesStability
feature_flag.context.idstringThe unique identifier for the flag evaluation context. For example, the targeting key.5157782b-2203-4c80-a857-dbbd5e7761dbExperimental
feature_flag.evaluation.error.messagestringA message explaining the nature of an error occurring during flag evaluation.Flag header-colorexpected typestringbut found typenumber``Experimental
feature_flag.evaluation.reasonstringThe reason code which shows how a feature flag value was determined.static; targeting_match; error; defaultExperimental
feature_flag.keystringThe lookup key of the feature flag.logo-colorExperimental
feature_flag.provider_namestringIdentifies the feature flag provider.Flag ManagerExperimental
feature_flag.set.idstringThe identifier of the flag set to which the feature flag belongs.proj-1; ab98sgs; service1/devExperimental
feature_flag.variantstringA semantic identifier for an evaluated flag value. [1]red; true; onExperimental
feature_flag.versionstringThe version of the ruleset used during the evaluation. This may be any stable value which uniquely identifies the ruleset.1; 01ABCDEFExperimental

[1] feature_flag.variant: A semantic identifier, commonly referred to as a variant, provides a means for referring to a value without including the value itself. This can provide additional context for understanding the meaning behind a value. For example, the variant red maybe be used for the value #c05543.


feature_flag.evaluation.reason has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
cachedThe resolved value was retrieved from cache.Experimental
defaultThe resolved value fell back to a pre-configured value (no dynamic evaluation occurred or dynamic evaluation yielded no result).Experimental
disabledThe resolved value was the result of the flag being disabled in the management system.Experimental
errorThe resolved value was the result of an error.Experimental
splitThe resolved value was the result of pseudorandom assignment.Experimental
staleThe resolved value is non-authoritative or possibly out of dateExperimental
staticThe resolved value is static (no dynamic evaluation).Experimental
targeting_matchThe resolved value was the result of a dynamic evaluation, such as a rule or specific user-targeting.Experimental
unknownThe reason for the resolved value could not be determined.Experimental