class HttpObserver implements MetricObserver<LookoutMeasurement> {

    public List<List<LookoutMeasurement>> getBatches(List<LookoutMeasurement> ms, int batchSize) {
        if (ms.size() <= batchSize) {
            return Collections.singletonList(ms);
        }
        List<List<LookoutMeasurement>> batches = new ArrayList();
        for (int i = 0; i < ms.size(); i += batchSize) {
            List<LookoutMeasurement> batch = ms.subList(i, Math.min(ms.size(), i + batchSize));
            batches.add(batch);
        }
        return batches;
    }

    public  HttpObserver(LookoutConfig lookoutConfig, AddressService addrService);
    public  HttpObserver(LookoutConfig lookoutConfig, AddressService addrService, Registry registry);
    public  HttpObserver(LookoutConfig lookoutConfig, AddressService addrService, Registry registry,
                        HttpRequestProcessor requestProcessor);

}