in aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/utils/ContainerInsightsUtil.java [76:116]
public static String getClusterName() {
if (isK8s()) {
CloseableHttpClient client = getHttpClient();
HttpGet getRequest = new HttpGet(K8S_URL + CI_CONFIGMAP_PATH);
String k8sCredentialHeader = getK8sCredentialHeader();
if (k8sCredentialHeader != null) {
getRequest.setHeader(AUTH_HEADER_NAME, k8sCredentialHeader);
}
try {
CloseableHttpResponse response = client.execute(getRequest);
try {
HttpEntity entity = response.getEntity();
String json = EntityUtils.toString(entity);
ObjectMapper mapper = new ObjectMapper();
String clusterName = mapper.readTree(json).at("/data/cluster.name").asText();
if (logger.isDebugEnabled()) {
logger.debug("Container Insights Cluster Name: " + clusterName);
}
return clusterName;
} catch (IOException e) {
logger.error("Error parsing response from Kubernetes", e);
} finally {
response.close();
}
client.close();
} catch (IOException e) {
logger.error("Error querying for Container Insights ConfigMap", e);
}
}
return null;
}