def get_system_info()

in elasticapm/base.py [0:0]


    def get_system_info(self):
        system_data = {
            "detected_hostname": keyword_field(elasticapm.utils.getfqdn()),
            "architecture": platform.machine(),
            "platform": platform.system().lower(),
        }
        if self.config.hostname:
            system_data["configured_hostname"] = keyword_field(self.config.hostname)
        if not self.check_server_version(gte=(7, 4, 0)):
            system_data["hostname"] = system_data.get("configured_hostname", system_data["detected_hostname"])
        system_data.update(cgroup.get_cgroup_container_metadata())
        pod_name = os.environ.get("KUBERNETES_POD_NAME") or keyword_field(
            self.config.hostname or elasticapm.utils.getfqdn().split(".")[0]
        )
        changed = False
        if "kubernetes" in system_data:
            k8s = system_data["kubernetes"]
            k8s["pod"]["name"] = pod_name
        else:
            k8s = {"pod": {"name": pod_name}}
        # get kubernetes metadata from environment
        if "KUBERNETES_NODE_NAME" in os.environ:
            k8s["node"] = {"name": os.environ["KUBERNETES_NODE_NAME"]}
            changed = True
        if "KUBERNETES_NAMESPACE" in os.environ:
            k8s["namespace"] = os.environ["KUBERNETES_NAMESPACE"]
            changed = True
        if "KUBERNETES_POD_UID" in os.environ:
            # this takes precedence over any value from /proc/self/cgroup
            k8s["pod"]["uid"] = os.environ["KUBERNETES_POD_UID"]
            changed = True
        if changed:
            system_data["kubernetes"] = k8s
        return system_data