Azure / Azure/azure-functions-host
Add telemetry to the custom metadata provider path
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
Related to: https://github.com/Azure/azure-functions-dotnet-worker/issues/788
When the host is reading metadata via a custom metadata provider ([code](https://github.com/Azure/azure-functions-host/blob/91e0bf7eca21fb9bb380450cf9d148745b0f4870/src/WebJobs.Script/Host/FunctionMetadataManager.cs#L219)), we do not validate the metadata like we do in our other code path (i.e. the [worker metadata provider](https://github.com/Azure/azure-functions-host/blob/91e0bf7eca21fb9bb380450cf9d148745b0f4870/src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs#L126)).
Without the validation, function names can have unwanted characters such as `/` which can lead to further failures down the line i.e. with function keys, storage etc.
Updating the custom provider code path to validate the metadata would be a breaking change. To analyze if this should be a hard failure or if we should make any further changes here, we should add telemetry to this code path to give us a good idea of how many Function Apps would be impacted if we made changes here.
Contributor guide
Research direction
Start with the custom provider path in src/WebJobs.Script/Host/FunctionMetadataManager.cs and compare it with validation in src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs. Review existing host telemetry patterns, then add telemetry that shows how many apps and metadata entries would be affected by validation, including unwanted function-name characters. Done means the telemetry is emitted for the custom path and can support the breaking-change analysis.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100