.NET рдХреЛрд░ 3.0 рдореЗрдВ, рд╣рдо .NET рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рджрд╛рди рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред
рдпреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВрдЧреА:
- рдХреНрдпрд╛ рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдкрд░реЗрд╢рдирд▓ рд╣реИ?
- рдореЗрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпреЛрдВ рд╣реИ?
- рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдХреНрдпреЛрдВ рд╣реИ?

рдХреНрдпрд╛ рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдкрд░реЗрд╢рдирд▓ рд╣реИ?
рд╕рдордп рдХреЗ рд╕рд╛рде, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореЗрдореЛрд░реА рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдВрддрддрдГ рдЖрдЙрдЯрдСрдлрдореЗрдореЛрд░реАрдПрдХреНрд╕реИрдкреНрд╢рди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХреЛрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдореЗрдВ рдХреВрдж рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдХреБрдЫ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк
рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ
рд╣реИрдВ ред
рдореИрдЯреНрд░рд┐рдХреНрд╕
рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдорд╛рдк рдбреЗрдЯрд╛ рд╣реИрдВред рдпреЗ рдореАрдЯреНрд░рд┐рдХ рдЖрдкрдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬ рдкрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, .NET рдХреЛрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдордиреЗ
EventCounter API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ .NET рдХреЛрд░ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдкреЗрд╢ рдХрд┐рдпрд╛ред
EventCounters Windows рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рдПрдХ рд╕реБрдзрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдм рд╕рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ xcopy рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рджрд░реНрд╢рди рдореЙрдиреАрдЯрд░ (рдкрд░рдлрд╝реЙрд░реНрдо) рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреА рдХрдореА рд╕реЗ рдЗрди рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЙрдЯрдиреИрдЯ-рдХрд╛рдЙрдВрдЯрд░3.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рдореЗрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ .NET рдХреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЯреВрд▓ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдЗрд╕ рдЯреВрд▓ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
dotnet tool install --global dotnet-counters --version 1.0.3-preview5.19251.2
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рд╣рдо рдЕрдкрдиреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реАрдкреАрдпреВ рд▓реЛрдб рдФрд░ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП,
рдбреЙрдЯрдиреЗрдЯ-рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░реАрдбрдореА рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВред рдбреЙрдЯрдиреЗрдЯ-рдХрд╛рдЙрдВрдЯрд░реНрд╕ рдХреА рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд▓рд┐рдП,
GitHub рдкрд░
рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ ред
рдореЗрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпреЛрдВ рд╣реИ?
рдЬрдмрдХрд┐ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдШрдЯрдирд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЬреЛ рдХреБрдЫ рднреА рдЧрд▓рдд рд╣реБрдЖ рдЙрд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпреЛрдВ рд╣реИ, рдЖрдкрдХреЛ рдирд┐рд╢рд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╢рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЧрд░реНрдо рдкрде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдиреБрд░реЗрдЦрдг
рдирд┐рд╢рд╛рди рддрдп рд╕рдордп рдкрд░ рдЕрд╕рддрдд рдШрдЯрдирд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВред рдЯреНрд░реЗрд╕ рдореЗрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднрд╛рдЧреНрдп рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, .NET рдлреНрд░реЗрдорд╡рд░реНрдХ (рдФрд░ ASP.NET рдЬреИрд╕реЗ рдЪреМрдЦрдЯреЗ) рд╡рд┐рдВрдбреЛрдЬ (ETW) рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдирд┐рд╢рд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред .NET рдХреЛрд░ рдореЗрдВ, рдпреЗ рдирд┐рд╢рд╛рди рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП ETW рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП LTTng рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдереЗред
рдбреЙрдЯрдиреИрдЯ рдЯреНрд░реЗрд╕рд╕рдВрд╕реНрдХрд░рдг 3.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ .NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдбреБрдкреНрд▓реЗрдХреНрд╕ рдЪреИрдирд▓ рдЦреЛрд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо EventPipe (рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдПрдХ рдпреВрдирд┐рдХреНрд╕ рдбреЛрдореЗрди рд╕реЙрдХреЗрдЯ рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдирд╛рдорд┐рдд рдкрд╛рдЗрдк) рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдИрд╡реЗрдВрдЯ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЕрднреА рднреА рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдбреЙрдЯрдиреЗрдЯ-рдЯреНрд░реЗрд╕ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдЗрд╕ рдЯреВрд▓ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
dotnet tool install --global dotnet-trace--version 1.0.3-preview5.19251.2

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЙрдЯрдиреЗрдЯ рдЯреНрд░реЗрд╕ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдИрд╡реЗрдВрдЯ рдФрд░ рд░рдирдЯрд╛рдЗрдо .NET рдЗрд╡реЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЙрд╕ рдЕрдзреНрдпрдпрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░
рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдбреЙрдЯрдиреЗрдЯ рдЯреНрд░реЗрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЛ рдПрдХ .netperf рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдФрд░ рд╕реАрдкреАрдпреВ рд╕реНрдЯреИрдХ
рдлрд╝рд┐рдВрдЪ рдЗрд╡реЗрдВрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ
рдкрд░рдлреЗрдХреНрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ (16.1) рдХрд╛ рдЕрдЧрд▓рд╛ рдЕрдкрдбреЗрдЯ рдЗрди рдирд┐рд╢рд╛рдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рдпрджрд┐ рдЖрдк OS X рдпрд╛ Linux рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ .netperf рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ .speedscope.json рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд╕рдордп
Speedscope.app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ
редрдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдореМрдЬреВрджрд╛ рдЯреНрд░реЗрд╕ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
dotnet trace convert <input-netperf-file>
рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдПрдХ рдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЯреНрд░реЗрд╕ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреА рд╣реИред

рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП,
рд░реАрдбрдореА рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВ ред рдбреЙрдЯрдиреЗрдЯ-рдЯреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд▓рд┐рдП,
GitHub рдкрд░
рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ ред
рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдХреНрдпреЛрдВ рд╣реИ?
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдХреЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реАрдк рддрдХ рдкрд╣реБрдВрдЪ, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрдВрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред
рдбрдВрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдПрдХ рдбрдВрдк рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд╛рдордХрд╛рдЬреА рдЖрднрд╛рд╕реА рдореЗрдореЛрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рддрдм рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд░реНрдиреЗрд▓ рдбрдВрдк рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдпрд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рдереЗ рдХрд┐ рдХреЛрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдкрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ)
рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдкрд░ рдпрд╛ рдбрдВрдк рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреВрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдХреБрдЫ рд▓реЙрдиреНрдЪ рдорд╛рдкрджрдВрдб рдорд┐рд▓реЗ рдереЗред
рдЕрдм рддрдХ, рд▓рд┐рдирдХреНрд╕ рдкрд░ .NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбрдВрдк рдбрдВрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдЧреЙрд░реНрдХ рдпрд╛ рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрдВрдкрд┐рдВрдЧ рдиреЗ рдмрд╣реБрдд рдмрдбрд╝реЗ рдбрдВрдк рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореМрдЬреВрджрд╛ рдЯреВрд▓ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ .NET рдХреЛрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЯреНрд░рд┐рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХреЗ рдХреМрди рд╕реЗ рдкреГрд╖реНрда рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдЗрди рдбрдВрдкреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдбреАрдмрдЧрд░ рдЦрд░реАрджрдирд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ sos рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдерд╛ред .NET рдХреЗ рд▓рд┐рдП рдПрдХ рдбреАрдмрдЧрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиред
рдбреЙрдЯрдиреИрдЯ-рдбрдВрдк3.0.0-рдкреНрд░реАрд╡реНрдпреВ 5 рдореЗрдВ, рд╣рдо рдПрдХ рдирдпрд╛ рдЯреВрд▓ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрдВрдк рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЙрдЯрдиреЗрдЯ-рдбрдВрдк рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИ, рдФрд░ рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдкрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдЗрд╕ рдЯреВрд▓ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
dotnet tool install --global dotnet-dump --version 1.0.3-preview5.19251.2
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдбреЙрдЯрдиреЗрдЯ-рдбрдВрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдХрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрдВрдк рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
sudo $HOME/.dotnet/tools/dotnet-dump collect -p <pid>
рд▓рд┐рдирдХреНрд╕ рдкрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбрдВрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореА рдбрдВрдк рдХреЛ рд▓реЛрдб рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
dotnet dump analyze <dump-name>
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рдПрдХ ASP.NET рдХреЛрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдбрдВрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП,
рд░реАрдбрдореА рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВред рдбреЙрдЯрдиреЗрдЯ-рдбрдВрдк рдХреЗ рд╕рд╛рде рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд▓рд┐рдП,
GitHub рдкрд░
рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ ред
рдирд┐рд╖реНрдХрд░реНрд╖
.NET рдХреЛрд░ 3.0 рдореЗрдВ рдирдП рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдпрд╛ рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдпрд╛
GitHub рдкрд░ред рд╣рдо рдзреНрдпрд╛рди рд╕реЗ рд╕реБрдирддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВрдЧреЗред