Skip to content

Commit 394a586

Browse files
authored
fix(logging): appengine zone label (#3998)
Fixes: #3919 **Before:** ```json resource: { type: "gae_app" labels: { project_id: "log-bench" module_id: "default" zone: "" version_id: "20201113t135702" } } ``` **After:** ```json resource: { type: "gae_app" labels: { project_id: "log-bench" module_id: "default" zone: "us-west-a" version_id: "20201113t135702" } } ``` e2e environment tests for this change passing at [env-tests](https://github.com/googleapis/env-tests-logging) =========================================== test session starts =========================================== platform darwin -- Python 3.7.9, pytest-6.2.3, py-1.10.0, pluggy-0.13.1 rootdir: /Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging collected 3 items tests/go/test_appengine_standard.py ['/Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging/envctl/envctl', 'go', 'appengine_standard', 'verify'] ['/Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging/envctl/envctl', 'go', 'appengine_standard', 'deploy'] ['/Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging/envctl/envctl', 'go', 'appengine_standard', 'verify'] ['/Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging/envctl/envctl', 'go', 'appengine_standard', 'trigger', 'simplelog', 'log_text="test_monitored_resource d3654c60-a3d4-11eb-bb1c-acde48001122"'] .['/Users/nicolezhu/Desktop/google-cloud-go/internal/env-tests-logging/envctl/envctl', 'go', 'appengine_standard', 'trigger', 'simplelog', 'log_text="test_receive_log de86ea86-a3d4-11eb-bb1c-acde48001122"'] .. ====================================== 3 passed in 176.73s (0:02:56) ====================================== nox > Session tests(language='go', platform='appengine_standard') was successful.
1 parent aded90b commit 394a586

1 file changed

Lines changed: 37 additions & 15 deletions

File tree

logging/logging.go

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,6 @@ func detectGCEResource() *mrpb.MonitoredResource {
285285
}
286286
}
287287

288-
func detectGAEResource() *mrpb.MonitoredResource {
289-
return &mrpb.MonitoredResource{
290-
Type: "gae_app",
291-
Labels: map[string]string{
292-
"project_id": os.Getenv("GOOGLE_CLOUD_PROJECT"),
293-
"module_id": os.Getenv("GAE_SERVICE"),
294-
"version_id": os.Getenv("GAE_VERSION"),
295-
"instance_id": os.Getenv("GAE_INSTANCE"),
296-
"runtime": os.Getenv("GAE_RUNTIME"),
297-
},
298-
}
299-
}
300-
301288
func isCloudRun() bool {
302289
_, config := os.LookupEnv("K_CONFIGURATION")
303290
_, service := os.LookupEnv("K_SERVICE")
@@ -363,13 +350,48 @@ func detectCloudFunction() *mrpb.MonitoredResource {
363350
}
364351
}
365352

353+
// isAppEngine returns true for both standard and flex
354+
func isAppEngine() bool {
355+
_, service := os.LookupEnv("GAE_SERVICE")
356+
_, version := os.LookupEnv("GAE_VERSION")
357+
_, instance := os.LookupEnv("GAE_INSTANCE")
358+
359+
return service && version && instance
360+
}
361+
362+
func detectAppEngineResource() *mrpb.MonitoredResource {
363+
projectID, err := metadata.ProjectID()
364+
if err != nil {
365+
return nil
366+
}
367+
if projectID == "" {
368+
projectID = os.Getenv("GOOGLE_CLOUD_PROJECT")
369+
}
370+
zone, err := metadata.Zone()
371+
if err != nil {
372+
return nil
373+
}
374+
375+
return &mrpb.MonitoredResource{
376+
Type: "gae_app",
377+
Labels: map[string]string{
378+
"project_id": projectID,
379+
"module_id": os.Getenv("GAE_SERVICE"),
380+
"version_id": os.Getenv("GAE_VERSION"),
381+
"instance_id": os.Getenv("GAE_INSTANCE"),
382+
"runtime": os.Getenv("GAE_RUNTIME"),
383+
"zone": zone,
384+
},
385+
}
386+
}
387+
366388
func detectResource() *mrpb.MonitoredResource {
367389
detectedResource.once.Do(func() {
368390
switch {
369391
// AppEngine, Functions, CloudRun are detected first, as metadata.OnGCE()
370392
// erroneously returns true on these runtimes.
371-
case os.Getenv("GAE_ENV") == "standard":
372-
detectedResource.pb = detectGAEResource()
393+
case isAppEngine():
394+
detectedResource.pb = detectAppEngineResource()
373395
case isCloudFunction():
374396
detectedResource.pb = detectCloudFunction()
375397
case isCloudRun():

0 commit comments

Comments
 (0)