What are you trying to achieve?
Define the "key normalization" in Environment Variables as Context Propagation Carriers
Reason POSIX Standards:
Environment variable names used by the utilities in the Shell and Utilities volume of POSIX.1-2024 consist solely of uppercase letters, digits, and the ('_') from the characters defined in Portable Character Set and do not begin with a digit.
The normalization would be
Replace all leading [0-9] with _ Add _ in front if the first character is a [0-9] digit (digits cannot be leading)
- Leave [A-Z][0-9]_
- Make [a-z] uppercase
- Replace all other characters with _
This way the env var carrier will work with all w3c propagators as well b3 propagator and possibly any other propagator unless it uses some strange characters that would lead into collision after normalization.
Related to #740
Prior art:
Additional context.
I am also not sure if anyone is implementing this as a propagator wrapper (and not carrier).
Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
What are you trying to achieve?
Define the "key normalization" in Environment Variables as Context Propagation Carriers
Reason POSIX Standards:
The normalization would be
Replace all leading [0-9] with _Add _ in front if the first character is a [0-9] digit (digits cannot be leading)This way the env var carrier will work with all w3c propagators as well b3 propagator and possibly any other propagator unless it uses some strange characters that would lead into collision after normalization.
Related to #740
Prior art:
Additional context.
I am also not sure if anyone is implementing this as a propagator wrapper (and not carrier).
Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding
+1orme too, to help us triage it. Learn more here.