package org.kairosdb.datastore.remote;
import com.google.common.collect.ImmutableSortedMap;
import com.google.inject.Inject;
import org.kairosdb.core.DataPoint;
import org.kairosdb.core.DataPointListener;
import org.kairosdb.core.exception.DatastoreException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.SortedMap;
/**
Created by bhawkins on 8/29/16.
*/
public class RemoteListener implements DataPointListener
{
public static final Logger logger = LoggerFactory.getLogger(RemoteListener.class);
private final RemoteDatastore m_remoteDatastore;
@Inject
public RemoteListener(RemoteDatastore remoteDatastore)
{
m_remoteDatastore = remoteDatastore;
}
@Override
public void dataPoint(String metricName, SortedMap<String, String> tags, DataPoint dataPoint)
{
try
{
m_remoteDatastore.putDataPoint(metricName,
ImmutableSortedMap.copyOfSorted(tags), dataPoint, 0);
}
catch (DatastoreException e)
{
logger.error("Error writing to remote datastore", e);
}
}
}