/** * {@inheritDoc} */ @Override public Object getAggregationKey(TimerData object) { return object.getMethodIdent(); }
@Override protected void doInTransactionWithoutResult(TransactionStatus status) { TimerData oldest = queue.poll(); while (oldest != null) { map.remove(getCacheHash(oldest.getPlatformIdent(), oldest.getMethodIdent(), oldest.getTimeStamp().getTime())); TimerDataAggregator.super.create(oldest); elementCount.decrementAndGet(); oldest = queue.poll(); } } });
/** * {@inheritDoc} */ @Override protected Comparable<?> getSeriesKey(TimerData template) { MethodIdent methodIdent = cachedDataService.getMethodIdentForId(template.getMethodIdent()); return TextFormatter.getMethodString(methodIdent); }
/** * {@inheritDoc} */ @Override public String getReadableString(Object object) { if (object instanceof TimerData) { TimerData data = (TimerData) object; StringBuilder sb = new StringBuilder(); MethodIdent methodIdent = cachedDataService.getMethodIdentForId(data.getMethodIdent()); for (Column column : Column.values()) { sb.append(getStyledTextForColumn(data, methodIdent, column).toString()); sb.append('\t'); } return sb.toString(); } throw new RuntimeException("Could not create the human readable string!"); }
/** * {@inheritDoc} */ @Override public String getReadableString(Object object) { if (object instanceof TimerData) { TimerData data = (TimerData) object; StringBuilder sb = new StringBuilder(); MethodIdent methodIdent = cachedDataService.getMethodIdentForId(data.getMethodIdent()); for (Column column : Column.values()) { sb.append(getStyledTextForColumn(data, methodIdent, column).toString()); sb.append('\t'); } return sb.toString(); } throw new RuntimeException("Could not create the human readable string!"); }
/** * {@inheritDoc} */ @Override public List<String> getColumnValues(Object object) { if (object instanceof TimerData) { TimerData data = (TimerData) object; MethodIdent methodIdent = cachedDataService.getMethodIdentForId(data.getMethodIdent()); List<String> values = new ArrayList<>(); for (Column column : Column.values()) { values.add(getStyledTextForColumn(data, methodIdent, column).toString()); } return values; } throw new RuntimeException("Could not create the column values!"); }
/** * {@inheritDoc} */ @Override public List<String> getColumnValues(Object object) { if (object instanceof TimerData) { TimerData data = (TimerData) object; MethodIdent methodIdent = cachedDataService.getMethodIdentForId(data.getMethodIdent()); List<String> values = new ArrayList<>(); for (Column column : Column.values()) { values.add(getStyledTextForColumn(data, methodIdent, column).toString()); } return values; } throw new RuntimeException("Could not create the column values!"); }
/** * Returns template for {@link TimerData}. * * @param timerData * Source object. * @param id * Should id be inserted into template. * @param methodIdent * Should methodIdent be inserted into template. * @return Template object. */ protected TimerData getTemplate(TimerData timerData, boolean id, boolean methodIdent) { TimerData template = OccurrenceFinderFactory.getEmptyTemplate(timerData); if (id && (0 != timerData.getId())) { template.setId(timerData.getId()); } if (methodIdent && (0 != timerData.getMethodIdent())) { template.setMethodIdent(timerData.getMethodIdent()); } return template; }
int cacheHash = getCacheHash(timerData.getPlatformIdent(), timerData.getMethodIdent(), aggregationTimestamp); aggTimerData = new DatabaseAggregatedTimerData(new Timestamp(aggregationTimestamp), timerData.getPlatformIdent(), timerData.getSensorTypeIdent(), timerData.getMethodIdent()); map.put(cacheHash, aggTimerData); queue.add(aggTimerData); TimerData oldest = queue.poll(); if (null != oldest) { map.remove(getCacheHash(oldest.getPlatformIdent(), oldest.getMethodIdent(), oldest.getTimeStamp().getTime())); persistList.add(oldest); count = elementCount.decrementAndGet();
E query = getIndexQueryProvider().getIndexQuery(); query.setPlatformIdent(timerData.getPlatformIdent()); query.setMethodIdent(timerData.getMethodIdent()); ArrayList<Class<?>> searchedClasses = new ArrayList<>();
/** * Tests that persist list saving includes correct elements being saved. */ @Test public void saveAllInPersistList() { aggregator.maxElements = 1; TimerData timerData1 = new TimerData(new Timestamp(System.currentTimeMillis()), 10L, 20L, 30L); TimerData timerData2 = new TimerData(new Timestamp(System.currentTimeMillis()), 100L, 200L, 300L); aggregator.processTimerData(timerData1); aggregator.processTimerData(timerData2); aggregator.saveAllInPersistList(); ArgumentCaptor<DatabaseAggregatedTimerData> argument = ArgumentCaptor.forClass(DatabaseAggregatedTimerData.class); verify(entityManager, times(1)).persist(argument.capture()); assertThat(argument.getValue(), is(instanceOf(DatabaseAggregatedTimerData.class))); assertThat(argument.getValue().getPlatformIdent(), is(timerData1.getPlatformIdent())); assertThat(argument.getValue().getSensorTypeIdent(), is(timerData1.getSensorTypeIdent())); assertThat(argument.getValue().getMethodIdent(), is(timerData1.getMethodIdent())); }
@Test public void noMethodIdent() throws Exception { when(cachedDataService.getPlatformIdentForId(PLATFORM_ID)).thenReturn(platformIdent); when(cachedDataService.getMethodIdentForId(METHOD_ID)).thenReturn(null); long time = RandomUtils.nextLong(); when(data.getPlatformIdent()).thenReturn(PLATFORM_ID); when(data.getMethodIdent()).thenReturn(METHOD_ID); when(data.getTimeStamp()).thenReturn(new Timestamp(time)); when(data.getDuration()).thenReturn(RandomUtils.nextDouble()); Collection<Builder> pointBuilderCol = builder.createBuilders(data); assertThat(pointBuilderCol.size(), is(1)); Builder pointBuilder = pointBuilderCol.iterator().next(); assertThat(getMeasurement(pointBuilder), is(Series.Methods.NAME)); assertThat(getTime(pointBuilder), is(time)); assertThat(getPrecision(pointBuilder), is(TimeUnit.MILLISECONDS)); assertThat(getTags(pointBuilder), not(hasKey(Series.Methods.TAG_CLASS_FQN))); assertThat(getTags(pointBuilder), not(hasKey(Series.Methods.TAG_METHOD_NAME))); assertThat(getTags(pointBuilder), not(hasKey(Series.Methods.TAG_METHOD_SIGNATURE))); }
@Test public void noPlatform() throws Exception { when(cachedDataService.getPlatformIdentForId(PLATFORM_ID)).thenReturn(null); when(cachedDataService.getMethodIdentForId(METHOD_ID)).thenReturn(methodIdent); long time = RandomUtils.nextLong(); when(data.getPlatformIdent()).thenReturn(PLATFORM_ID); when(data.getMethodIdent()).thenReturn(METHOD_ID); when(data.getTimeStamp()).thenReturn(new Timestamp(time)); when(data.getDuration()).thenReturn(RandomUtils.nextDouble()); Collection<Builder> pointBuilderCol = builder.createBuilders(data); assertThat(pointBuilderCol.size(), is(1)); Builder pointBuilder = pointBuilderCol.iterator().next(); assertThat(getMeasurement(pointBuilder), is(Series.Methods.NAME)); assertThat(getTime(pointBuilder), is(time)); assertThat(getPrecision(pointBuilder), is(TimeUnit.MILLISECONDS)); assertThat(getTags(pointBuilder), hasEntry(Series.TAG_AGENT_ID, String.valueOf(PLATFORM_ID))); assertThat(getTags(pointBuilder), not(hasKey(Series.TAG_AGENT_NAME))); assertThat(getTags(pointBuilder), hasEntry(Series.Methods.TAG_CLASS_FQN, String.valueOf(FQN))); assertThat(getTags(pointBuilder), hasEntry(Series.Methods.TAG_METHOD_NAME, String.valueOf(METHOD))); assertThat(getTags(pointBuilder), hasEntry(Series.Methods.TAG_METHOD_SIGNATURE, String.valueOf(METHOD_SIG))); }
/** * {@inheritDoc} */ @Override public IAggregatedData<TimerData> getClone(TimerData timerData) { AggregatedTimerData clone = new AggregatedTimerData(); clone.setPlatformIdent(timerData.getPlatformIdent()); clone.setSensorTypeIdent(timerData.getSensorTypeIdent()); clone.setMethodIdent(timerData.getMethodIdent()); clone.setCharting(timerData.isCharting()); return clone; }
assertThat(timerData.getMethodIdent(), is(methodId)); assertThat(timerData.getSensorTypeIdent(), is(sensorTypeId)); assertThat(timerData.getTimeStamp(), is(not(nullValue())));
/** * {@inheritDoc} */ @Override protected void addTags(TimerData data, Builder builder) { super.addTags(data, builder); MethodIdent methodIdent = cachedDataService.getMethodIdentForId(data.getMethodIdent()); if (null != methodIdent) { builder.tag(Series.Methods.TAG_METHOD_NAME, methodIdent.getMethodName()); builder.tag(Series.Methods.TAG_CLASS_FQN, methodIdent.getFQN()); builder.tag(Series.Methods.TAG_METHOD_SIGNATURE, methodIdent.getFullyQualifiedMethodSignature()); } }
when(timerData.getTimeStamp()).thenReturn(new Timestamp(new Date().getTime())); when(timerData.getPlatformIdent()).thenReturn(10L); when(timerData.getMethodIdent()).thenReturn(20L);
when(data.getMethodIdent()).thenReturn(METHOD_ID); when(data.getTimeStamp()).thenReturn(new Timestamp(time)); when(data.getMin()).thenReturn(RandomUtils.nextDouble());
} else if (invAwareData instanceof TimerData) { TimerData timerData = (TimerData) invAwareData; MethodIdent methodIdent = repositoryDefinition.getCachedDataService().getMethodIdentForId(timerData.getMethodIdent()); return TextFormatter.getMethodString(methodIdent);
MethodIdent methodIdent = cachedDataService.getMethodIdentForId(timerData.getMethodIdent()); if (0 == timerData.getId()) { return TextFormatter.getMethodString(methodIdent) + " [All]";