in packages/opentelemetry-resource-util/src/detector/detector.ts [119:143]
async function gaeResource(): Promise<Resource> {
let zone, region;
if (await gae.onAppEngineStandard()) {
[zone, region] = await Promise.all([
gae.standardAvailabilityZone(),
gae.standardCloudRegion(),
]);
} else {
({zone, region} = await gce.availabilityZoneAndRegion());
}
const [faasName, faasVersion, faasInstance] = await Promise.all([
gae.serviceName(),
gae.serviceVersion(),
gae.serviceInstance(),
]);
return await makeResource({
[SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_GCP_APP_ENGINE,
[SEMRESATTRS_FAAS_NAME]: faasName,
[SEMRESATTRS_FAAS_VERSION]: faasVersion,
[SEMRESATTRS_FAAS_INSTANCE]: faasInstance,
[SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: zone,
[SEMRESATTRS_CLOUD_REGION]: region,
});
}