X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FStatisticsRestconfServiceWrapper.java;h=f4a5fbc926479c94ed3eaa762722483424036133;hb=a54ec60368110d22794602343c934902f6833c65;hp=9c5dc91803068f914ad0b83d9c5d3addfc67d3b3;hpb=6405fa8d6b47e406cdf566b26b15f980d802cad4;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/StatisticsRestconfServiceWrapper.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/StatisticsRestconfServiceWrapper.java index 9c5dc91803..f4a5fbc926 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/StatisticsRestconfServiceWrapper.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/StatisticsRestconfServiceWrapper.java @@ -10,10 +10,9 @@ package org.opendaylight.controller.sal.restconf.impl; import java.math.BigInteger; import java.util.concurrent.atomic.AtomicLong; import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.UriInfo; import org.opendaylight.controller.sal.rest.api.RestconfService; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.Node; public class StatisticsRestconfServiceWrapper implements RestconfService { @@ -23,6 +22,16 @@ public class StatisticsRestconfServiceWrapper implements RestconfService { AtomicLong configPost = new AtomicLong(); AtomicLong configPut = new AtomicLong(); AtomicLong configDelete = new AtomicLong(); + AtomicLong successGetConfig = new AtomicLong(); + AtomicLong successGetOperational = new AtomicLong(); + AtomicLong successPost = new AtomicLong(); + AtomicLong successPut = new AtomicLong(); + AtomicLong successDelete = new AtomicLong(); + AtomicLong failureGetConfig = new AtomicLong(); + AtomicLong failureGetOperational = new AtomicLong(); + AtomicLong failurePost = new AtomicLong(); + AtomicLong failurePut = new AtomicLong(); + AtomicLong failureDelete = new AtomicLong(); private static final StatisticsRestconfServiceWrapper INSTANCE = new StatisticsRestconfServiceWrapper(RestconfImpl.getInstance()); @@ -52,28 +61,28 @@ public class StatisticsRestconfServiceWrapper implements RestconfService { } @Override - public StructuredData getModule(final String identifier, final UriInfo uriInfo) { + public NormalizedNodeContext getModule(final String identifier, final UriInfo uriInfo) { return delegate.getModule(identifier, uriInfo); } @Override - public StructuredData getOperations(final UriInfo uriInfo) { + public NormalizedNodeContext getOperations(final UriInfo uriInfo) { return delegate.getOperations(uriInfo); } @Override - public StructuredData getOperations(final String identifier, final UriInfo uriInfo) { + public NormalizedNodeContext getOperations(final String identifier, final UriInfo uriInfo) { return delegate.getOperations(identifier, uriInfo); } @Override - public StructuredData invokeRpc(final String identifier, final CompositeNode payload, final UriInfo uriInfo) { + public NormalizedNodeContext invokeRpc(final String identifier, final NormalizedNodeContext payload, final UriInfo uriInfo) { rpc.incrementAndGet(); return delegate.invokeRpc(identifier, payload, uriInfo); } @Override - public StructuredData invokeRpc(final String identifier, final String noPayload, final UriInfo uriInfo) { + public NormalizedNodeContext invokeRpc(final String identifier, final String noPayload, final UriInfo uriInfo) { rpc.incrementAndGet(); return delegate.invokeRpc(identifier, noPayload, uriInfo); } @@ -81,36 +90,115 @@ public class StatisticsRestconfServiceWrapper implements RestconfService { @Override public NormalizedNodeContext readConfigurationData(final String identifier, final UriInfo uriInfo) { configGet.incrementAndGet(); - return delegate.readConfigurationData(identifier, uriInfo); + NormalizedNodeContext normalizedNodeContext = null; + try { + normalizedNodeContext = delegate.readConfigurationData(identifier, uriInfo); + if (normalizedNodeContext.getData() != null) { + successGetConfig.incrementAndGet(); + } + else { + failureGetConfig.incrementAndGet(); + } + } catch (Exception e) { + failureGetConfig.incrementAndGet(); + throw e; + } + return normalizedNodeContext; } @Override public NormalizedNodeContext readOperationalData(final String identifier, final UriInfo uriInfo) { operationalGet.incrementAndGet(); - return delegate.readOperationalData(identifier, uriInfo); + NormalizedNodeContext normalizedNodeContext = null; + try { + normalizedNodeContext = delegate.readOperationalData(identifier, uriInfo); + if (normalizedNodeContext.getData() != null) { + successGetOperational.incrementAndGet(); + } + else { + failureGetOperational.incrementAndGet(); + } + } catch (Exception e) { + failureGetOperational.incrementAndGet(); + throw e; + } + return normalizedNodeContext; } @Override - public Response updateConfigurationData(final String identifier, final Node payload) { + public Response updateConfigurationData(final String identifier, final NormalizedNodeContext payload) { configPut.incrementAndGet(); - return delegate.updateConfigurationData(identifier, payload); + Response response = null; + try { + response = delegate.updateConfigurationData(identifier, payload); + if (response.getStatus() == Status.OK.getStatusCode()) { + successPut.incrementAndGet(); + } + else { + failurePut.incrementAndGet(); + } + } catch (Exception e) { + failurePut.incrementAndGet(); + throw e; + } + return response; } @Override - public Response createConfigurationData(final String identifier, final Node payload) { + public Response createConfigurationData(final String identifier, final NormalizedNodeContext payload, final UriInfo uriInfo) { configPost.incrementAndGet(); - return delegate.createConfigurationData(identifier, payload); + Response response = null; + try { + response = delegate.createConfigurationData(identifier, payload, uriInfo); + if (response.getStatus() == Status.OK.getStatusCode()) { + successPost.incrementAndGet(); + } + else { + failurePost.incrementAndGet(); + } + } catch (Exception e) { + failurePost.incrementAndGet(); + throw e; + } + return response; } @Override - public Response createConfigurationData(final Node payload) { + public Response createConfigurationData(final NormalizedNodeContext payload, final UriInfo uriInfo) { configPost.incrementAndGet(); - return delegate.createConfigurationData(payload); + Response response = null; + try { + response = delegate.createConfigurationData(payload, uriInfo); + if (response.getStatus() == Status.OK.getStatusCode()) { + successPost.incrementAndGet(); + } + else { + failurePost.incrementAndGet(); + } + }catch (Exception e) { + failurePost.incrementAndGet(); + throw e; + } + return response; } @Override public Response deleteConfigurationData(final String identifier) { - return delegate.deleteConfigurationData(identifier); + configDelete.incrementAndGet(); + Response response = null; + try { + response = delegate.deleteConfigurationData(identifier); + if (response.getStatus() == Status.OK.getStatusCode()) { + successDelete.incrementAndGet(); + } + else { + failureDelete.incrementAndGet(); + } + } catch (Exception e) { + failureDelete.incrementAndGet(); + throw e; + } + return response; } @Override @@ -119,7 +207,7 @@ public class StatisticsRestconfServiceWrapper implements RestconfService { } @Override - public StructuredData getAvailableStreams(final UriInfo uriInfo) { + public NormalizedNodeContext getAvailableStreams(final UriInfo uriInfo) { return delegate.getAvailableStreams(uriInfo); } @@ -147,4 +235,43 @@ public class StatisticsRestconfServiceWrapper implements RestconfService { return BigInteger.valueOf(rpc.get()); } -} + public BigInteger getSuccessGetConfig() { + return BigInteger.valueOf(successGetConfig.get()); + } + + public BigInteger getSuccessGetOperational() { + return BigInteger.valueOf(successGetOperational.get()); + } + + public BigInteger getSuccessPost() { + return BigInteger.valueOf(successPost.get()); + } + + public BigInteger getSuccessPut() { + return BigInteger.valueOf(successPut.get()); + } + + public BigInteger getSuccessDelete() { + return BigInteger.valueOf(successDelete.get()); + } + + public BigInteger getFailureGetConfig() { + return BigInteger.valueOf(failureGetConfig.get()); + } + + public BigInteger getFailureGetOperational() { + return BigInteger.valueOf(failureGetOperational.get()); + } + + public BigInteger getFailurePost() { + return BigInteger.valueOf(failurePost.get()); + } + + public BigInteger getFailurePut() { + return BigInteger.valueOf(failurePut.get()); + } + + public BigInteger getFailureDelete() { + return BigInteger.valueOf(failureDelete.get()); + } +} \ No newline at end of file