[openrtm-commit:03047] r1089 - trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/RTMExamples/Throughput
openrtm @ openrtm.org
openrtm @ openrtm.org
2017年 12月 27日 (水) 17:20:17 JST
Author: t-katami
Date: 2017-12-27 17:20:17 +0900 (Wed, 27 Dec 2017)
New Revision: 1089
Modified:
trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/RTMExamples/Throughput/ThroughputImpl.java
Log:
[compat,example,->RELENG_1_2] Added ThroughputRTC. refs #4397
Modified: trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/RTMExamples/Throughput/ThroughputImpl.java
===================================================================
--- trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/RTMExamples/Throughput/ThroughputImpl.java 2017-12-27 05:59:50 UTC (rev 1088)
+++ trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/RTMExamples/Throughput/ThroughputImpl.java 2017-12-27 08:20:17 UTC (rev 1089)
@@ -37,6 +37,68 @@
import org.omg.CORBA.portable.OutputStream;
+/**
+ * {@.ja Clock Throughput Component}
+ * <p>
+ * {@.ja 時間計測用RTC
+ *
+ * データポートのスループットを計測するコンポーネント。interface_type,
+ * subscription_type 等 ConnectorProfile パラメータやデータサイズ、サン
+ * プル数などを変更して、その際の転送時間(最大、最小、平均、標準偏差)
+ * およびスループットを測定してファイルに記録することができる。
+ *
+ * 基本的には、以下の(a)や(b)のような接続形態で使用する。
+ * <pre>
+ * +-----------+
+ * | ______ | ______ ______
+ * +->|_____|>-+ >|_____|>-->|_____|>
+ * (a) (b)
+ * </pre>
+ * 同一コンポーネント内では(a)、同一プロセス内、同一ノード内のスループッ
+ * トは (a)または(b)、異なるノード間のスループットを計測する際は (b)の
+ * 接続形態で計測する。計測は以下の手順で行う。
+ *
+ * <ul>
+ * <li># コンポーネントを起動する
+ * <li># コンフィグレーションパラメータを設定する
+ * <li># 必要なコネクタプロファイルを設定してポートを接続する
+ * <li># コンポーネントをアクティベートする
+ * </ul>
+ *
+ * 計測結果はデータを受け取ったコンポーネントがファイルに記録する。
+ *
+ * * コンフィギュレーションパラメータ
+ * <ul>
+ * <li> mode: 計測モード名。logincr, incr, const から選択可能。
+ * - logincr: logスケールでデータ数を増加させ計測。実際には、1, 2, 5,
+ * 10, .. といった間隔でデータ数を増加させ、logスケールでプ
+ * ロットした際にほぼ等間隔となるように計測する。
+ * - incr: incrementパラメータで指定されたバイト数で、一定間隔でデータ
+ * 数を増加させる。
+ * - const: データは増加させず一定サイズでスループットを計測する。
+ *
+ * <li> outputfile: 出力ファイル名。onActivated時、またはデータ受信時にファ
+ * イルがオープンされるので、それ以降にパラメータを設定し
+ * た場合は反映されない。
+ * <li> increment: データ増分。
+ * mode が incr の場合のデータ増分を byte で指定する。
+ *
+ * <li> maxsize: 最大データ個数を指定する。送信するシーケンスデータのサイ
+ * ズを指定する。実際のデータサイズは、この個数に1データ当た
+ * りのバイト数をかけたものとなる。
+ * <li> maxsend: 最大送信数。データ送信回数の最大値を指定する。モードが
+ * logincr, incr の場合、データサイズ毎に maxsend 回数データ
+ * を送信する。
+ * <li> maxsample: 最大サンプリング数。データを受信し、統計情報を計算する
+ * 際の最大サンプル数を指定する。データ送信側の送信数がサン
+ * プル数より少ない場合、受信したサンプル数で統計情報を計算
+ * する。データ送信側の送信数がサンプル数より多い場合、古い
+ * 情報は破棄され、最新の maxsample 個の計測データから統計情
+ * 報を計算する。
+ * </ul>}
+ *
+ *
+ */
public class ThroughputImpl extends DataFlowComponentBase {
public ThroughputImpl(Manager manager) {
More information about the openrtm-commit
mailing list