前提・実現したいこと
お世話になります。
PowerShellでiperf3というコンソールアプリケーションの通信ソフトを動作させております。
送受信するPCを2台用意し受信側の結果に1行1行文字列が表示されるタイミング(可変できますがdefaultは1秒間隔で更新されます)でそのPCのタイムスタンプを追加したいと思っています。
iperf3自体にはタイムスタンプを残す機能がなく、結果が順に1行1行表示されるタイミングでパイプの機能
を使って時刻追加ができないかと思っていますが実現できていません。
(方法としてはパイプでなくても構わないのですが、何とか時刻と文字列が表示されたタイミングを結び付けたいと思っています。)
試したこと
色々と調べてパイプで渡すことを考え、その時間を追加するようにしました。
ping 192.168.0.1 |foreach-object {(get-date -f "[yyyy/MM/dd HH:mm:ss.ff] ") + "$_"}
の場合は文字列が追加されるタイミングで時間も取得でき、きちんと動作しました。
■結果
[2020/12/14 11:03:05.49] Pinging 192.168.0.100 with 32 bytes of data:
[2020/12/14 11:03:05.49] Reply from 192.168.0.100: bytes=32 time<1ms TTL=128
[2020/12/14 11:03:06.48] Reply from 192.168.0.100: bytes=32 time<1ms TTL=128
[2020/12/14 11:03:07.48] Reply from 192.168.0.100: bytes=32 time<1ms TTL=128
[2020/12/14 11:03:08.48] Reply from 192.168.0.100: bytes=32 time<1ms TTL=128
iperf3に置き換えた場合は時間は都度1行1行表示されたタイミングで追加されるのではなくiperf3での送受信が完了するタイミング毎にまとめて追加される形になります。この為、時間はその処理が完了した時間とほぼ同じになるだけになってしまいます。
./iperf3.exe -s |foreach-object {(get-date -f "[yyyy/MM/dd HH:mm:ss.ff] ") + "$_"}
■結果(この例だと1秒間隔で表示されている部分も完了したであろう時間の11:07辺りで同じになってしまう)
[2020/12/14 11:07:47.72] -----------------------------------------------------------
[2020/12/14 11:07:47.72] Server listening on 5201
[2020/12/14 11:07:47.72] -----------------------------------------------------------
[2020/12/14 11:07:47.72] Accepted connection from 192.168.0.200, port 63843
[2020/12/14 11:07:47.72] [ 5] local 192.168.0.100 port 5201 connected to 192.168.0.200 port 63844
[2020/12/14 11:07:47.72] [ ID] Interval Transfer Bandwidth
[2020/12/14 11:07:47.72] [ 5] 0.00-1.00 sec 109 MBytes 913 Mbits/sec
[2020/12/14 11:07:47.72] [ 5] 1.00-2.00 sec 112 MBytes 940 Mbits/sec
[2020/12/14 11:07:47.72] [ 5] 2.00-3.00 sec 112 MBytes 938 Mbits/sec
[2020/12/14 11:07:47.73] [ 5] 3.00-4.00 sec 112 MBytes 942 Mbits/sec
[2020/12/14 11:07:47.73] [ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec
[2020/12/14 11:07:47.74] [ 5] 5.00-5.03 sec 3.36 MBytes 935 Mbits/sec
[2020/12/14 11:07:47.74] - - - - - - - - - - - - - - - - - - - - - - - - -
[2020/12/14 11:07:47.74] [ ID] Interval Transfer Bandwidth
[2020/12/14 11:07:47.74] [ 5] 0.00-5.03 sec 0.00 Bytes 0.00 bits/sec sender
[2020/12/14 11:07:47.74] [ 5] 0.00-5.03 sec 561 MBytes 935 Mbits/sec receiver
補足情報(FW/ツールのバージョンなど)
環境:
OS:Windows10 Professional
PowerShell:v7.1
動作アプリケーション:iperf3 v3.1.3
(https://iperf.fr/iperf-download.php#windows)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/15 02:18 編集