4Dサーバーの動作を監視する新ツール

Deeplからの自動翻訳
4D Server のアクティビティを管理するのに役立つ多くの 機能がリリースされました。4D v18 R3は、4D管理者に4D Server活動のための別の監視ツールを提供します。指定した時間以降に実行されるすべてのオペレーションと、関連するテーブル、フィールド、クライアントに関する関連する詳細を取得するツールです。
この機能により、上記のことが可能になるだけでなく、コードの最適化、問題の特定、4Dサーバーのリソースの解放が容易になります。

HDI: 4Dアプリケーションのアクティビティをモニター

4Dは、4Dアプリケーションをモニターするための新しいコマンドを導入しています。これらのコマンドを使用すると、指定した時間以上持続するアクティビティ(メモリ内)を記録することができます。

モニターしたいアクティビティの種類を指定することができます。

  • 4D データアクティビティ:4D データそのものに関わる 操作です。
  • ネットワークアクティビティ4DRequestsLogファイル(*)と同じ情報を取得します。
  • 言語実行4DDebugLogファイル(*)と同様の情報を得ることができます。

(*) 対応するログファイルをアクティブにする必要がないため、ディスクの空き容量を使用することはありません。

START MONITORING ACTIVITY コマンド

この START MONITORING ACTIVITYコマンドは、継続時間の閾値と 監視する操作の 種類をパラメータとして受け取ります。これについては、以下の新しい定数を用いて監視することができます。

  • Activity operations: 4Dデータでの操作
  • Activity networkネットワークアクティビティーの操作
  • Activity language言語実行の操作

Get Monitored Activityコマンド

記録されたすべてのアクティビティを取得したいときは、単に新しい Get Monitored Activity()コマンドを呼び出すだけです。

関連情報を持つオブジェクトのコレクションを返すので、好きなように使うことができる(ファイルを生成する、管理者用のインターフェースを表示する、など)。

STOP MONITORING ACTIVITYコマンド

4D アプリケーションの動作の記録を停止したいとき、またはメモリーを空にしたいときは、単に STOP MONITORING ACTIVITYコマンドを呼び出すだけです。

具体例

ほとんどの場合、あなたのニーズは次のようなものでしょう。

10分ごとに、4Dサーバーで10秒以上続いた操作があるかどうかをチェックしたい。もし、そうであれば、管理者にメールを送りたい(または、他のアクションを起こしたい)。

以下は、それを実現するためのコードです。

ONサーバーのスタートアップメソッド

C_LONGINT($monitorProcessId)

STOP MONITORING ACTIVITY
// Detect 4D data operations which lasted more than 10s
START MONITORING ACTIVITY (10;Activity operations)
//Run a monitoring process
$monitorProcessId
:=New process("monitorOperations";0; "Monitor operations")

監視プロセス(サーバー上で実行される)

C_COLLECTION

($activities)

While (Not(Process aborted))

// Inspect 4D data activity every 10 minutes
DELAY PROCESS (Current process;36000)
// Get the long operations and exclude backup operations
$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
// Empty the memory and restart the monitoring STOP MONITORING ACTIVITY
START MONITORING ACTIVITY ( 10;Activity operations)件
End if

End while “サーバーの停止

サーバーのシャットダウン方法について


C_COLLECTION
($activities)

$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
End if

もっと詳しく知りたい方はHDIをご覧ください
Avatar
- プロダクトオーナー - Marie-Sophie Landrieu-Yvertは、2017年にプロダクトオーナーとして4Dプロダクトチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。彼女は1995年にESIGELEC Engineering Schoolを卒業し、IBMでエンジニアとしてのキャリアをスタートさせました。様々なプロジェクト(保守や新規のプロジェクト)に参加し、Cobolのデベロッパーとして働きました。その後、UMLデザイナーおよびJavaデベロッパーとして勤務。最近は、機能要件の分析・記述、ビジネスチームと開発チームの調整などを主に担当しています。