class ElasticAPM::Metadata::CloudInfo
def fetch_gcp
def fetch_gcp resp = @client.headers("Metadata-Flavor" => "Google").get(GCP_URI) return unless resp.status == 200 return unless (metadata = JSON.parse(resp.body.to_s)) zone = metadata["instance"]["zone"]&.split("/")&.at(-1) self.provider = "gcp" self.instance_id = metadata["instance"]["id"].to_s self.instance_name = metadata["instance"]["name"] self.project_id = metadata["project"]["projectId"] self.availability_zone = zone self.region = zone.split("-")[0..-2].join("-") self.machine_type = metadata["instance"]["machineType"].split("/")[-1] rescue HTTP::TimeoutError, HTTP::ConnectionError nil end