use of javax.management.openmbean.CompositeData in project camel by apache.
the class ManagedCircuitBreakerLoadBalancer method exceptionStatistics.
@Override
public TabularData exceptionStatistics() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.loadbalancerExceptionsTabularType());
ExceptionFailureStatistics statistics = processor.getExceptionFailureStatistics();
Iterator<Class<?>> it = statistics.getExceptions();
boolean empty = true;
while (it.hasNext()) {
empty = false;
Class<?> exception = it.next();
String name = ObjectHelper.name(exception);
long counter = statistics.getFailureCounter(exception);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
if (empty) {
// use Exception as a single general
String name = ObjectHelper.name(Exception.class);
long counter = statistics.getFailureCounter(Exception.class);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.CompositeData in project camel by apache.
the class ManagedDynamicRouter method extendedInformation.
@Override
public TabularData extendedInformation() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());
EndpointUtilizationStatistics stats = processor.getEndpointUtilizationStatistics();
if (stats != null) {
for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
String url = entry.getKey();
if (sanitize) {
url = URISupport.sanitizeUri(url);
}
Long hits = entry.getValue();
if (hits == null) {
hits = 0L;
}
CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
answer.put(data);
}
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.CompositeData in project camel by apache.
the class ManagedEnricher method extendedInformation.
@Override
public TabularData extendedInformation() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());
EndpointUtilizationStatistics stats = processor.getEndpointUtilizationStatistics();
if (stats != null) {
for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
String url = entry.getKey();
if (sanitize) {
url = URISupport.sanitizeUri(url);
}
Long hits = entry.getValue();
if (hits == null) {
hits = 0L;
}
CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
answer.put(data);
}
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.CompositeData in project camel by apache.
the class ManagedFailoverLoadBalancer method exceptionStatistics.
@Override
public TabularData exceptionStatistics() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.loadbalancerExceptionsTabularType());
ExceptionFailureStatistics statistics = processor.getExceptionFailureStatistics();
Iterator<Class<?>> it = statistics.getExceptions();
boolean empty = true;
while (it.hasNext()) {
empty = false;
Class<?> exception = it.next();
String name = ObjectHelper.name(exception);
long counter = statistics.getFailureCounter(exception);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
if (empty) {
// use Exception as a single general
String name = ObjectHelper.name(Exception.class);
long counter = statistics.getFailureCounter(Exception.class);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.CompositeData in project camel by apache.
the class ManagedInflightRepository method browse.
@Override
public TabularData browse(String routeId, int limit, boolean sortByLongestDuration) {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listInflightExchangesTabularType());
Collection<InflightRepository.InflightExchange> exchanges = inflightRepository.browse(routeId, limit, sortByLongestDuration);
for (InflightRepository.InflightExchange entry : exchanges) {
CompositeType ct = CamelOpenMBeanTypes.listInflightExchangesCompositeType();
String exchangeId = entry.getExchange().getExchangeId();
String fromRouteId = entry.getFromRouteId();
String atRouteId = entry.getAtRouteId();
String nodeId = entry.getNodeId();
String elapsed = "" + entry.getElapsed();
String duration = "" + entry.getDuration();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exchangeId", "fromRouteId", "routeId", "nodeId", "elapsed", "duration" }, new Object[] { exchangeId, fromRouteId, atRouteId, nodeId, elapsed, duration });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
Aggregations