BT

Microsoftが.NET Core SDKのテレメタリをどのように使っているか

| 作者: Jeff Martin フォローする 16 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2017年8月28日. 推定読書時間: 4 分 |

原文(投稿日:2017/07/26)へのリンク

Microsoftは.NET Core SDKのユーザーから収集したテレメタリから生データをリリースした。リリースされたデータは2016年第3四半期から2017年第2四半期までの期間をカバーし、開発者がSDKをどのように使っているかなど興味深い見解を提供している。 MicrosoftのRich Lander氏によると、Microsoftは今後、四半期ごとにテレメタリデータを提供する予定であり、データはOpen Data Commons Attributions Licenseとしてライセンスされる予定だ。

このデータは.NET Coreのコマンドラインユーザーを反映しているため、Visual Studioユーザーは含まれていない。.NET Core SDK 1.Xは以下のポイントでデータを収集している:

  • 使用されているコマンド(例えば:build, restore, など)
  • コマンドのExitCode
  • テストプロジェクトで使用されているテストランナー
  • 呼び出しのタイムスタンプ
  • ランタイムIDがランタイムノードに存在するかどうか
  • 使用されているCLIバージョン
  • オペレーティングシステムのバージョン

Lander氏によると、.NET Core SDK 2.Xシリーズでは、以下のデータポイントも追加で収集される。特にコマンドラインで実行されている.NET Core SDKが実行されているマシンのユニークIDが匿名で含まれている:

  • dotnet コマンドの引数とオプション — より詳細な製品の使用方法を確認する。例えばdotnet new, テンプレート名の収集。dotnet build --framework netstandard2.0で指定されたフレームワークを収集する。既知の引数とオプションのみが収集される(任意の文字列ではない)
  • コンテナ — コンテナ内でSDKが実行されているかどうかを判定する。Microsoftがコンテナをサポートするために作業することが役に立つかどうかを判定できるようにする
  • コマンドの継続時間 — コマンドの実行時間を判定する。パフォーマンスの問題を特定するのに役に立つ。
  • ターゲット.NET framework(s) — ターゲットフレームワークが使用されているか、複数指定されているかを判定する。どの.NET Standardバージョンがもっとも人気があって、使用方法のガイダンスが必要かどうかを理解する
  • ハッシュされたMACアドレス — 暗号化(SHA256)された匿名のマシンのユニークID。.NET Coreを使ったマシンの総数を判定するのに役に立つ。Lander氏によると、ユーザーからのフィードバックによっては、このデータポイントは公開されない

.NET Core SDKテレメタリプログラムへの参加はオプションだが、参加にはオプトアウトアプローチが必要になる。参加したくない場合は、環境変数(DOTNET_CLI_TELEMETRY_OPTOUT)で無効にする必要がある。Lander氏はテレメタリは.NET Coreランタイムの一部ではないことを繰り返しているため、このデータ収集は.NET Core SDKユーザーのみ可能である。

収集するデータポイントの拡張だけでなく、Microsoftの.NET Coreチームは彼らの学習をもとに.NET Core 2 SDKにいくつかの変更を加えている。ひとつめが、ディストリビューション(Red Hat, Debianなど)ごとのサポートではなく、単一のLinuxビルドを提供する。次にmacOSユーザーは、OpenSSLが必要なくなったことを知って喜んでいることだろう。ソースから.NET Core 2をビルドするための改善(これまでは記述されていなかった)されているため、Linuxディストリビューションのパッケージインフラストラクチャに含まれる可能性がある。

興味深いことに、人気のあるコマンドはオペレーティングシステムによって異なる:

  • OS X (macOS) – restoreが最も人気がある
  • Linux – runが最も人気がある (2番手のrestoreコマンドが3Mなのに対して、非常に多くのマージンを開けて11Mである)
  • Windows – buildが最も人気がある

.NET Core SDKはユーザーのIPアドレスを記録しないが、Microsoftのサーバーはそれをする。クライアントのIPは3オクテットのIPに切り捨てられ、Microsoftが世界中の.NET Core SDKの使用状況を追跡できる。オペレーティングシステムレベルの.NET Core SDK開発者は、Windowsが71%で最も多く、17%がLinux、11%がmacOSである。

利用可能なデータに興味がある場合は、Microsoftから直接入手できる。(これらは188~516メガバイトの大きなファイルであることに注意が必要だ)

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT