@Override public int compare(Invocation o1, Invocation o2) { if (o1.getStart() == o2.getStart()) { return (o1.getDuration() < o2.getDuration()) ? 1 : ((o1.getDuration() == o2.getDuration()) ? 0 : -1); } return (o1.getStart() < o2.getStart()) ? 1 : ((o1.getStart() == o2.getStart()) ? 0 : -1); } };
@Override public int compare(Invocation o1, Invocation o2) { return o2.getEntryPointIdx().compareTo(o1.getEntryPointIdx()); } },
static JsonObjectBuilder createBasicInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = Json.objectBuilder(); if (invocation.getEntryPointIdx() != null) { invocationBuilder.add(ID, invocation.getEntryPointIdx()); } if (invocation.getInterceptedBean() != null) { invocationBuilder.add(INTERCEPTED_BEAN, createSimpleBeanJson(invocation.getInterceptedBean(), probe)); } else { invocationBuilder.add(DECLARING_CLASS, invocation.getDeclaringClassName()); } if (invocation.getDescription() != null) { invocationBuilder.add(DESCRIPTION, invocation.getDescription()); } invocationBuilder.add(METHOD_NAME, invocation.getMethodName()); invocationBuilder.add(START, invocation.getStart()); invocationBuilder.add(TIME, invocation.getDuration()); return invocationBuilder; }
boolean testSearch(String search, Invocation invocation) { if (search == null) { return true; } if (containsIgnoreCase(search, invocation.getBeanClass()) || containsIgnoreCase(search, invocation.getMethodName())) { return true; } if (invocation.hasChildren()) { for (Invocation child : invocation.getChildren()) { if (testSearch(search, child)) { return true; } } } return false; }
@Override boolean test(Invocation invocation) { return testSearch(search, invocation) && testContainsIgnoreCase(beanClass, invocation.getBeanClass()) && testContainsIgnoreCase(methodName, invocation.getMethodName()) && testContainsIgnoreCase(description, invocation.getDescription()); }
/** * * @param invocation * @param probe * @return */ static JsonObjectBuilder createFullInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = createBasicInvocationJson(invocation, probe); invocationBuilder.add(TYPE, invocation.getType().toString()); if (invocation.hasChildren()) { JsonArrayBuilder childrenBuilder = Json.arrayBuilder(); for (Invocation child : invocation.getChildren()) { childrenBuilder.add(createFullInvocationJson(child, probe)); } invocationBuilder.add(CHILDREN, childrenBuilder); } return invocationBuilder; }
/** * * @param invocation */ void addInvocation(Invocation invocation) { if (!invocation.isEntryPoint()) { throw new IllegalStateException("Invocation is not an entry point!"); } // Remove some old data if the limit is exceeded if (invocations.size() > DEFAULT_INVOCATIONS_LIMIT) { synchronized (this) { if (invocations.size() > DEFAULT_INVOCATIONS_LIMIT) { Set<Integer> keySet = invocations.keySet(); List<Integer> sorted = new ArrayList<Integer>(keySet); Collections.sort(sorted, Collections.reverseOrder()); if (keySet.removeAll(sorted.subList(DEFAULT_INVOCATIONS_LIMIT / 2, sorted.size()))) { ProbeLogger.LOG.monitoringLimitExceeded(Invocation.class.getSimpleName(), DEFAULT_INVOCATIONS_LIMIT); } } } } invocations.put(invocation.getEntryPointIdx(), invocation); }
Invocation build() { List<Invocation> invocations = null; if (children != null) { invocations = new ArrayList<Invocation>(children.size()); for (Builder builder : children) { invocations.add(builder.build()); } } return new Invocation(entryPointIdx, interceptedBean, declaringClassName, start, duration, methodName, invocations, type, description); }
static JsonObjectBuilder createBasicInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = Json.objectBuilder(); if (invocation.getEntryPointIdx() != null) { invocationBuilder.add(ID, invocation.getEntryPointIdx()); } if (invocation.getInterceptedBean() != null) { invocationBuilder.add(INTERCEPTED_BEAN, createSimpleBeanJson(invocation.getInterceptedBean(), probe)); } else { invocationBuilder.add(DECLARING_CLASS, invocation.getDeclaringClassName()); } if (invocation.getDescription() != null) { invocationBuilder.add(DESCRIPTION, invocation.getDescription()); } invocationBuilder.add(METHOD_NAME, invocation.getMethodName()); invocationBuilder.add(START, invocation.getStart()); invocationBuilder.add(TIME, invocation.getDuration()); return invocationBuilder; }
boolean testSearch(String search, Invocation invocation) { if (search == null) { return true; } if (containsIgnoreCase(search, invocation.getBeanClass()) || containsIgnoreCase(search, invocation.getMethodName())) { return true; } if (invocation.hasChildren()) { for (Invocation child : invocation.getChildren()) { if (testSearch(search, child)) { return true; } } } return false; }
@Override boolean test(Invocation invocation) { return testSearch(search, invocation) && testContainsIgnoreCase(beanClass, invocation.getBeanClass()) && testContainsIgnoreCase(methodName, invocation.getMethodName()) && testContainsIgnoreCase(description, invocation.getDescription()); }
/** * * @param invocation * @param probe * @return */ static JsonObjectBuilder createFullInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = createBasicInvocationJson(invocation, probe); invocationBuilder.add(TYPE, invocation.getType().toString()); if (invocation.hasChildren()) { JsonArrayBuilder childrenBuilder = Json.arrayBuilder(); for (Invocation child : invocation.getChildren()) { childrenBuilder.add(createFullInvocationJson(child, probe)); } invocationBuilder.add(CHILDREN, childrenBuilder); } return invocationBuilder; }
/** * * @param invocation */ void addInvocation(Invocation invocation) { if (!invocation.isEntryPoint()) { throw new IllegalStateException("Invocation is not an entry point!"); } // Remove some old data if the limit is exceeded if (invocations.size() > DEFAULT_INVOCATIONS_LIMIT) { synchronized (this) { if (invocations.size() > DEFAULT_INVOCATIONS_LIMIT) { Set<Integer> keySet = invocations.keySet(); List<Integer> sorted = new ArrayList<Integer>(keySet); Collections.sort(sorted, Collections.reverseOrder()); if (keySet.removeAll(sorted.subList(DEFAULT_INVOCATIONS_LIMIT / 2, sorted.size()))) { ProbeLogger.LOG.monitoringLimitExceeded(Invocation.class.getSimpleName(), DEFAULT_INVOCATIONS_LIMIT); } } } } invocations.put(invocation.getEntryPointIdx(), invocation); }
Invocation build() { List<Invocation> invocations = null; if (children != null) { invocations = new ArrayList<Invocation>(children.size()); for (Builder builder : children) { invocations.add(builder.build()); } } return new Invocation(entryPointIdx, interceptedBean, declaringClassName, start, duration, methodName, invocations, type, description); }
static JsonObjectBuilder createBasicInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = Json.objectBuilder(); if (invocation.getEntryPointIdx() != null) { invocationBuilder.add(ID, invocation.getEntryPointIdx()); } if (invocation.getInterceptedBean() != null) { invocationBuilder.add(INTERCEPTED_BEAN, createSimpleBeanJson(invocation.getInterceptedBean(), probe)); } else { invocationBuilder.add(DECLARING_CLASS, invocation.getDeclaringClassName()); } if (invocation.getDescription() != null) { invocationBuilder.add(DESCRIPTION, invocation.getDescription()); } invocationBuilder.add(METHOD_NAME, invocation.getMethodName()); invocationBuilder.add(START, invocation.getStart()); invocationBuilder.add(TIME, invocation.getDuration()); return invocationBuilder; }
boolean testSearch(String search, Invocation invocation) { if (search == null) { return true; } if (containsIgnoreCase(search, invocation.getBeanClass()) || containsIgnoreCase(search, invocation.getMethodName())) { return true; } if (invocation.hasChildren()) { for (Invocation child : invocation.getChildren()) { if (testSearch(search, child)) { return true; } } } return false; }
@Override boolean test(Invocation invocation) { return testSearch(search, invocation) && testContainsIgnoreCase(beanClass, invocation.getBeanClass()) && testContainsIgnoreCase(methodName, invocation.getMethodName()) && testContainsIgnoreCase(description, invocation.getDescription()); }
/** * * @param invocation * @param probe * @return */ static JsonObjectBuilder createFullInvocationJson(Invocation invocation, Probe probe) { JsonObjectBuilder invocationBuilder = createBasicInvocationJson(invocation, probe); invocationBuilder.add(TYPE, invocation.getType().toString()); if (invocation.hasChildren()) { JsonArrayBuilder childrenBuilder = Json.arrayBuilder(); for (Invocation child : invocation.getChildren()) { childrenBuilder.add(createFullInvocationJson(child, probe)); } invocationBuilder.add(CHILDREN, childrenBuilder); } return invocationBuilder; }