module ntfbenchmark { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:ntfbenchmark"; prefix "ntfbenchmark"; description "Copyright © 2015, 2018 Cisco Systems, Inc. and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html"; revision "2015-01-05" { description "Initial revision of ntfbenchmark model"; } rpc test-status { description "Get test status"; output { leaf execStatus { type enumeration { enum "idle" { value 1; } enum "executing" { value 2; } } } leaf ntf-cnt { type uint32; default 0; description "The number of times the notification benchmark test was invoked"; } } } rpc start-test { description "Start a new RPC Benchmark test"; input { leaf producer-type { mandatory true; type enumeration { enum "BLOCKING" { value 1; description "The producer waits for a free slot in RPC Broker's ring buffer"; } enum "DROPPING" { value 2; description "The producer drops a notification if there is no free slot in RPC Broker's ring buffer"; } } description "RPC type and client type to use in the test"; } leaf producers { type uint32; default 1; description "Number of notification producers (test client threads) to start"; } leaf listeners { type uint32; default 1; description "Number of notification listener instances"; } leaf payload-size { type uint32; default 1; description "Notification payload size: number of elements in the list of integers that is the notification payload"; } leaf iterations { type uint32; default 1; description "Number of notifications to generate in each client thread"; } } output { leaf listener-ok { type uint32; default 0; description "Number of successfully creceived notifications by all listeners"; } leaf producer-ok { type uint32; default 0; description "Number of successfully generated notifications in all producer clients"; } leaf producer-error { type uint32; default 0; description "Number of errors encoutered during notification generation at all producers"; } leaf producer-elapsed-time { type uint32; default 0; description "The time it took for all producers to finish (i.e. to send their notifications), in milliseconds"; } leaf listener-elapsed-time { type uint32; default 0; description "The time it took for all listeners to finish (i.e. to receive their notifications), in milliseconds"; } leaf producer-rate { type uint32; default 0; description "RPC rate (Number of RPCs/sec)"; } leaf listener-rate { type uint32; default 0; description "RPC rate (Number of RPCs/sec)"; } } } }