Menu
AWS X-Ray
Developer Guide

Instrumenting Outgoing HTTP Calls

The user factory class shows how the application uses the X-Ray SDK for Java's version of HTTPClientBuilder to instrument outgoing HTTP calls.

Example src/main/java/scorekeep/UserFactory.java – HTTPClient Instrumentation

import com.amazonaws.xray.proxies.apache.http.HttpClientBuilder;

  public String randomName() throws IOException {
    CloseableHttpClient httpclient = HttpClientBuilder.create().build();
    HttpGet httpGet = new HttpGet("http://uinames.com/api/");
    CloseableHttpResponse response = httpclient.execute(httpGet);
    try {
      HttpEntity entity = response.getEntity();
      InputStream inputStream = entity.getContent();
      ObjectMapper mapper = new ObjectMapper();
      Map<String, String> jsonMap = mapper.readValue(inputStream, Map.class);
      String name = jsonMap.get("name");
      EntityUtils.consume(entity);
      return name;
    } finally {
      response.close();
    }
  }

If you currently use org.apache.http.impl.client.HttpClientBuilder, you can simply swap out the import statement for that class with one for com.amazonaws.xray.proxies.apache.http.HttpClientBuilder.