シャドウイング関連の情報を取得するAPIが用意されています。
ソースサーバ側の情報取得
SYS.Shadowing.DataSource:Connectionsクエリが用意されています。
例:
set rs = ##class(%ResultSet).%New("SYS.Shadowing.DataSource:Connections")
do rs.Execute()
while (rs.Next()) {
write rs.Get("Port"),! ; ポート
write rs.Get("Shadow IP"),! ; シャドウIP
write rs.Get("Journal"),! ; ジャーナル(転送中のジャーナルファイル)
write rs.Get("PID"),! ; SHDWSBLK のPID
write rs.Get("Latency"),! ; 遅延
write rs.Get("Shadowing Rate"),! ; シャドウレート
}
do rs.Close()
kill rs
シャドウサーバ側の情報取得
SYS.Shadowing.Shadow:Progressクエリが用意されています。
例:
set rs = ##class(%ResultSet).%New("SYS.Shadowing.Shadow:Progress")
do rs.Execute(ShadowID)
while (rs.Next()) {
write rs.Get("Name"),! ;名前
write rs.Get("Status"),! ; 状態 1: 処理中 2:停止 0:一時停止
write rs.Get("CheckPont"),! ; チェックポイント
write rs.Get("Latency"),! ; 遅延
write rs.Get("Applying Journal"),! ; ジャーナル適用中(パーセント完了)
write rs.Get("Transfering Journal"),! ; ジャーナル転送中
}
do rs.Close()
kill rs