Performance MSBuild持续时间
我有一个大约有1000个项目的解决方案,总的构建时间大约为4.5分钟 我希望能够诊断这4.5分钟花在尝试和确定构建过程是否可以优化上的时间 有没有办法获得这类信息Performance MSBuild持续时间,performance,msbuild,Performance,Msbuild,我有一个大约有1000个项目的解决方案,总的构建时间大约为4.5分钟 我希望能够诊断这4.5分钟花在尝试和确定构建过程是否可以优化上的时间 有没有办法获得这类信息 编辑:这总是在一个干净的签出中,所以一个完整的构建而不是重建总是会发生。确实有。基里尔·奥森科夫(Kirill Osenkov)在这个问题上写了两篇非常有帮助的文章 您应该尝试按照其中列出的步骤来了解情况。您可以使用MSBuild CLI的/ds/detailedsummary选项 /ds: 在生成日志的末尾显示有关 生成的配置以及如
编辑:这总是在一个干净的签出中,所以一个完整的构建而不是重建总是会发生。确实有。基里尔·奥森科夫(Kirill Osenkov)在这个问题上写了两篇非常有帮助的文章 您应该尝试按照其中列出的步骤来了解情况。您可以使用MSBuild CLI的/ds/detailedsummary选项 /ds: 在生成日志的末尾显示有关 生成的配置以及如何将其调度到节点 示例输出:
Detailed Build Summary
======================
============================== Build Hierarchy (IDs represent configurations) =====================================================
Id : Exclusive Time Total Time Path (Targets)
———————————————————————————————————————————–
0 : 0.036s 0.295s F:BugsMultiProccir1.proj (ParallelBuild)
| 1 : 0.047s 0.047s F:BugsMultiProccir2.proj ()
| 3 : 0.209s 0.209s F:BugsMultiProccir4.proj ()
| 2 : 0.210s 0.210s F:BugsMultiProccir3.proj ()
| 4 : 0.212s 0.217s F:BugsMultiProccir5.proj ()
| | 10 : 0.005s 0.005s F:BugsMultiProccir8.proj ()
| . 11 : 0.003s 0.003s F:BugsMultiProccir9.proj ()
| 5 : 0.001s 0.001s F:BugsMultiProccir6.proj ()
. 6 : 0.003s 0.015s F:BugsMultiProccir7.proj ()
| . 7 : 0.004s 0.012s F:BugsMultiProccir5.proj ()
| | | 8 : 0.007s 0.007s F:BugsMultiProccir8.proj ()
| | . 9 : 0.001s 0.001s F:BugsMultiProccir9.proj ()
============================== Node Utilization (IDs represent configurations) ====================================================
Timestamp: 1 2 3 4 Duration Cumulative
———————————————————————————————————————————–
634032540333349050: 0 x x x 0.035s 0.035s
634032540333699050: 1 x x x 0.041s 0.076s
634032540334109050: | 4 2 3 0.006s 0.082s
634032540334169050: 5 | | | 0.001s 0.083s
634032540334179050: 6 | | | 0.002s 0.085s
634032540334199050: 7 | | | 0.002s 0.087s
634032540334219050: 8 | | | 0.007s 0.094s
634032540334289050: 9 | | | 0.001s 0.095s
634032540334299050: 7 | | | 0.002s 0.097s
634032540334319050: 6 | | | 0.001s 0.098s
634032540334329050: x | | | 0.188s 0.286s ###
634032540336209050: x x 10 11 0.003s 0.289s
634032540336239050: x x | x 0.002s 0.291s
634032540336259050: x 4 x x 0.003s 0.294s
634032540336289050: 0 x x x 0.002s 0.296s
———————————————————————————————————————————–
Utilization: 33.8 96.8 97.7 96.8 Average Utilization: 81.3
或者您可以尝试设置/详细:diag-。在日志末尾构建之后,您将得到相同的结果。我的示例日志未满,因为它包含个人信息
============================== Node Utilization (IDs represent configurations) ====================================================
Timestamp: 1 Duration Cumulative
----------------------------------------------------------------------------------------------------------------------------------- (TaskId:0)
636605029034003906: 0 0,278s 0,278s ##### (TaskId:0)
636605029036787109: 1 2,406s 2,685s ################################################ (TaskId:0)
636605029060849609: 4 0,874s 3,559s ################# (TaskId:0)
636605029069589843: 5 0,796s 4,354s ############### (TaskId:0)
636605029077548828: 1 0,235s 4,590s #### (TaskId:0)
636605029079902343: 3 6,171s 10,761s ########################################################################################################################### (TaskId:0)
636605029141611328: 2 0,854s 11,614s ################# (TaskId:0)
636605029150146484: 6 2,154s 13,769s ########################################### (TaskId:0)
636605029171689453: 2 8,570s 22,339s ########################################################################################################################################################################### (TaskId:0)
636605029257392578: 1 0,006s 22,345s (TaskId:0)
636605029257451171: 7 4,986s 27,331s ################################################################################################### (TaskId:0)
636605029307314453: 1 14,229s 41,560s ############################################################################################################################################################################################################
################################################################################ (TaskId:0)
636605029449599609: 0 0,003s 41,563s (TaskId:0)
-----------------------------------------------------------------------------------------------------------------------------------
Utilization: 100,0 Average Utilization: 100,0 (TaskId:0)
我知道这永远不会进行重建,因为它总是对存储库进行干净的签出。我更想确定时间花在哪里。在使用框架调用MSBuild时,我很难使用此标志,当它在@BlythMeister(调用MSBuild的框架)工作时,它将更新。你的意思是什么?是否通过MSBuild C任务启动生成?我们对生成脚本使用FAKE,MSBuild帮助程序不支持ds标志。我需要把它加上去。
Target Performance Summary:
0 ms PrepareResources 3 calls
0 ms SetWin32ManifestProperties 3 calls
0 ms ResGen 3 calls
0 ms AfterResGen 3 calls
0 ms CreateSatelliteAssemblies 3 calls
0 ms BeforeResGen 3 calls
0 ms PrepareResourceNames 3 calls
0 ms CreateCustomManifestResourceNames 3 calls
0 ms ComputeIntermediateSatelliteAssemblies 1 calls
0 ms GetTargetPath 3 calls
0 ms Compile 3 calls
0 ms AfterMarkupCompilePass1 3 calls
0 ms ResolveReferences 3 calls
0 ms BeforeCompile 3 calls
0 ms _CopySourceItemsToOutputDirectory 3 calls
0 ms PrepareForRun 3 calls
0 ms AfterResolveReferences 3 calls
0 ms PrepareProjectReferences 3 calls
0 ms ValidateToolsVersions 1 calls
0 ms ValidateProjects 1 calls
0 ms GetNativeManifest 2 calls
0 ms BeforeBuild 3 calls
0 ms BuildOnlySettings 3 calls
0 ms _AfterCompileWinFXInternal 3 calls
0 ms CoreBuild 3 calls
0 ms BeforeResolveReferences 3 calls
0 ms AfterCompileWinFX 3 calls
0 ms AfterBuild 3 calls
0 ms AfterCompile 3 calls
1 ms GetTargetFrameworks 2 calls
1 ms ExpandSDKReferences 3 calls
2 ms _BeforeVBCSCoreCompile 3 calls
2 ms GenerateSatelliteAssemblies 1 calls
2 ms ExpressionBuildExtension 3 calls
2 ms ValidationExtension 3 calls
3 ms _CheckForCompileOutputs 3 calls
3 ms FileClassification 3 calls
5 ms CopySilverlightApplications 1 calls
6 ms _CopyAppConfigFile 1 calls
9 ms ResolveKeySource 3 calls
13 ms PrepareForBuild 3 calls
14 ms _SetEmbeddedWin32ManifestProperties 3 calls
17 ms _SplitProjectReferencesByFileExistence 3 calls
20 ms GenerateTargetFrameworkMonikerAttribute 3 calls
25 ms GetCopyToOutputDirectoryXamlAppDefs 3 calls
34 ms _GenerateCompileInputs 3 calls
35 ms GetFrameworkPaths 3 calls
38 ms AssignProjectConfiguration 3 calls
45 ms CleanXsdCodeGen 3 calls
55 ms ResolveCodeAnalysisRuleSet 3 calls
56 ms PreXsdCodeGen 3 calls
58 ms _SetTargetFrameworkMonikerAttribute 3 calls
62 ms GetTargetPathWithTargetPlatformMoniker 3 calls
66 ms CoreCompile 3 calls
66 ms _GenerateSatelliteAssemblyInputs 3 calls
71 ms GetReferenceAssemblyPaths 3 calls
76 ms ImplicitlyExpandDesignTimeFacades 3 calls
81 ms ValidateSolutionConfiguration 1 calls
82 ms GetCopyToOutputDirectoryItems 3 calls
88 ms CopyFilesToOutputDirectory 3 calls
97 ms ResolveSDKReferences 3 calls
105 ms _CheckForInvalidConfigurationAndPlatform 3 calls
611 ms SplitResourcesByCulture 3 calls
642 ms CreateManifestResourceNames 1 calls
798 ms ResolveNuGetPackageAssets 2 calls
1008 ms FindReferenceAssembliesForReferences 3 calls
1177 ms _BuiltWebOutputGroupOutput 1 calls
1249 ms CoreResGen 3 calls
1632 ms IncrementalClean 3 calls
1659 ms _CopyFilesMarkedCopyLocal 2 calls
1984 ms _HandlePackageFileConflicts 3 calls
2005 ms _GetProjectReferenceTargetFrameworkProperties 3 calls
2292 ms AssignTargetPaths 3 calls
3007 ms _GenerateCompileDependencyCache 3 calls
4538 ms ResolveAssemblyReferences 3 calls
6253 ms _CleanGetCurrentAndPriorFileWrites 3 calls
25037 ms ResolveProjectReferences 3 calls
41369 ms Build 4 calls
Task Performance Summary:
3 ms FindAppConfigFile 2 calls
6 ms MakeDir 3 calls
7 ms ResolveKeySource 3 calls
7 ms WriteLinesToFile 3 calls
7 ms Touch 2 calls
8 ms GetFrameworkPath 3 calls
12 ms GetReferenceAssemblyPaths 3 calls
27 ms AssignProjectConfiguration 3 calls
35 ms Message 10 calls
42 ms Delete 6 calls
52 ms CallTarget 3 calls
55 ms ResolveCodeAnalysisRuleSet 3 calls
99 ms GetReferenceNearestTargetFrameworkTask 2 calls
128 ms ReadLinesFromFile 3 calls
163 ms AssignCulture 3 calls
300 ms CreateCSharpManifestResourceName 2 calls
463 ms ResolveNuGetPackageAssets 2 calls
590 ms GenerateResource 1 calls
1007 ms ResolvePackageFileConflicts 3 calls
1177 ms CreateItem 3 calls
1498 ms Hash 3 calls
1661 ms ConvertToAbsolutePath 3 calls
1712 ms Copy 9 calls
2040 ms RemoveDuplicates 6 calls
2104 ms AssignTargetPath 18 calls
2583 ms FindUnderPath 15 calls
4530 ms ResolveAssemblyReference 3 calls
68091 ms MSBuild
10 calls