
com.wavefront.sdk.common.application.HeartbeaterService Maven / Gradle / Ivy
package com.wavefront.sdk.common.application;
import com.wavefront.sdk.common.Constants;
import com.wavefront.sdk.common.NamedThreadFactory;
import com.wavefront.sdk.common.Utils;
import com.wavefront.sdk.entities.metrics.WavefrontMetricSender;
import java.io.Closeable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import static com.wavefront.sdk.common.Constants.APPLICATION_TAG_KEY;
import static com.wavefront.sdk.common.Constants.CLUSTER_TAG_KEY;
import static com.wavefront.sdk.common.Constants.COMPONENT_TAG_KEY;
import static com.wavefront.sdk.common.Constants.SERVICE_TAG_KEY;
import static com.wavefront.sdk.common.Constants.SHARD_TAG_KEY;
/**
* Service that periodically reports component heartbeats to Wavefront.
*
* @author Sushant Dewan ([email protected]).
*/
public class HeartbeaterService implements Runnable, Closeable {
private static final Logger logger = Logger.getLogger(
HeartbeaterService.class.getCanonicalName());
private final WavefrontMetricSender wavefrontMetricSender;
private final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy