内部で使用していたApplication Insights向けのライブラリーを2021年に一般公開しましたが、今回、そのライブラリーを更新したので、その紹介をしたいと思います。
今回の2.2.1のリリースでは、小さななバグ修正です。
nsTelemetry 2.2.1リリース
前回のバージョンから現在までの機能拡張を反映した、nsTelemetry 2.2.1をnutgetでリリースしました。nugetでは、ここから取得できます。
今回のリリースも、プレリリース版ではなく、正式版です。(バージョンにalphaをつけていません)。
前回同様、nsTelemetry
のドキュメントは以下のリンクとなります。
- 英語版 Readme.MD (github.com)
- 日本語版 Readme.MD (このサイト内)
- 日本語版 nsTelemetry トップページ (このサイト内)
nsTelemetry 2.2.1の新機能・変更点
このバージョンでは機能の改善と追加をしました。
大きな変更
- なし
新機能
- なし
バグ修正
- EnableDeveloperMode()メソッドが常にfalseを設定したときの振る舞いをするのを修正
大きな変更
2.2.1では、既存のアプリの実装に影響があるような大きな変更はありません。
新機能
2.2.1では、新機能はありません。
バグ修正
今回のバージョンでは、バグを一つ修正しています。
EnableDeveloperMode()メソッドが常にfalseを設定したときの振る舞いをする
NishySoftware.Telemetry.ApplicationInsights.Telemetry.EnableDeveloperMode(bool enable)を呼び出したときには、引数enable
の値によらず、常に引数にfalse
を設定したときの振る舞いをしていました。
このメソッドを呼び出さないときは、期待通りの動作をしていました。
期待通りの動作とは、以下のとなります。
デバッガーがアタッチされているとき、開発者モードの既定値はtrueです。 デバッガーがアタッチされていないとき、開発者モードの既定値はfalseです。 開発者モードがtrueのとき、送信モードの既定値は同期送信です。 開発者モードがfalseのとき、送信モードの既定値は非同期送信です。 短時間でプロセスが終了するようなコンソールアプリでは、非同期通信を使うとアプリの終了時までに送信しきれないため、trueを推奨します。
GUIアプリケーションの場合は、既定の動作で問題ないため、このメソッドを呼び出す必要はありません。
コンソールアプリケーションの場合は、短期間で終了するプロセスの場合は、利用していたかもしれません。しかし、利用していたとしても常に非同期通信となっていました。なお、コンソールアプリであっても、プロセスの終了時に、ITelemetry.Flush()
メソッドを呼び出していれば、次回のタイミングで送信できるように、未送信データは永続化されるので特に問題ありませんでした。
nsTelemetry 2.2.1では、この問題が修正され、EnableDeveloperMode(bool enable)
を呼び出したときに、引数enable
の指定通りの動作をします。
以上、nsTelemetry 2.2.1のリリースの紹介でした。