見出し画像

シン・TWSNMPのシステムモニター機能で通信量がマイナスになる問題の調査中

今朝は2時に助手の猫さんが起こしにきました。ご飯をあげて、TVをつけるとオリンピック柔道の表彰式をやっていました。サッカーは4時からなので二度寝して自力で起きると5時でした。しびれる試合でしたが勝ってよかった。

エアコンのいらない世界に旅している間、シン・TWSNMPを稼働させておいたのですが、ふと「システムモニター」の画面を表示してみると通信量がマイナスになっています。

のような感じです。グラフにもマイナスが時々でています。
何か想定外の計算になっているのだと思います。
ほっておくわけにもいかず、調べることにしました。
でも、このての問題が一番やっかいです。5分の一回計算していいて、1時間に1回ぐらいしか発生しないようです。
発生したらパニックで止まるようにして待っているしかないです。
サッカーの試合をみながら待っていたら運良く1回発生したのですが、
デバックで表示する情報を間違えていたので、原因究明できません。
デバックのためのソースコードを修正して、再度動かしています。

これを書いている時、6:59に止まりました。

2024/07/28 06:59:13 m=&{Time:1722117553115342000 CPU:16.38580016273882 Mem:67.87930727005005 Disk:87.47231166314911 Load:1.919921875 Bytes:8.84666097266e+11 Net:-1.6435436183945194e+06 Conn:0 Proc:0 DBSize:0} o=&{Time:1722117253111831000 CPU:15.904212316349223 Mem:68.00763607025146 Disk:87.47036919688614 Load:1.77490234375 Bytes:8.84727730873e+11 Net:890885.1054551136 Conn:69 Proc:1013 DBSize:986726400} n=[{"name":"all","bytesSent":48660978984,"bytesRecv":836005118282,"packetsSent":196145056,"packetsRecv":682185167,"errin":0,"errout":5,"dropin":0,"dropout":601424,"fifoin":0,"fifoout":0}]
panic: m=&{Time:1722117553115342000 CPU:16.38580016273882 Mem:67.87930727005005 Disk:87.47231166314911 Load:1.919921875 Bytes:8.84666097266e+11 Net:-1.6435436183945194e+06 Conn:0 Proc:0 DBSize:0} o=&{Time:1722117253111831000 CPU:15.904212316349223 Mem:68.00763607025146 Disk:87.47036919688614 Load:1.77490234375 Bytes:8.84727730873e+11 Net:890885.1054551136 Conn:69 Proc:1013 DBSize:986726400} n=[{"name":"all","bytesSent":48660978984,"bytesRecv":836005118282,"packetsSent":196145056,"packetsRecv":682185167,"errin":0,"errout":5,"dropin":0,"dropout":601424,"fifoin":0,"fifoout":0}]

整理すると、

2024/07/28 06:59:13 
m=&{Time:1722117553115342000 Bytes:8.84666097266e+11 Net:-1.6435436183945194e+06}
o=&{Time:1722117253111831000 Bytes:8.84727730873e+11 Net:890885.1054551136} 
n=[{"name":"all","bytesSent":48660978984,"bytesRecv":836005118282,}]


2024/07/28 06:54:13
m=&{Time:1722117253111831000 Bytes:8.84727730873e+11 Net:890885.1054551136} 
o=&{Time:1722116953114098000 Bytes:8.84694322934e+11 }
n=[{"name":"all","bytesSent":48681812268,"bytesRecv":836045918605,}]

通信量を計算するために使っている、総送信と送受信のバイト数が5分前より減っているのが原因のようです。
この値は、

gopsnet.IOCounters(false)

で取得しています。
詳しく調べるために、このパッケージのソースコードを読んでみようと思います。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。