private void processHistogramEntries(List<HeapHistogramService.HeapHistogramEntry> heapHistogramEntries) {
        Preconditions.checkNotNull(heapHistogramService);

        final long statTimeMs = Instant.now().toEpochMilli();
        final String nodeName = nodeInfo.getThisNodeName();
        //immutable so can be reused for all events
        final Map.Entry<String, String> nodeTag = Maps.immutableEntry(TAG_NAME_NODE, nodeName);

        mapToStatEventAndSend(
                heapHistogramEntries,
                entry -> buildBytesEvent(statTimeMs, nodeTag, entry),
                "Bytes");

        mapToStatEventAndSend(
                heapHistogramEntries,
                entry -> buildInstancesEvent(statTimeMs, nodeTag, entry),
                "Instances");
    }
Class for running scheduled jobs to execute a jmap heap histogram and load the results into
the {@link InternalStatisticsReceiver}. This is for use in identifying memory issues at run time
by capturing a regular snapshot of both the number of instances of classes and the bytes in use.
<p>
As with all internal statistics it is reliant on the stat key being configured in stroom properties
(i.e. stroomCoreServerPropertyContext
stroom-node/stroom-node-impl/src/main/java/stroom/node/impl/HeapHistogramStatisticsExecutor.java