in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/heartbeat/WebAppsHeartbeatProvider.java [70:145]
public Callable<Boolean> setDefaultPayload(HeartBeatProvider provider) {
return new Callable<Boolean>() {
final Set<String> enabledProperties = defaultFields;
@Override
public Boolean call() {
boolean hasSetValues = false;
// update environment variable to account for
updateEnvironmentVariableMap();
for (String fieldName : enabledProperties) {
try {
switch (fieldName) {
case WEBSITE_SITE_NAME:
String webSiteName = getWebsiteSiteName();
if (Strings.isNullOrEmpty(webSiteName)) {
break;
}
provider.addHeartBeatProperty(fieldName, webSiteName, true);
hasSetValues = true;
break;
case WEBSITE_HOSTNAME:
String webSiteHostName = getWebsiteHostName();
if (Strings.isNullOrEmpty(webSiteHostName)) {
break;
}
provider.addHeartBeatProperty(fieldName, webSiteHostName, true);
hasSetValues = true;
break;
case WEBSITE_HOME_STAMPNAME:
String websiteHomeStampName = getWebsiteHomeStampName();
if (Strings.isNullOrEmpty(websiteHomeStampName)) {
break;
}
provider.addHeartBeatProperty(fieldName, websiteHomeStampName, true);
hasSetValues = true;
break;
case WEBSITE_OWNER_NAME:
String websiteOwnerName = getWebsiteOwnerName();
if (Strings.isNullOrEmpty(websiteOwnerName)) {
break;
}
provider.addHeartBeatProperty(fieldName, websiteOwnerName, true);
hasSetValues = true;
break;
case WEBSITE_RESOURCE_GROUP:
String websiteResourceGroup = getWebsiteResourceGroup();
if (Strings.isNullOrEmpty(websiteResourceGroup)) {
break;
}
provider.addHeartBeatProperty(fieldName, websiteResourceGroup, true);
hasSetValues = true;
break;
case WEBSITE_SLOT_NAME:
String websiteSlotName = getWebsiteSlotName();
if (Strings.isNullOrEmpty(websiteSlotName)) {
break;
}
provider.addHeartBeatProperty(fieldName, websiteSlotName, true);
hasSetValues = true;
break;
default:
logger.trace("Unknown web apps property encountered");
break;
}
} catch (RuntimeException e) {
if (logger.isWarnEnabled()) {
logger.warn("Failed to obtain heartbeat property", e);
}
}
}
return hasSetValues;
}
};
}