Azure Functions SnapshotUploader64.exe consumes all local internet bandwidth

Martin Power 1 Reputation point
2021-03-02T14:50:57.807+00:00

Is it possible to disable SnapshotDebugger for local development only?

We have the following host.json file

{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"maxTelemetryItemsPerSecond": 10,
"excludedTypes": "Request;Exception",
"includedTypes": "Dependency;Event;PageView;Trace"
},
"snapshotConfiguration": {
"IsEnabled": true,
"isEnabledInDeveloperMode": false
}
}
},
"functionTimeout": "00:10:00"
}

When we run our functions locally, we find that exceptions trigger the snapshot debugger to run, snapshotuploader64.exe and attempt to upload a snapshot to Azure.

As a result, the local machine's bandwith is depleted and slows down all cloud dependency requests (cosmos, redis, azure storage, etc).

By setting the 'IsEnabled': false, this problem ceases, however as a development team, we want to be able to keep the setting 'IsEnabled':true so that our functions in Azure do record snapshots.

Basically, we want to disable snapshots for local development. But the isEnabledInDeveloperMode: false doesnt seem to work. It looks like an ApplicationInsights native setting, but I dont see any documentation about this setting.

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,310 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Mike Urnun 9,676 Reputation points Microsoft Employee
    2021-03-23T22:03:07.103+00:00

    Hello @Martin Power - It seems that at the Azure Functions/Webjobs SDK side of things, we are just passing the provided value as-is for the isEnabledInDeveloperMode setting as part of the SnapshotConfiguration object: https://github.com/Azure/azure-webjobs-sdk/blob/7b97fd9e3b5b00ef5808eeda4439768cb947f530/src/Microsoft.Azure.WebJobs.Logging.ApplicationInsights/ApplicationInsightsLoggerOptions.cs#L132

    So I would rule out Azure Functions from this for now and focus on AppInsights. And after digging a bit deeper, it seems that the isEnabledInDeveloperMode setting is contingent upon DeveloperMode setting in AppInsights: https://learn.microsoft.com/en-us/azure/azure-monitor/app/configuration-with-applicationinsights-config#developer-mode

    Can you check if that setting is being set correctly in your local environments?

    There doesn't appear to be any suggestion that any of the settings above is a way to completely disable the Snapshotdebugger.exe process or a running Snapshotdebugger.exe process is an indication that the isEnabledInDeveloperMode is not be working. This is definitely something I can get clarity on from the AppInsights team internally and share with you here but could you confirm that the DeveloperMode setting is being set properly in your local environment?

    0 comments No comments