If you are migrating your usage to dotnet monitor 7.0, the following changes might affect you. Changes are grouped together by areas within the tool.
| Area | Title | Introduced |
|---|---|---|
| Deployment | The tool will not run on .NET Core 3.1 or .NET 5 due to removal of netcoreapp3.1 target framework; Note: The tool will still be able to monitor applications running these .NET versions. |
Preview 1 |
| Docker | Docker container entrypoint has been split among entrypoint and cmd instructions | Preview 3 |
| Egress | Built-in metadata keys for Azure Blob egress now prefixed with DotnetMonitor_ |
Preview 8 |
The dotnet monitor tool no longer runs on .NET Core 3.1 or .NET 5 due to the removal of the netcoreapp3.1 target framework. The tool requires a shared SDK installation of either .NET 6 SDK or .NET 7 SDK to install and a shared framework installation of either ASP.NET 6 or ASP.NET 7 in order to run. However, it will still be able to monitor applications that run on .NET Core 3.1, .NET 5, .NET 6, and .NET 7.
In dotnet monitor 6, the Docker containers have the following execution instructions:
ENTRYPOINT [ "dotnet-monitor", "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ]
While these settings made it easy to apply additional command line arguments via CMD (such as --no-auth), it made it difficult to override the existing command line arguments without respecifying the ENTRYPOINT instruction.
In dotnet monitor 7, the executable arguments were moved to the CMD instruction; the Docker containers have the following execution instructions:
ENTRYPOINT [ "dotnet-monitor" ]
CMD [ "collect", "--urls", "https://+:52323", "--metricUrls", "http://+:52325" ]
When overriding the CMD instruction, the existing arguments will need to be repeated or replaced with the desired values in addition to any additional arguments that need to be passed.
When egressing an artifact to Azure blob storage, several metadata keys and values are applied to the Azure blob, such as dotnet monitor activity information, collection rule execution information, and process information. Starting in 7.0, these metadata keys are now prefixed with DotnetMonitor_. This change was made in order to avoid potential collisions with metadata acquired from the metadata description on the Azure blob storage egress provider. The names are changed as follows:
ParentId->DotnetMonitor_ParentIdSpanId->DotnetMonitor_SpanIdTraceId->DotnetMonitor_TraceIdCollectionRuleName->DotnetMonitor_CollectionRuleNameActionListIndex->DotnetMonitor_ActionListIndexActionName->DotnetMonitor_ActionNameArtifactSource_ProcessId->DotnetMonitor_ArtifactSource_ProcessIdArtifactSource_RuntimeInstanceCookie->DotnetMonitor_ArtifactSource_RuntimeInstanceCookie
Note
The custom metadata keys as specified in the Azure blob storage egress provider are not prefixed.