アイテムの単位計算
お世話になります。
現在、MySQLのコミット回数を取得するアイテムを設定しています。
監視データ>最新データ画面の「最新の値」で表示される数は問題ないのですが、
グラフを表示したときに勝手に「K」という単位がついて表示されてしまいます。
(最新の値に表示される値は670000ほどで、グラフでは670Kと表示されます)
おそらく取得した数値の単位が「Byte」であると判断しているため、このような表記になるのだと思いますが、
コミットの”回数”であるため、単位をつけずに取得した数値をそのままグラフ化したいのです。
アイテムで取得した数値について、単位の計算をしない方法をご存知の方がいましたらご教授ください。
バージョンは2.4.5です。
TNK - 投稿数: 4755
グラフのY軸やグラフの下部に表示させる最新値などの出力時に、
K(キロ)、M(メガ)などの単位が付加されるのは、アイテムの値の単
位がBがどうかは関係ありません。
アイテムの単位がBやBpsであるかどうかを確認して、1000で割るか
1024で割るかという分岐はありますが、グラフ生成時には、表示で
きる幅に制限があるため、限られた幅で値を表示するために、大き
な値に関しては、Kなどを付加して表示する桁数を削減するように
なっているようです。
具体的に、どのような単位変換を行っているかは、
ファイル名: include/func.inc.php
関数名 : convert_units()
のあたりを確認してみてください。
どうしても、そのままの数値でグラフ上に表示したい場合は、単位
変換を行わない特殊な単位を利用する、もしくは新たに追加するこ
とが考えられます。
デフォルトでは、単位が「%」「ms」「rpm」「RPM」であるものは、
Kなどを付加しないようになっています。
具体的には、先の関数convert_units()内で定義されている、
$blackList = array('%', 'ms', 'rpm', 'RPM');
と定義されています。
これらの単位を利用するか、新たに単位を定義して$blackListに追
加してみてはいかがでしょうか?
ただし、あまり桁数が大きいとはみ出て文字が切れたりしますので
ご注意ください。
khm-2058 - 投稿数: 6
TNKさん
ご回答ありがとうございます。
グラフの表示幅の制限が関係していたのですね。
ご指摘いただいた include/func.inc.php 内の
$blackList = array('%', 'ms', 'rpm', 'RPM'); 部分に新たに '回' を追加してみたところ、
グラフ表示した際も「数値+'回'」で表示できました。
桁数の限界が気になるところですが、ひとまずこれで様子をみてみます。
ありがとうございました。