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:
⚠️ missing_linux_example
⚠️ windows_tools
⚠️ windows_first
Summary:
The documentation demonstrates a bias toward Windows environments. Troubleshooting steps and examples are almost exclusively focused on ASP.NET/ASP.NET Core (C#), with no mention of Linux-specific tools or patterns. Diagnostic instructions reference Windows-centric tools (e.g., Fiddler, Performance Monitor), and debugging steps assume Visual Studio or Windows workflows. There are no Linux command-line or open-source alternatives provided, nor are there any Bash or Linux-native code/configuration samples.
Recommendations:
  • Add Linux-specific troubleshooting instructions, such as using curl, tcpdump, or Wireshark for network diagnostics.
  • Include examples of viewing logs and debugging on Linux (e.g., using journalctl, systemd, or dotnet CLI tools).
  • Mention cross-platform tools (e.g., Wireshark, mitmproxy) alongside or instead of Windows-only tools like Fiddler.
  • Provide code/configuration samples for Linux environments, such as configuring .NET Core apps on Linux, or using environment variables instead of web.config.
  • When listing tools or steps, present cross-platform or Linux-first options before or alongside Windows-specific ones.
  • Reference Linux container diagnostics more thoroughly, including commands and links to relevant documentation.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-08-17 00:01 #83 in_progress ✅ Clean
2025-07-13 21:37 #48 completed ❌ Biased
2025-07-09 13:09 #3 cancelled ✅ Clean
2025-07-08 04:23 #2 cancelled ❌ Biased

Flagged Code Snippets

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
public class ThreadPoolStarvationDetector : EventListener { private const int EventIdForThreadPoolWorkerThreadAdjustmentAdjustment = 55; private const uint ReasonForStarvation = 6; private readonly ILogger<ThreadPoolStarvationDetector> _logger; public ThreadPoolStarvationDetector(ILogger<ThreadPoolStarvationDetector> logger) { _logger = logger; } protected override void OnEventSourceCreated(EventSource eventSource) { if (eventSource.Name == "Microsoft-Windows-DotNETRuntime") { EnableEvents(eventSource, EventLevel.Informational, EventKeywords.All); } } protected override void OnEventWritten(EventWrittenEventArgs eventData) { // See: https://learn.microsoft.com/dotnet/framework/performance/thread-pool-etw-events#threadpoolworkerthreadadjustmentadjustment if (eventData.EventId == EventIdForThreadPoolWorkerThreadAdjustmentAdjustment && eventData.Payload[2] as uint? == ReasonForStarvation) { _logger.LogWarning("Thread pool starvation detected!"); } } }