Skip to content

Commit 3c69610

Browse files
authored
Enhance README with Function App environment variable details
Added detailed explanations for various Function App environment variables related to deployment, diagnostics, logging, SCM separation, temp access, and Application Insights.
1 parent 0c43c5a commit 3c69610

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

scenario1-high-decay/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ Last updated: 2025-08-27
5454

5555
- **Deployment Method (Function App Environment Variables)**: Standard deployment (extracted .zip)
5656

57+
> `WEBSITE_RUN_FROM_PACKAGE = 0` means your app is deployed by extracting files from a zip package, rather than mounting the zip directly. `Extracted deployments allow your app to write to its local disk (such as C:\local\Temp), which is essential for scenarios testing temp file accumulation.`
58+
5759
```terraform
5860
# Force standard deployment instead of mounted package
5961
"WEBSITE_RUN_FROM_PACKAGE" = "0"
@@ -63,6 +65,8 @@ Last updated: 2025-08-27
6365

6466
- **Diagnostics Settings (Function App Environment Variables)**: Detailed diagnostics enabled
6567

68+
> This enables verbose diagnostics for the Function App, assisting in troubleshooting. `More detailed logs make it easier to observe how temp files accumulate and to identify issues.`
69+
6670
```terraform
6771
# Enable full diagnostics for troubleshooting
6872
"WEBSITE_ENABLE_DETAILED_DIAGNOSTICS" = "true"
@@ -72,6 +76,8 @@ Last updated: 2025-08-27
7276

7377
- **Logging Configuration (Function App Environment Variables)**: Verbose logging enabled. Click here to understand more about [log levels types](https://learn.microsoft.com/en-us/azure/azure-functions/configure-monitoring?tabs=v2#configure-log-levels)
7478

79+
> Sets the default logging level (e.g., “Information”) for the Azure Functions host. `Higher verbosity (like “Information” or “Verbose”) increases disk usage due to more logs being written, which is relevant for stress-testing disk decay.`
80+
7581
```terraform
7682
# Set verbose logging level for better diagnostics but higher disk usage
7783
"AzureFunctionsJobHost__logging__LogLevel__Default" = "Information"
@@ -81,6 +87,8 @@ Last updated: 2025-08-27
8187

8288
- **SCM Separation (Function App Environment Variables)**: Enabled to ensure Kudu and function app run as separate processes
8389

90+
> SCM stands for Source Control Management. In Azure, SCM refers to the Kudu service, which is the advanced tool behind deployments and diagnostics. When SCM Separation is enabled (WEBSITE_DISABLE_SCM_SEPARATION=false), the Kudu (SCM) site runs in a separate process from the main Function App. Separation improves security and stability, ensuring that debugging or diagnostic actions via Kudu do not interfere with the running Function App.
91+
8492
```terraform
8593
# Enable SCM separation for diagnostics
8694
"WEBSITE_DISABLE_SCM_SEPARATION" = "false"
@@ -90,6 +98,8 @@ Last updated: 2025-08-27
9098

9199
- **Temp Access (Function App Environment Variables)**: Explicitly enabled for diagnostics and reporting
92100

101+
> Explicitly allows the Function App to access and write to the temp directory on the server. Necessary for scenarios where you want to observe temp file build-up or diagnose disk usage issues.
102+
93103
```terraform
94104
# Enable temp file access for diagnostics
95105
"WEBSITE_ENABLE_TEMP_ACCESS" = "true"
@@ -103,6 +113,8 @@ Last updated: 2025-08-27
103113

104114
- **Application Insights**: Full logging (no sampling). Click here to understand more about [Sampling overrides %](https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-config#sampling-overrides)
105115

116+
> Sampling reduces the volume of telemetry data sent to Application Insights. Setting sampling_percentage = 100 means no sampling, so all logs/events are recorded. `Full logging provides the most complete diagnostics but increases disk and network usage.`
117+
106118
```terraform
107119
# No sampling configured - full logging
108120
sampling_percentage = 100

0 commit comments

Comments
 (0)