@Override public int getOrAddMetric(final Integer eventCategoryId, final String metric, final InternalCallContext context) throws UnableToObtainConnectionException, CallbackFailedException { final CategoryRecordIdAndMetric categoryRecordIdAndMetric = new CategoryRecordIdAndMetric(eventCategoryId, metric); Integer metricId = metricsCache.inverse().get(categoryRecordIdAndMetric); if (metricId == null) { metricId = delegate.getOrAddMetric(eventCategoryId, metric, context); synchronized (metricsCache) { if (metricsCache.get(metricId) == null) { metricsCache.put(metricId, categoryRecordIdAndMetric); } } } return metricId; }
@VisibleForTesting void convertSamplesToScalarSamples(final String eventType, final Map<String, Object> inputSamples, final Map<Integer, ScalarSample> outputSamples, final InternalCallContext context) { if (inputSamples == null) { return; } final Integer eventCategoryId = timelineDAO.getOrAddEventCategory(eventType, context); for (final String attributeName : inputSamples.keySet()) { final Integer metricId = timelineDAO.getOrAddMetric(eventCategoryId, attributeName, context); final Object sample = inputSamples.get(attributeName); outputSamples.put(metricId, ScalarSample.fromObject(sample)); } }
final MeterConfig config = new ConfigurationObjectFactory(System.getProperties()).build(MeterConfig.class); final int eventTypeId = dao.getOrAddEventCategory(EVENT_TYPE, internalCallContext); final int int2shortId = dao.getOrAddMetric(eventTypeId, "int2short", internalCallContext); final int long2intId = dao.getOrAddMetric(eventTypeId, "long2int", internalCallContext); final int long2shortId = dao.getOrAddMetric(eventTypeId, "long2short", internalCallContext); final int int2intId = dao.getOrAddMetric(eventTypeId, "int2int", internalCallContext); final int long2longId = dao.getOrAddMetric(eventTypeId, "long2long", internalCallContext); final int hostId = 1; final TimelineEventHandler handler = new TimelineEventHandler(config, dao, timelineCoder, sampleCoder,
final Integer sampleOneId = dao.getOrAddMetric(eventCategoryId, sampleOne, internalCallContext); Assert.assertNotNull(sampleOneId); final String sampleTwo = UUID.randomUUID().toString(); final Integer sampleTwoId = dao.getOrAddMetric(eventCategoryId, sampleTwo, internalCallContext); Assert.assertNotNull(sampleTwoId);
minHeapUsedKindId = timelineDao.getOrAddMetric(EVENT_TYPE_ID, MIN_HEAPUSED_KIND, internalCallContext); Assert.assertNotNull(minHeapUsedKindId); maxHeapUsedKindId = timelineDao.getOrAddMetric(EVENT_TYPE_ID, MAX_HEAPUSED_KIND, internalCallContext); Assert.assertNotNull(maxHeapUsedKindId); Assert.assertEquals(timelineDao.getMetrics(internalCallContext).values().size(), 2);