5151_GKE_CLUSTER_NAME = "instance/attributes/cluster-name"
5252"""Attribute in metadata server when in GKE environment."""
5353
54+ _PROJECT_NAME = "project/project-id"
55+ """Attribute in metadata server when in GKE environment."""
56+
5457
55- def _create_functions_resource (project ):
58+ def _create_functions_resource ():
5659 """Create a standardized Cloud Functions resource.
57- Args:
58- project (str): The project ID to pass on to the resource
5960 Returns:
6061 google.cloud.logging.Resource
6162 """
63+ project = retrieve_metadata_server (_PROJECT_NAME )
6264 region = retrieve_metadata_server (_REGION_ID )
6365 if _FUNCTION_NAME in os .environ :
6466 function_name = os .environ .get (_FUNCTION_NAME )
@@ -77,15 +79,14 @@ def _create_functions_resource(project):
7779 return resource
7880
7981
80- def _create_kubernetes_resource (project ):
82+ def _create_kubernetes_resource ():
8183 """Create a standardized Kubernetes resource.
82- Args:
83- project (str): The project ID to pass on to the resource
8484 Returns:
8585 google.cloud.logging.Resource
8686 """
8787 zone = retrieve_metadata_server (_ZONE_ID )
8888 cluster_name = retrieve_metadata_server (_GKE_CLUSTER_NAME )
89+ project = retrieve_metadata_server (_PROJECT_NAME )
8990
9091 resource = Resource (
9192 type = "k8s_container" ,
@@ -98,15 +99,14 @@ def _create_kubernetes_resource(project):
9899 return resource
99100
100101
101- def _create_compute_resource (project ):
102+ def _create_compute_resource ():
102103 """Create a standardized Compute Engine resource.
103- Args:
104- project (str): The project ID to pass on to the resource
105104 Returns:
106105 google.cloud.logging.Resource
107106 """
108107 instance = retrieve_metadata_server (_GCE_INSTANCE_ID )
109108 zone = retrieve_metadata_server (_ZONE_ID )
109+ project = retrieve_metadata_server (_PROJECT_NAME )
110110 resource = Resource (
111111 type = "gce_instance" ,
112112 labels = {
@@ -118,14 +118,13 @@ def _create_compute_resource(project):
118118 return resource
119119
120120
121- def _create_cloud_run_resource (project ):
121+ def _create_cloud_run_resource ():
122122 """Create a standardized Cloud Run resource.
123- Args:
124- project (str): The project ID to pass on to the resource
125123 Returns:
126124 google.cloud.logging.Resource
127125 """
128126 region = retrieve_metadata_server (_REGION_ID )
127+ project = retrieve_metadata_server (_PROJECT_NAME )
129128 resource = Resource (
130129 type = "cloud_run_revision" ,
131130 labels = {
@@ -139,14 +138,13 @@ def _create_cloud_run_resource(project):
139138 return resource
140139
141140
142- def _create_app_engine_resource (project ):
141+ def _create_app_engine_resource ():
143142 """Create a standardized App Engine resource.
144- Args:
145- project (str): The project ID to pass on to the resource
146143 Returns:
147144 google.cloud.logging.Resource
148145 """
149146 zone = retrieve_metadata_server (_ZONE_ID )
147+ project = retrieve_metadata_server (_PROJECT_NAME )
150148 resource = Resource (
151149 type = "gae_app" ,
152150 labels = {
@@ -160,13 +158,19 @@ def _create_app_engine_resource(project):
160158
161159
162160def _create_global_resource (project ):
161+ """Create a global resource.
162+ Args:
163+ project (str): The project ID to pass on to the resource
164+ Returns:
165+ google.cloud.logging.Resource
166+ """
163167 return Resource (type = "global" , labels = {"project_id" : project })
164168
165169
166170def detect_resource (project = "" ):
167171 """Return the default monitored resource based on the local environment.
168172 Args:
169- project (str): The project ID to pass on to the resource
173+ project (str): The project ID to pass on to the resource (if needed)
170174 Returns:
171175 google.cloud.logging.Resource: The default resource based on the environment
172176 """
@@ -175,21 +179,21 @@ def detect_resource(project=""):
175179
176180 if all ([env in os .environ for env in _GAE_ENV_VARS ]):
177181 # App Engine Flex or Standard
178- return _create_app_engine_resource (project )
182+ return _create_app_engine_resource ()
179183 elif gke_cluster_name is not None :
180184 # Kubernetes Engine
181- return _create_kubernetes_resource (project )
185+ return _create_kubernetes_resource ()
182186 elif all ([env in os .environ for env in _LEGACY_FUNCTION_ENV_VARS ]) or all (
183187 [env in os .environ for env in _FUNCTION_ENV_VARS ]
184188 ):
185189 # Cloud Functions
186- return _create_functions_resource (project )
190+ return _create_functions_resource ()
187191 elif all ([env in os .environ for env in _CLOUD_RUN_ENV_VARS ]):
188192 # Cloud Run
189- return _create_cloud_run_resource (project )
193+ return _create_cloud_run_resource ()
190194 elif gce_instance_name is not None :
191195 # Compute Engine
192- return _create_compute_resource (project )
196+ return _create_compute_resource ()
193197 else :
194198 # use generic global resource
195199 return _create_global_resource (project )
0 commit comments