You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-monitor/snapshot-debugger/snapshot-debugger-troubleshoot.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: hhunter-ms
6
6
ms.reviewer: charles.weininger
7
7
reviewer: cweining
8
8
ms.topic: conceptual
9
-
ms.date: 11/17/2023
9
+
ms.date: 08/21/2024
10
10
ms.custom: devdivchpfy22, devx-track-dotnet
11
11
---
12
12
@@ -129,7 +129,7 @@ However, you may experience small CPU, memory, and I/O overhead associated with
129
129
130
130
The minidump is first written to disk and the amount of disk spaced is roughly the same as the working set of the original process. Writing the minidump can induce page faults as memory is read.
131
131
132
-
The minidump is compressed during upload, which consumes both CPU and memory in the Snapshot Uploader process. The CPU, memory, and disk overhead for this is be proportional to the size of the process snapshot. Snapshot Uploader processes snapshots serially.
132
+
The minidump is compressed during upload, which consumes both CPU and memory in the Snapshot Uploader process. The CPU, memory, and disk overhead for this is proportional to the size of the process snapshot. Snapshot Uploader processes snapshots serially.
133
133
134
134
**When `TrackException` is called:**
135
135
@@ -170,7 +170,7 @@ Based on how Snapshot Debugger was enabled, see the following options:
170
170
171
171
* If Snapshot Debugger was enabled by including the [Microsoft.ApplicationInsights.SnapshotCollector](https://www.nuget.org/packages/Microsoft.ApplicationInsights.SnapshotCollector) NuGet package, use Visual Studio's NuGet Package Manager to make sure you're using the latest version of `Microsoft.ApplicationInsights.SnapshotCollector`.
172
172
173
-
For the latest updates and bug fixes [consult the release notes](./snapshot-debugger.md#release-notes-for-microsoftapplicationinsightssnapshotcollector).
173
+
For the latest updates and bug fixes [consult the release notes](https://github.com/microsoft/ApplicationInsights-SnapshotCollector/blob/main/CHANGELOG.md).
-[Azure Service Fabric](snapshot-debugger-vm.md?toc=/azure/azure-monitor/toc.json)
172
172
-[Azure Virtual Machines and Virtual Machine Scale Sets](snapshot-debugger-vm.md?toc=/azure/azure-monitor/toc.json)
173
-
-[On-premises virtual or physical machines](snapshot-debugger-vm.md?toc=/azure/azure-monitor/toc.json)
174
-
175
-
## Release notes for `Microsoft.ApplicationInsights.SnapshotCollector`
176
-
177
-
This section contains the release notes for the `Microsoft.ApplicationInsights.SnapshotCollector` NuGet package for .NET applications, which is used by the Application Insights Snapshot Debugger.
178
-
179
-
[Learn](./snapshot-debugger.md) more about the Application Insights Snapshot Debugger for .NET applications.
180
-
181
-
For bug reports and feedback, [open an issue on GitHub](https://github.com/microsoft/ApplicationInsights-SnapshotCollector).
- Fixed [Exception during native component extraction when using a single file application.](https://github.com/microsoft/ApplicationInsights-SnapshotCollector/issues/21)
206
-
207
-
#### Changes
208
-
- Lowered PDB scan failure messages from Error to Warning.
209
-
- Updated msdia140.dll.
210
-
- Avoid making a service connection if the debugger is disabled via site extension settings.
- Fixed [Hide the IMDS dependency from dependency tracker.](https://github.com/microsoft/ApplicationInsights-SnapshotCollector/issues/17).
217
-
- Fixed [ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.](https://github.com/microsoft/ApplicationInsights-SnapshotCollector/issues/19).
218
-
<br>Snapshot Collector used via SDK isn't supported when the Interop feature is enabled. See [More not supported scenarios](snapshot-debugger-troubleshoot.md#not-supported-scenarios).
Addressed multiple improvements and added support for Microsoft Entra authentication for Application Insights ingestion.
234
-
235
-
#### Changes
236
-
- Reduced Snapshot Collector package size by 60% from 10.34 MB to 4.11 MB.
237
-
- Targeted netstandard2.0 only in Snapshot Collector.
238
-
- Bumped Application Insights SDK dependency to 2.15.0.
239
-
- Added back `MinidumpWithThreadInfo` when writing dumps.
240
-
- Added `CompatibilityVersion` to improve synchronization between the Snapshot Collector agent and the Snapshot Uploader on breaking changes.
241
-
- Changed `SnapshotUploader` LogFile naming algorithm to avoid excessive file I/O in App Service.
242
-
- Added `pid`, `role name`, and `process start time` to uploaded blob metadata.
243
-
- Used `System.Diagnostics.Process` in Snapshot Collector and Snapshot Uploader.
244
-
245
-
#### New features
246
-
Added Microsoft Entra authentication to `SnapshotCollector`. To learn more about Microsoft Entra authentication in Application Insights, see [Microsoft Entra authentication for Application Insights](../app/azure-ad-authentication.md).
The `netcoreapp2.0` target of `SnapshotCollector` depends on `Microsoft.ApplicationInsights.AspNetCore` >= 2.1.1 (again). This change reverts behavior to how it was before 1.3.5. We tried to upgrade it in 1.3.6, but it broke some App Service scenarios.
270
-
271
-
#### New features
272
-
Snapshot Collector reads and parses the `ConnectionString` from the APPLICATIONINSIGHTS_CONNECTION_STRING environment variable or from the `TelemetryConfiguration`. Primarily, it's used to set the endpoint for connecting to the Snapshot service. For more information, see the [Connection strings documentation](../app/sdk-connection-string.md).
273
-
274
-
#### Bug fixes
275
-
Switched to using `HttpClient` for all targets except `net45` because `WebRequest` was failing in some environments because of an incompatible `SecurityProtocol` (requires TLS 1.2).
-`SnapshotCollector` now depends on `Microsoft.ApplicationInsights` >= 2.5.1 for all target frameworks. This requirement might be a breaking change if your application depends on an older version of the Microsoft.ApplicationInsights SDK.
280
-
- Removed support for TLS 1.0 and 1.1 in Snapshot Uploader.
281
-
- Period of PDB scans now defaults 24 hours instead of 15 minutes. Configurable via `PdbRescanInterval` on `SnapshotCollectorConfiguration`.
282
-
- PDB scan searches top-level folders only, instead of recursive. This change might be a breaking change if your symbols are in subfolders of the binary folder.
283
-
284
-
#### New features
285
-
- Log rotation in `SnapshotUploader` to avoid filling the logs folder with old files.
286
-
- Deoptimization support (via ReJIT on attach) for .NET Core 3.0 applications.
287
-
- Added symbols to NuGet package.
288
-
- Set more metadata when you upload minidumps.
289
-
- Added an `Initialized` property to `SnapshotCollectorTelemetryProcessor`. It's a `CancellationToken`, which is canceled when the Snapshot Collector is initialized and connected to the service endpoint.
290
-
- Snapshots can now be captured for exceptions in dynamically generated methods. An example is the compiled expression trees generated by Entity Framework queries.
291
-
292
-
#### Bug fixes
293
-
-`AmbiguousMatchException` loading Snapshot Collector due to Status Monitor.
294
-
-`GetSnapshotCollector` extension method now searches all `TelemetrySinks`.
295
-
- Don't start the Snapshot Uploader on unsupported platforms.
296
-
- Handle `InvalidOperationException` when you're deoptimizing dynamic methods (for example, Entity Framework).
- Added support for sovereign clouds (older versions don't work in sovereign clouds).
300
-
- Adding Snapshot Collector made easier by using `AddSnapshotCollector()`. For more information, see [Enable Snapshot Debugger for .NET apps in Azure App Service](./snapshot-debugger-app-service.md).
301
-
- Use the FISMA MD5 setting for verifying blob blocks. This setting avoids the default .NET MD5 crypto algorithm, which is unavailable when the OS is set to FIPS-compliant mode.
302
-
- Ignore .NET Framework frames when deoptimizing function calls. Control this behavior with the `DeoptimizeIgnoredModules` configuration setting.
303
-
- Added the `DeoptimizeMethodCount` configuration setting that allows deoptimization of more than one function call.
- Increased Snapshot Uploader robustness. Continue startup even if old uploader logs can't be moved.
308
-
- Reenabled reporting more telemetry when *SnapshotUploader.exe* exits immediately (was disabled in 1.3.3).
309
-
- Simplified internal telemetry.
310
-
-**Experimental feature:** Snappoint collection plans: Add `snapshotOnFirstOccurence`. For more information, see [this GitHub article](https://gist.github.com/alexaloni/5b4d069d17de0dabe384ea30e3f21dfe).
-**Experimental feature:** Snappoint collection plans. For more information, see [this GitHub article](https://gist.github.com/alexaloni/5b4d069d17de0dabe384ea30e3f21dfe).
317
-
-*SnapshotUploader.exe* exits when the runtime unloads the `AppDomain` from which `SnapshotCollector` is loaded, instead of waiting for the process to exit. This action improves the collector reliability when hosted in IIS.
318
-
- Added configuration to allow multiple `SnapshotCollector` instances that are using the same instrumentation key to share the same `SnapshotUploader` process: `ShareUploaderProcess` (defaults to `true`).
319
-
- Reported more telemetry when *SnapshotUploader.exe* exits immediately.
320
-
- Reduced the number of support files *SnapshotUploader.exe* needs to write to disk.
- The files needed for *SnapshotUploader(64).exe* are now embedded as resources in the main DLL. That means the `SnapshotCollectorFiles` folder is no longer created, which simplifies build and deployment and reduces clutter in Solution Explorer. Take care when you upgrade to review the changes in your `.csproj` file. The `Microsoft.ApplicationInsights.SnapshotCollector.targets` file is no longer needed.
355
-
- Telemetry is logged to your Application Insights resource even if `ProvideAnonymousTelemetry` is set to false. This change is so that we can implement a health check feature in the Azure portal. `ProvideAnonymousTelemetry` affects only the telemetry sent to Microsoft for product support and improvement.
356
-
- When `TempFolder` or `ShadowCopyFolder` are redirected to environment variables, keep the collector idle until those environment variables are set.
357
-
- For applications that connect to the internet via a proxy server, Snapshot Collector now autodetects any proxy settings and passes them on to *SnapshotUploader.exe*.
358
-
- Lower the priority of the `SnapshotUploader` process (where possible). This priority can be overridden via the `IsLowPrioirtySnapshotUploader` option.
359
-
- Added a `GetSnapshotCollector` extension method on `TelemetryConfiguration` for scenarios where you want to configure the Snapshot Collector programmatically.
360
-
- Set the Application Insights SDK version (instead of the application version) in customer-facing telemetry.
361
-
- Send the first heartbeat event after two minutes.
362
-
363
-
#### Bug fixes
364
-
- Fixed `NullReferenceException` when exceptions have null or immutable Data dictionaries.
365
-
- In the uploader, retry PDB matching a few times if we get a sharing violation.
366
-
- Fix duplicate telemetry when more than one thread calls into the telemetry pipeline at startup.
- XML Doc comment files are now included in the NuGet package.
371
-
- Added an `ExcludeFromSnapshotting` extension method on `System.Exception` for scenarios where you know you have a noisy exception and want to avoid creating snapshots for it.
372
-
- Added an `IsEnabledWhenProfiling` configuration property that defaults to true. This is a change from previous versions where snapshot creation was temporarily disabled if the Application Insights Profiler was performing a detailed collection. The old behavior can be recovered by setting this property to `false`.
373
-
374
-
#### Bug fixes
375
-
- Sign *SnapshotUploader64.exe* properly.
376
-
- Protect against double-initialization of the telemetry processor.
377
-
- Prevent double logging of telemetry in apps with multiple pipelines.
378
-
- Fixed a bug with the expiration time of a collection plan, which could prevent snapshots after 24 hours.
The biggest change in this version (hence the move to a new minor version number) is a rewrite of the snapshot creation and handling pipeline. In previous versions, this functionality was implemented in native code (*ProductionBreakpoints*.dll* and *SnapshotHolder*.exe*). The new implementation is all managed code with P/Invokes.
382
-
383
-
For this first version using the new pipeline, we haven't strayed far from the original behavior. The new implementation allows for better error reporting and sets us up for future improvements.
384
-
385
-
#### Other changes in this version
386
-
-*MinidumpUploader.exe* has been renamed to *SnapshotUploader.exe* (or *SnapshotUploader64.exe*).
387
-
- Added timing telemetry to DeOptimize/ReOptimize requests.
388
-
- Added gzip compression for minidump uploads.
389
-
- Fixed a problem where PDBs were locked preventing site upgrade.
390
-
- Log the original folder name (*SnapshotCollectorFiles*) when shadow-copying.
391
-
- Adjusted memory limits for 64-bit processes to prevent site restarts due to OOM.
392
-
- Fixed an issue where snapshots were still collected even after disabling.
393
-
- Log heartbeat events to customer's AI resource.
394
-
- Improved snapshot speed by removing "Source" from the problem ID.
0 commit comments