package com.signalfx.metrics.connection; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.conn.HttpClientConnectionManager; import org.apache.http.entity.ByteArrayEntity; import com.signalfx.endpoint.SignalFxReceiverEndpoint; import com.signalfx.metrics.SignalFxMetricsException; import com.signalfx.metrics.protobuf.SignalFxProtocolBuffers; public class HttpDataPointProtobufReceiverConnectionV2 extends AbstractHttpDataPointProtobufReceiverConnection { public HttpDataPointProtobufReceiverConnectionV2( SignalFxReceiverEndpoint endpoint, int timeoutMs, HttpClientConnectionManager httpClientConnectionManager) { super(endpoint, timeoutMs, httpClientConnectionManager); } @Override protected String getEndpointForAddDatapoints() { return "/v2/datapoint"; } @Override protected HttpEntity getEntityForVersion(List<SignalFxProtocolBuffers.DataPoint> dataPoints) { byte[] bodyBytes = SignalFxProtocolBuffers.DataPointUploadMessage.newBuilder() .addAllDatapoints(dataPoints).build().toByteArray(); return new ByteArrayEntity(bodyBytes, PROTO_TYPE); } @Override public Map<String, Boolean> registerMetrics(String auth, Map<String, SignalFxProtocolBuffers.MetricType> metricTypes) throws SignalFxMetricsException { Map<String, Boolean> res = new HashMap<String, Boolean>(); for (Map.Entry<String, SignalFxProtocolBuffers.MetricType> i : metricTypes.entrySet()) { res.put(i.getKey(), true); } return res; } }