This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Bias Types:
⚠️ windows_first
⚠️ windows_tools
⚠️ powershell_heavy
⚠️ missing_linux_example
Summary:
The documentation demonstrates a strong Windows bias: it exclusively references Windows tools (Visual Studio, cmd, WindowsServer images), uses PowerShell/NuGet commands for package installation, and all code/configuration examples assume a Windows environment. There are no Linux equivalents or instructions for cross-platform development, and the only VM image referenced is 'MicrosoftWindowsServer'.
Recommendations:
  • Provide equivalent instructions and examples for Linux environments, including how to install Application Insights packages using dotnet CLI or other cross-platform tools.
  • Include guidance for developing and running Azure Batch .NET applications on Linux, such as using VS Code or JetBrains Rider instead of only Visual Studio.
  • Show how to configure Application Insights for Linux compute nodes, including using a Linux VM image in the pool configuration and appropriate command-line syntax (e.g., bash instead of cmd).
  • Add Linux-specific code snippets or highlight any differences in file paths, environment variables, or deployment steps.
  • Mention cross-platform compatibility and link to relevant documentation for .NET Core/.NET 5+ on Linux.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-07-12 23:44 #41 in_progress ❌ Biased
2025-07-12 00:58 #8 cancelled ✅ Clean
2025-07-10 05:06 #7 processing ✅ Clean

Flagged Code Snippets

... // Batch start task telemetry runner private const string BatchStartTaskFolderName = "StartTask"; private const string BatchStartTaskTelemetryRunnerName = "Microsoft.Azure.Batch.Samples.TelemetryStartTask.exe"; private const string BatchStartTaskTelemetryRunnerAIConfig = "ApplicationInsights.config"; ... CloudPool pool = client.PoolOperations.CreatePool( topNWordsConfiguration.PoolId, targetDedicated: topNWordsConfiguration.PoolNodeCount, virtualMachineSize: "standard_d1_v2", VirtualMachineConfiguration: new VirtualMachineConfiguration( imageReference: new ImageReference( publisher: "MicrosoftWindowsServer", offer: "WindowsServer", sku: "2019-datacenter-core", version: "latest"), nodeAgentSkuId: "batch.node.windows amd64"); ... // Create a start task which will run a dummy exe in background that simply emits performance // counter data as defined in the relevant ApplicationInsights.config. // Note that the waitForSuccess on the start task was not set so the Compute Node will be // available immediately after this command is run. pool.StartTask = new StartTask() { CommandLine = string.Format("cmd /c {0}", BatchStartTaskTelemetryRunnerName), ResourceFiles = resourceFiles }; ...
Install-Package Microsoft.ApplicationInsights.WindowsServer
private static readonly List<string> AIFilesToUpload = new List<string>() { // Application Insights config and assemblies "ApplicationInsights.config", "Microsoft.ApplicationInsights.dll", "Microsoft.AI.Agent.Intercept.dll", "Microsoft.AI.DependencyCollector.dll", "Microsoft.AI.PerfCounterCollector.dll", "Microsoft.AI.ServerTelemetryChannel.dll", "Microsoft.AI.WindowsServer.dll", // custom telemetry initializer assemblies "Microsoft.Azure.Batch.Samples.TelemetryInitializer.dll", }; ...