SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

GitHub Copilot CLI で Windows デスクトップ アプリケーションのツールを作成したお話

leave a comment

やってみた系のお話になってしましますが、GitHub Copilot CLI で Windows デスクトップアプリケーションとして、パフォーマンスモニターのログ解析用ツールを作成してみましたという投稿です。

本投稿のようなツールを GitHub Copilot CLI を使用した Vibe Coding で作成できるということの共有です。

パフォーマンスモニターのログ解析用ツールを作成しようとしたモチベーション

Windows では、サーバーのパフォーマンス情報を解析する際には、perfmon を使用して、ログ (.blg) の解析を行います。

私は情報を解析する際には「perfmon /sys /comp」で起動して、比較可能なモードで確認をしていることが多いのですが、標準のパフォーマンスモニターでは、項目を変えながら検索をする際に操作に手間がかかるという課題がありました。

image

    自分の用途にカスタマイズしたパフォーマンスモニターの解析ツールを Vibe Coding で空き時間に作成し、ログ解析の手間を減らす / 新しい洞察を得ることができないかと考えたのが、本ツールを作成するに至ったモチベーションとなります。

     

    Vibe Coding に GitHub Copilot CLI を使用して開発している理由

    私が Copilot Pro+ を契約しており、GitHub Copilot CLI を使用した開発で特に困っていないという単純な理由なのですが、特に他のツールを使わないと困るということはありませんでした。

    2026/02/18 以降は Copilot Coding Agent の Windows での実行がサポート されていますが、このツールはそれ以前に開発を進めており、Windows 向けのデスクトップアプリケーションを作成するには、Windows 上で GitHub Copilot CLI を実行したほうが効率が良かったので、今も GitHub Copilot CLI をメインのツールとして使用しています。

    Copilot Coding Agent で Winodws で実行する設定を実施し、Coding Agent 経由でもツールの改修を実施できるようにしたいですね。

     

    どのようなツールが作成できるか

    実際に作成したツールが次の画像となります。

    image

    パフォーマンスモニターのログ (.blg) を呼び出してグラフを描画するツールではあるのですが、標準のツールとはことなり次のような機能を持っています。

    • 表示するカウンターのパターンを YAML ファイルとして定義しロードすることができる
      • 標準ツールでも Perfmoncfg で、事前定義済みファイルをロードできますが、ファイル内に複数の定義を設定し切り替えられるようにしているので本ツールのほうが柔軟性があります。
    • グラフを描画する際に、Raw データでの表示だけでなく、ひとつ前のデータとの差分をもとにしたデータで描画ができる
      • 標準機能では Raw データでしか表示できません。
      • SQL Server の Batch Resp Statistics のカウンターのような累積値が保持されている場合、差分データでグラフを描画する必要があり、このような加工が必要なデータについても可視化をサポートしています。
    • 表示したカウンターのデータをグリッドで表示
    • 特定の時間範囲の relog コマンドの生成
      • パフォーマンスモニターのログについて、特定の時間帯のみのデータが欲しい場合は relog を使用して、時間範囲を絞って再エクスポートすることがあるのですが、その際のコマンドを抽出する機能があります。
    • グラフのクリップボードへのコピー機能
      • 報告書を作成する際に表示しているグラフをクリップボードにワンタッチでコピーできると便利なので機能を追加しています。

     

    使用していて気になった機能は都度追加しているのですが、上記のような機能を実装したパフォーマンスモニターの可視化機能を GitHub Copilot CLI で作成して実際に活用しています。

    パフォーマンスモニターの解析は Windows の API が必要となるため、コーディング環境は Windows 環境を使用する必要があります。

    GithHub Copilot CLI であれば、CLI の実行環境の各種リソースを使用することができますので、自分がメインで使用する PC 上で動作するツールの作成 / ビルド / テストまで CLI 上で完結して実行することが可能です。

    今は、Coding Agent でも Windows が動作しますので、Coding Agent と組み合わせても、精度高く Windows のデスクトップアプリケーションを作成できそうですね。

    上述のツールの UI はそれなりに入り組んでいると思いますが、画面のデザインを含め GitHub Copilot CLI で作成ができていますので、このようなツールの開発にも十分に活用できるかと。

     

    以前、投稿をしましたが、他の Windows デスクトップアプリケーションとしては、SQL Server Management Studio の拡張機能についても GitHub Copilot CLI で開発を行うことができています。(Resource Quick Panel は自作ツールとして開発した拡張機能です)

    SSMS の拡張機能で少し複雑な処理を作るときの情報はあまり多くないと思うのですが、適切なインプットを GitHub Copilot CLI に与えることができれば、SSMS の機能を拡張することも十分に可能です。

    image

     

    GitHub Copilot CLI で、実用できる Windows のデスクトップアプリケーションを作成することができることをかくにんできましたので、これからもツール作成に活用していきたいですね。

    Share

    Written by Masayuki.Ozawa

    3月 30th, 2026 at 10:01 pm

    Posted in GitHub Copilot CLI

    Tagged with

    Leave a Reply