build-perf-diagnostics

Analyze MSBuild binlogs to identify build performance bottlenecks.

2|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/sayedihashimi/copilot-skill-eval --skill build-perf-diagnostics-sayedihashimi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: build-perf-diagnostics
Source: https://github.com/sayedihashimi/copilot-skill-eval/tree/main/examples/aspnet-razor-pages/plugins/dotnet-skills/dotnet-msbuild/skills/build-perf-diagnostics
Command: npx skills add https://github.com/sayedihashimi/copilot-skill-eval --skill build-perf-diagnostics-sayedihashimi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The MSBuild performance analysis skill helps identify bottlenecks in large .NET builds by analyzing binlogs and performance summaries to surface slow targets, heavy analyzers, and I/O bottlenecks.

Core Features & Use Cases

  • Replay binlogs to extract Target Performance Summary and Task Performance Summary, enabling quick localization of expensive build steps.
  • Inspect node scheduling, analyzer overhead, and common bottlenecks such as RAR, Copy I/O, and directory scan costs to guide targeted optimizations.
  • Use in CI/dev workflows to compare configurations, reproduce bottlenecks, and validate performance improvements.

Quick Start

Replay a build binlog to generate a performance summary, then inspect the Target and Task Performance Summaries to identify bottlenecks and schedule optimizations.

Frequently Asked Questions about build-perf-diagnostics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify MSBuild bottlenecks using a binlog?

Analyze MSBuild bottlenecks by replaying a build binlog to extract Target and Task Performance Summaries. This surfaces slow targets, heavy analyzers, and I/O-bound steps to guide targeted optimizations for .NET projects.

What causes slow dotnet build times in CI pipelines?

Slow dotnet build times often stem from heavy analyzer overhead, expensive RAR tasks, Copy I/O, or directory scan costs. Analyzing binlog performance summaries helps localize these specific bottlenecks across CI and local runs.

Can I inspect MSBuild node utilization from a binlog file?

Yes, you can inspect MSBuild node scheduling and utilization by replaying a binlog with performance summaries. This reveals node utilization metrics and analyzer overhead to help optimize build configurations.

How do I compare MSBuild performance between different build configurations?

Compare MSBuild performance by replaying binlogs from different configurations to extract performance summaries. This allows you to reproduce bottlenecks, compare target and task timings, and validate performance improvements.

Does this MSBuild diagnostics approach work with both msbuild and dotnet build?

Yes, this MSBuild diagnostics approach is applicable to .NET projects built with either dotnet build or msbuild. It analyzes binlogs and performance summaries to surface bottlenecks regardless of the build tool used.

What are common MSBuild performance bottlenecks to look for?

Common MSBuild performance bottlenecks include slow targets, heavy analyzer overhead, RAR tasks, Copy I/O, and directory scan costs. Binlog analytics surfaces these issues along with target and time distribution metrics.