--- /dev/null
+module rpcbenchmark {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:rpcbenchmark";
+ prefix "rpcbenchmark";
+
+ revision "2015-07-02" {
+ description "Initial revision of rpcbenchmark model";
+ }
+
+ rpc test-status {
+ description
+ "Get test status";
+ output {
+ leaf execStatus {
+ type enumeration {
+ enum "idle" {
+ value 1;
+ }
+ enum "executing" {
+ value 2;
+ }
+ }
+ }
+ leaf global-server-cnt {
+ type uint32;
+ default 0;
+ description
+ "The number of times the Global RPC server was invoked";
+
+ }
+ }
+ }
+
+ rpc start-test {
+ description
+ "Start a new RPC Benchmark test run";
+
+ input {
+ leaf operation {
+ mandatory true;
+ type enumeration {
+ enum "GLOBAL-RTC" {
+ value 1;
+ description
+ "Use Global RPC service and run-to-completion client";
+ }
+ enum "ROUTED-RTC" {
+ value 2;
+ description
+ "Use routed RPC service and run-to-completion client. RPC server instances are
+ dynamically created when the test starts and deleted when the test finishes";
+ }
+ }
+ description
+ "RPC type and client type to use in the test";
+ }
+ leaf num-clients {
+ type uint32;
+ default 1;
+ description
+ "Number of clients (test client threads) to start";
+ }
+ leaf num-servers {
+ type uint32;
+ default 1;
+ description
+ "Number of RPC server instances. Only valid for routed RPCs.";
+ }
+
+ leaf payload-size {
+ type uint32;
+ default 1;
+ description
+ "Input/Output payload size: number of elements in the list of integers that is the input and output RPC payload";
+ }
+ leaf iterations {
+ type uint32;
+ default 1;
+ description
+ "Number of calls to the specified RPC server that is to be made by each client";
+ }
+
+ }
+
+ output {
+ leaf global-rtc-client-ok {
+ type uint32;
+ default 0;
+ description
+ "Number of successful calls to the Global RPC Server for all test threads";
+ }
+ leaf global-rtc-client-error {
+ type uint32;
+ default 0;
+ description
+ "Number of failed calls to the Global RPC server from all test threads";
+ }
+ leaf exec-time {
+ type uint32;
+ default 0;
+ description
+ "Test execution time, in milliseconds";
+ }
+ leaf rate {
+ type uint32;
+ default 0;
+ description
+ "RPC rate (Number of RPCs/sec)";
+ }
+ }
+ }
+}