use of org.apache.cxf.metrics.ExchangeMetrics in project cxf by apache.
the class AbstractMetricsInterceptor method getExchangeMetrics.
protected ExchangeMetrics getExchangeMetrics(Message m, boolean create) {
ExchangeMetrics ctx = m.getExchange().get(ExchangeMetrics.class);
if (ctx == null && create) {
ctx = new ExchangeMetrics(m.getExchange());
m.getExchange().put(ExchangeMetrics.class, ctx);
addEndpointMetrics(ctx, m);
}
return ctx;
}
use of org.apache.cxf.metrics.ExchangeMetrics in project cxf by apache.
the class MetricsMessageClientOutInterceptor method handleMessage.
public void handleMessage(Message message) throws Fault {
if (isRequestor(message)) {
ExchangeMetrics ctx = getExchangeMetrics(message, true);
InputStream in = message.getContent(InputStream.class);
if (in != null) {
CountingInputStream newIn = new CountingInputStream(in);
message.setContent(InputStream.class, newIn);
message.getExchange().put(CountingInputStream.class, newIn);
}
addOperationMetrics(ctx, message, message.getExchange().getBindingOperationInfo());
ctx.start();
}
}
use of org.apache.cxf.metrics.ExchangeMetrics in project cxf by apache.
the class MetricsMessageInPreInvokeInterceptor method handleMessage.
public void handleMessage(Message message) throws Fault {
if (!isRequestor(message)) {
Exchange ex = message.getExchange();
// we now know the operation, start metrics for it
ExchangeMetrics ctx = getExchangeMetrics(message, false);
if (ctx != null) {
addOperationMetrics(ctx, message, ex.getBindingOperationInfo());
}
}
}
use of org.apache.cxf.metrics.ExchangeMetrics in project cxf by apache.
the class CustomerMetricsInterceptor method handleMessage.
@Override
public void handleMessage(Message message) throws Fault {
ExchangeMetrics m = message.getExchange().get(ExchangeMetrics.class);
if (m != null) {
Map<String, List<String>> h = CastUtils.cast((Map<?, ?>) message.get(Message.PROTOCOL_HEADERS));
String auth = h.get("Authorization").toString();
auth = auth.substring(auth.indexOf(' ') + 1);
try {
auth = new String(Base64Utility.decode(auth));
} catch (Base64Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
auth = auth.substring(0, auth.indexOf(':'));
Customer c = customers.get(auth);
if (c == null) {
throw new RuntimeException("Not authorized");
}
m.addContext(c.getMetricsContext(registry));
message.getExchange().put(Customer.class, c);
}
}
use of org.apache.cxf.metrics.ExchangeMetrics in project cxf by apache.
the class MetricsMessageInInterceptor method handleMessage.
public void handleMessage(Message message) throws Fault {
if (!isRequestor(message)) {
ExchangeMetrics ctx = getExchangeMetrics(message, true);
InputStream in = message.getContent(InputStream.class);
if (in != null) {
CountingInputStream newIn = new CountingInputStream(in);
message.setContent(InputStream.class, newIn);
message.getExchange().put(CountingInputStream.class, newIn);
}
ctx.start();
}
}
Aggregations