PCアプリの利用状況・例外発生状況を遠隔計測する #5 ライブラリー 2.2.1の公開

内部で使用していたApplication Insights向けのライブラリーを2021年に一般公開しましたが、今回、そのライブラリーを更新したので、その紹介をしたいと思います。

今回の2.2.1のリリースでは、小さななバグ修正です。

nsTelemetry 2.2.1リリース

前回のバージョンから現在までの機能拡張を反映した、nsTelemetry 2.2.1をnutgetでリリースしました。nugetでは、ここから取得できます。

今回のリリースも、プレリリース版ではなく、正式版です。(バージョンにalphaをつけていません)。

前回同様、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のリリースの紹介でした。

コメントを残す