/** * {@inheritDoc} */ @Override public List<AggregatedExceptionSensorData> getDataForGroupedExceptionOverview(ExceptionSensorData template, Date fromDate, Date toDate) { IIndexQuery query = exceptionSensorDataQueryFactory.getDataForGroupedExceptionOverviewQuery(template, fromDate, toDate); List<ExceptionSensorData> results = super.executeQuery(query, Aggregators.GROUP_EXCEPTION_OVERVIEW_AGGREGATOR, true); List<AggregatedExceptionSensorData> aggResults = new ArrayList<>(); for (ExceptionSensorData exData : results) { if (exData instanceof AggregatedExceptionSensorData) { aggResults.add((AggregatedExceptionSensorData) exData); } } return aggResults; }
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getExceptionTree(ExceptionSensorData template) { // here we have a problem because we have to de-serialize every exception to find the right // one, we need to check if we can change this method StorageIndexQuery query = exceptionSensorDataQueryFactory.getExceptionTreeQuery(template); List<ExceptionSensorData> results = super.executeQuery(query); Collections.reverse(results); return results; }
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getStackTraceMessagesForThrowableType(ExceptionSensorData template) { // same problem again, we need to de-serialize all exceptions StorageIndexQuery query = exceptionSensorDataQueryFactory.getStackTraceMessagesForThrowableTypeQuery(template); return super.executeQuery(query, Aggregators.DISTINCT_STACK_TRACES_AGGREGATOR); }
/** * Init. */ @PostConstruct public void initFactories() { timerDataQueryFactory = new TimerDataQueryFactory<>(); timerDataQueryFactory.setIndexQueryProvider(storageIndexQueryProvider); sqlStatementDataQueryFactory = new SqlStatementDataQueryFactory<>(); sqlStatementDataQueryFactory.setIndexQueryProvider(storageIndexQueryProvider); exceptionSensorDataQueryFactory = new ExceptionSensorDataQueryFactory<>(); exceptionSensorDataQueryFactory.setIndexQueryProvider(storageIndexQueryProvider); }
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getUngroupedExceptionOverview(ExceptionSensorData template, int limit, Date fromDate, Date toDate, Comparator<? super ExceptionSensorData> comparator) { IIndexQuery query = exceptionSensorDataQueryFactory.getUngroupedExceptionOverviewQuery(template, limit, fromDate, toDate); if (null != comparator) { return super.executeQuery(query, comparator, limit, true); } else { return super.executeQuery(query, DefaultDataComparatorEnum.TIMESTAMP, limit, true); } }
E query = getIndexQueryProvider().getIndexQuery(); ArrayList<Class<?>> searchedClasses = new ArrayList<>(); searchedClasses.add(ExceptionSensorData.class);
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getUngroupedExceptionOverview(ExceptionSensorData template, int limit, Date fromDate, Date toDate, ResultComparator<ExceptionSensorData> resultComparator) { StorageIndexQuery query = exceptionSensorDataQueryFactory.getUngroupedExceptionOverviewQuery(template, limit, fromDate, toDate); if (null != resultComparator) { resultComparator.setCachedDataService(getStorageRepositoryDefinition().getCachedDataService()); return super.executeQuery(query, resultComparator, limit); } else { return super.executeQuery(query, DefaultDataComparatorEnum.TIMESTAMP, limit); } }
/** * Returns a query for a stack trace message of a throwable type. * * @param template * Template to use. * @return Query. */ public E getStackTraceMessagesForThrowableTypeQuery(ExceptionSensorData template) { E query = getIndexQueryProvider().getIndexQuery(); ArrayList<Class<?>> searchedClasses = new ArrayList<>(); searchedClasses.add(ExceptionSensorData.class); searchedClasses.add(AggregatedExceptionSensorData.class); query.setObjectClasses(searchedClasses); query.setPlatformIdent(template.getPlatformIdent()); query.addIndexingRestriction(IndexQueryRestrictionFactory.equal("throwableType", template.getThrowableType())); query.addIndexingRestriction(IndexQueryRestrictionFactory.isNotNull("stackTrace")); return query; } }
/** * {@inheritDoc} */ @Override public List<AggregatedExceptionSensorData> getDataForGroupedExceptionOverview(ExceptionSensorData template, Date fromDate, Date toDate) { StorageIndexQuery query = exceptionSensorDataQueryFactory.getDataForGroupedExceptionOverviewQuery(template, fromDate, toDate); List<ExceptionSensorData> resultList = super.executeQuery(query, Aggregators.GROUP_EXCEPTION_OVERVIEW_AGGREGATOR); List<AggregatedExceptionSensorData> filterList = new ArrayList<>(resultList.size()); for (ExceptionSensorData data : resultList) { if (data instanceof AggregatedExceptionSensorData) { filterList.add((AggregatedExceptionSensorData) data); } } return filterList; }
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getStackTraceMessagesForThrowableType(ExceptionSensorData template) { IIndexQuery query = exceptionSensorDataQueryFactory.getStackTraceMessagesForThrowableTypeQuery(template); return super.executeQuery(query, Aggregators.DISTINCT_STACK_TRACES_AGGREGATOR, true); }
/** * {@inheritDoc} */ @Override public List<ExceptionSensorData> getExceptionTree(ExceptionSensorData template) { IIndexQuery query = exceptionSensorDataQueryFactory.getExceptionTreeQuery(template); List<ExceptionSensorData> results = super.executeQuery(query, false); Collections.reverse(results); return results; }
/** * Get query for exception tree. * * @param template * Template to use. * @return Query. */ public E getExceptionTreeQuery(ExceptionSensorData template) { E query = getIndexQueryProvider().getIndexQuery(); ArrayList<Class<?>> searchedClasses = new ArrayList<>(); searchedClasses.add(ExceptionSensorData.class); searchedClasses.add(AggregatedExceptionSensorData.class); query.setObjectClasses(searchedClasses); query.setPlatformIdent(template.getPlatformIdent()); query.setMethodIdent(template.getMethodIdent()); query.addIndexingRestriction(IndexQueryRestrictionFactory.equal("throwableIdentityHashCode", template.getThrowableIdentityHashCode())); return query; }
/** * @return Returns {@link AbstractWriteDataProcessor} for caching the * {@link ExceptionSensorData} grouped view. */ @Bean @Lazy @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public AbstractWriteDataProcessor getGroupedExceptionsDataCachingDataProcessor() { IIndexQuery query = exceptionSensorDataQueryFactory.getDataForGroupedExceptionOverviewQuery(new ExceptionSensorData(), null, null); IAggregator<ExceptionSensorData> aggregator = Aggregators.GROUP_EXCEPTION_OVERVIEW_AGGREGATOR; return new QueryCachingDataProcessor<>(query, aggregator); }
E query = getIndexQueryProvider().getIndexQuery(); query.setPlatformIdent(template.getPlatformIdent()); query.setSensorTypeIdent(template.getSensorTypeIdent());