From: Robert Varga Date: Tue, 25 Nov 2014 11:39:53 +0000 (+0100) Subject: Model dom-broker statistics X-Git-Tag: release/lithium~722^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=a9406b1074eecabc79d13cd47f1c0f221b99e428 Model dom-broker statistics This adds a model of statistics, reusing proper types where possible. Change-Id: Iae5004df1eee6b2989cab5894173a38ccc96f1bc Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/odl-sal-cds-cfg.yang b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/odl-sal-cds-cfg.yang index 2abe89316b..325dad33d7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/odl-sal-cds-cfg.yang +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/odl-sal-cds-cfg.yang @@ -8,6 +8,7 @@ module odl-concurrent-data-broker-cfg { import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} import opendaylight-md-sal-dom {prefix sal; } import opendaylight-sal-dom-broker-impl { prefix broker; } + import rpc-context { prefix rpcx; revision-date 2013-06-17; } description "Service definition for concurrent dom broker."; @@ -29,4 +30,12 @@ module odl-concurrent-data-broker-cfg { uses broker:dom-broker-config; } } + + augment "/config:modules/config:module/config:state" { + case dom-concurrent-data-broker { + when "/config:modules/config:module/config:type = 'dom-concurrent-data-broker'"; + + uses broker:dom-broker-operational; + } + } } diff --git a/opendaylight/md-sal/sal-dom-broker/pom.xml b/opendaylight/md-sal/sal-dom-broker/pom.xml index aec7efe46c..a824792cf8 100644 --- a/opendaylight/md-sal/sal-dom-broker/pom.xml +++ b/opendaylight/md-sal/sal-dom-broker/pom.xml @@ -55,6 +55,11 @@ yang-parser-impl + + org.opendaylight.yangtools.model + ietf-yang-types + + org.slf4j slf4j-api diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang index 1a553eab52..989b5b5649 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang +++ b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang @@ -1,13 +1,15 @@ module opendaylight-sal-dom-broker-impl { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl"; - prefix "binding-impl"; + prefix "broker"; import config { prefix config; revision-date 2013-04-05; } + import ietf-yang-types { prefix yang; } import opendaylight-md-sal-dom {prefix sal;} import opendaylight-md-sal-common {prefix common;} import opendaylight-config-dom-datastore {prefix config-dom-store-spi;} import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} + import rpc-context { prefix rpcx; revision-date 2013-06-17; } description "Service definition for Binding Aware MD-SAL. @@ -117,6 +119,52 @@ module opendaylight-sal-dom-broker-impl { } } + grouping dom-broker-operational { + leaf total-commits { + type uint64; + } + + leaf average-commit { + type uint64; + units ns; + } + + leaf longest-commit-duration { + type uint64; + units ns; + } + + leaf longest-commit-timestamp { + type yang:date-and-time; + } + + leaf shortest-commit-duration { + type uint64; + units ns; + } + + leaf shortest-commit-timestamp { + type yang:date-and-time; + } + + rpcx:rpc-context-instance dom-broker-rpc-ctx; + } + + identity dom-broker-rpc-ctx; + + rpc reset-statistics { + description + "JMX call to clear the toasts-made counter."; + + input { + uses rpcx:rpc-context-ref { + refine context-instance { + rpcx:rpc-context-instance dom-broker-rpc-ctx; + } + } + } + } + augment "/config:modules/config:module/config:configuration" { case dom-inmemory-data-broker { when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; @@ -125,6 +173,14 @@ module opendaylight-sal-dom-broker-impl { } } + augment "/config:modules/config:module/config:state" { + case dom-inmemory-data-broker { + when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; + + uses dom-broker-operational; + } + } + augment "/config:modules/config:module/config:state" { case schema-service-singleton { when "/config:modules/config:module/config:type = 'schema-service-singleton'";