protected void fetchOverHttp(HttpClient httpClient, HttpContext httpContext) throws Exception { values = new Metrics(); final List<HttpUriRequest> httpRequests = setupRequests(); for (final HttpUriRequest httpRequest : httpRequests) { fetchOverHttp(httpClient, httpContext, httpRequest); } }
protected List<HttpUriRequest> setupRequests() { final List<String> paths = getRequestPaths(); final List<HttpUriRequest> result = new ArrayList<>(paths.size()); for(final String path : paths) { result.add(setupGetRequest(path)); } return result; }
protected InputStreamReader streamEntity(final HttpEntity entity) throws IOException { final Charset charset = parseCharset(entity); final InputStreamReader reader = new InputStreamReader(entity.getContent(), charset); return reader; }
public BaseHttpMetricsReader(final T config) { super(config); httpClient = setupClient(); httpContext = setupContext(); userAgent = "metrics-sampler v" + ApplicationInfo.getInstance().getVersion(); }
@Override protected List<HttpUriRequest> setupRequests() { elasticSearchMetricValues = new ElasticSearchMetricValues(values); return super.setupRequests(); }
@Override public void open() throws MetricReadException { final long start = System.currentTimeMillis(); try { fetchOverHttp(httpClient, httpContext); } catch (final Exception e) { throw new OpenMetricsReaderException(e); } final long end = System.currentTimeMillis(); timingsLogger.debug("Discovered {} metrics in {} ms", values.size(), end - start); }
protected void fetchOverHttp(HttpClient client, HttpContext context, HttpUriRequest request) throws Exception { final HttpResponse response = client.execute(request, context); processResponse(request, response); }
protected HttpClient setupClient() { return setupClientBuilder().build(); }
protected HttpClientBuilder setupClientBuilder() { HttpClientBuilder builder = HttpClientBuilder.create(); builder.setDefaultHeaders(Arrays.asList(new BasicHeader(HttpHeaders.USER_AGENT, userAgent))); builder.setDefaultRequestConfig(setupDefaultRequestConfig().build()); if (config.getUsername() != null) { final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials( AuthScope.ANY, new UsernamePasswordCredentials(config.getUsername(), config.getPassword()) ); builder.setDefaultCredentialsProvider(credentialsProvider); } if (config.getSocketOptions() != null) { final SocketOptionsConfig socketOptions = config.getSocketOptions(); SocketConfig socketConfig = SocketConfig.custom() .setSoTimeout(socketOptions.getSoTimeout()) .setSoKeepAlive(socketOptions.isKeepAlive()) .setSndBufSize(socketOptions.getSndBuffSize()) .setRcvBufSize(socketOptions.getRcvBuffSize()) .build(); builder.setDefaultSocketConfig(socketConfig); } if (config.getConnectionPool() != null) { PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(config.getConnectionPool().getTimeToLiveSeconds(), TimeUnit.SECONDS); connectionManager.setDefaultMaxPerRoute(config.getConnectionPool().getMaxPerRoute()); connectionManager.setMaxTotal(config.getConnectionPool().getMaxTotal()); builder.setConnectionManager(connectionManager); } return builder; }
public BaseHttpMetricsReader(final T config) { super(config); httpClient = setupClient(); httpContext = setupContext(); userAgent = "metrics-sampler v" + ApplicationInfo.getInstance().getVersion(); }
@Override public void open() throws MetricReadException { final long start = System.currentTimeMillis(); try { fetchOverHttp(httpClient, httpContext); } catch (final Exception e) { throw new OpenMetricsReaderException(e); } final long end = System.currentTimeMillis(); timingsLogger.debug("Discovered {} metrics in {} ms", values.size(), end - start); }
protected void fetchOverHttp(HttpClient client, HttpContext context, HttpUriRequest request) throws Exception { final HttpResponse response = client.execute(request, context); processResponse(request, response); }
protected HttpClient setupClient() { return setupClientBuilder().build(); }
protected HttpClientBuilder setupClientBuilder() { HttpClientBuilder builder = HttpClientBuilder.create(); builder.setDefaultHeaders(Arrays.asList(new BasicHeader(HttpHeaders.USER_AGENT, userAgent))); builder.setDefaultRequestConfig(setupDefaultRequestConfig().build()); if (config.getUsername() != null) { final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials( AuthScope.ANY, new UsernamePasswordCredentials(config.getUsername(), config.getPassword()) ); builder.setDefaultCredentialsProvider(credentialsProvider); } if (config.getSocketOptions() != null) { final SocketOptionsConfig socketOptions = config.getSocketOptions(); SocketConfig socketConfig = SocketConfig.custom() .setSoTimeout(socketOptions.getSoTimeout()) .setSoKeepAlive(socketOptions.isKeepAlive()) .setSndBufSize(socketOptions.getSndBuffSize()) .setRcvBufSize(socketOptions.getRcvBuffSize()) .build(); builder.setDefaultSocketConfig(socketConfig); } if (config.getConnectionPool() != null) { PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(config.getConnectionPool().getTimeToLiveSeconds(), TimeUnit.SECONDS); connectionManager.setDefaultMaxPerRoute(config.getConnectionPool().getMaxPerRoute()); connectionManager.setMaxTotal(config.getConnectionPool().getMaxTotal()); builder.setConnectionManager(connectionManager); } return builder; }
protected void fetchOverHttp(HttpClient httpClient, HttpContext httpContext) throws Exception { values = new Metrics(); final List<HttpUriRequest> httpRequests = setupRequests(); for (final HttpUriRequest httpRequest : httpRequests) { fetchOverHttp(httpClient, httpContext, httpRequest); } }
protected List<HttpUriRequest> setupRequests() { final List<String> paths = getRequestPaths(); final List<HttpUriRequest> result = new ArrayList<>(paths.size()); for(final String path : paths) { result.add(setupGetRequest(path)); } return result; }
protected InputStreamReader streamEntity(final HttpEntity entity) throws IOException { final Charset charset = parseCharset(entity); final InputStreamReader reader = new InputStreamReader(entity.getContent(), charset); return reader; }