ASP.NETのプロファイラと言えばGlimpseが人気、だけど…
従来のASP.NET開発においては、Glimpseという強力なプロファイラがあり、人気があります。
私もずっと愛用してきて何度も助けられました。
が、このGlimpse、ASP.NET Core MVC対応がほとんど進んでいないようです。
(本記事執筆時点で次期バージョンの最終コミットが8月)
この辺りのアレコレは @neueさんのブログに詳しいことが書いてありました。
neue cc - LightNode 2 - OWINからASP.NET Coreへの移植実例
しょうがないので、別のプロファイラを探してみることにしましょう。世の中は思い通りにはなっていません。
見つかりました。Prefixです。
で、見つけました。Prefixです。
このPrefixというプロファイラはStackify社のStackifyというAPMから派生したプロファイラらしいです。
基本無料で使えるらしい(要登録)ので、さっそく試してみました。
また、Glimpseとの対比はこちらの記事にまとまっていました。
ダウンロード&インストール
ASP.NET Core MVCでの利用方法は下記の記事が詳しいです。 support.stackify.com
下記よりWindows用バイナリをダウンロードしてインストールしました。また、この際にユーザー登録が発生しました。
インストール後、システムトレイにアイコンが追加され、"Stackify Prefix"というサービスが起動していました。
システムトレイを右クリックして、"Enable .NET Profiler"をクリックしてプロファイルを起動する必要があるようです。
(私はこれを忘れてしばらく時間を無駄にしました。)
利用する
NuGetにて、"StackifyMiddleware"を追加します。
その後、ASP.NET Core MVCプロジェクトのStartup.cs内、Configureメソッドに下記を追加します。
app.UseMiddleware<StackifyMiddleware.RequestTracerMiddleware>();
そしてWebアプリを起動し、Prefixシステムトレイから"Open in browser"を選択しプロファイラUIを起動します。
Webアプリにて操作に応じてプロファイラのUIにデータが表示されるようになりました。
ADO.NETによるデータベースアクセスも表示されたので、私が求める最低限の要求は満たしているようです。
しばらくは使ってみることにします
PrefixはGlimpseと違いOSSではないので、3rdパーティによる拡張などはありません。
ですので特定の機能が足りないので自分で追加するという事が出来ません。
ASP.NET Core MVCそのものがまだまだ発展途上なのもあるでしょうが、プロファイラもまた発展途上のようです。
Glimpseが今のところ残念なので、しばらくはPrefixを使っていこうと思います。