{"id":19965,"date":"2018-10-24T14:36:02","date_gmt":"2018-10-24T21:36:02","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=19965"},"modified":"2019-02-20T10:52:35","modified_gmt":"2019-02-20T17:52:35","slug":"bringing-net-application-performance-analysis-to-linux","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/bringing-net-application-performance-analysis-to-linux\/","title":{"rendered":"Bringing .NET application performance analysis to Linux"},"content":{"rendered":"<p>Both the Windows and Linux ecosystems have a swath of battle-hardened performance analysis and investigation tools. But up until recently, developers and platform engineers could use none of these tools with .NET applications on Linux.<\/p>\n<p>Getting them to work with .NET involved collaboration across many open source communities. The .NET team at Microsoft and the LTTng community worked together to bring .NET application performance analysis to Linux. Since one of this project&#8217;s goals was to avoid reinventing the wheel\u2014and to allow existing workflows to be used for .NET applications on Linux\u2014the .NET team chose to enable usage of popular Linux tools such as<span>\u00a0<\/span><a href=\"https:\/\/lttng.org\/\">LTTng<\/a><span>\u00a0<\/span>and<span>\u00a0<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Perf_(Linux)\">perf<\/a><span>\u00a0<\/span>to enable performance analysis of .NET core applications.<\/p>\n<p>We worked with the <a href=\"https:\/\/www.efficios.com\/\">team at\u00a0<span>EfficiOS<\/span><\/a>\u00a0to make this LTTNG collaboration happen. They wrote wrote and published a deeper dive into our collaboration in the\u00a0<a href=\"https:\/\/lttng.org\/blog\/2018\/08\/28\/bringing-dotnet-perf-analysis-to-linux\/\">Bringing .NET application performance analysis to Linux<\/a>\u00a0post on the <a href=\"https:\/\/lttng.org\/blog\/\">Lttng.org blog<\/a>. It\u00a0 covers some of the work involved in enabling performance analysis of .NET Core applications on Linux: what works, what doesn&#8217;t, and future plans. Take a look at their post to <a href=\"https:\/\/lttng.org\/blog\/2018\/08\/28\/bringing-dotnet-perf-analysis-to-linux\/\">learn more about Linux performance analysis<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Both the Windows and Linux ecosystems have a swath of battle-hardened performance analysis and investigation tools. But up until recently, developers and platform engineers could use none of these tools with .NET applications on Linux. Getting them to work with .NET involved collaboration across many open source communities. The .NET team at Microsoft and the [&hellip;]<\/p>\n","protected":false},"author":336,"featured_media":21746,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[4,92],"class_list":["post-19965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net","tag-linux"],"acf":[],"blog_post_summary":"<p>Both the Windows and Linux ecosystems have a swath of battle-hardened performance analysis and investigation tools. But up until recently, developers and platform engineers could use none of these tools with .NET applications on Linux. Getting them to work with .NET involved collaboration across many open source communities. The .NET team at Microsoft and the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/19965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/336"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=19965"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/19965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/21746"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=19965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=19965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=19965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}