From 10e7a76a58d62ec2abf748aa197647ea24d08aa2 Mon Sep 17 00:00:00 2001 From: losalex Date: Wed, 24 Aug 2022 15:34:33 -0700 Subject: [PATCH 1/2] fix: resource detection for 2nd gen of Cloud Functions works incorrectly --- .../com/google/cloud/logging/MonitoredResourceUtil.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/MonitoredResourceUtil.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/MonitoredResourceUtil.java index bba9bf8e5..1efcd9e5b 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/MonitoredResourceUtil.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/MonitoredResourceUtil.java @@ -169,6 +169,10 @@ private static Resource detectResourceType() { return Resource.Global; } + if (getter.getEnv("FUNCTION_SIGNATURE_TYPE") != null + && getter.getEnv("FUNCTION_TARGET") != null) { + return Resource.CloudFunction; + } if (getter.getEnv("K_SERVICE") != null && getter.getEnv("K_REVISION") != null && getter.getEnv("K_CONFIGURATION") != null) { @@ -179,10 +183,6 @@ private static Resource detectResourceType() { && getter.getEnv("GAE_VERSION") != null) { return Resource.AppEngine; } - if (getter.getEnv("FUNCTION_SIGNATURE_TYPE") != null - && getter.getEnv("FUNCTION_TARGET") != null) { - return Resource.CloudFunction; - } if (getter.getAttribute("instance/attributes/cluster-name") != null) { return Resource.K8sContainer; } From 49b2862e3bd57aab38f7acebf70e77e71c08ac2e Mon Sep 17 00:00:00 2001 From: losalex Date: Wed, 24 Aug 2022 20:49:43 -0700 Subject: [PATCH 2/2] Add a test --- .../com/google/cloud/logging/MonitoredResourceUtilTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/google-cloud-logging/src/test/java/com/google/cloud/logging/MonitoredResourceUtilTest.java b/google-cloud-logging/src/test/java/com/google/cloud/logging/MonitoredResourceUtilTest.java index 76e4d1dc8..653b0465a 100644 --- a/google-cloud-logging/src/test/java/com/google/cloud/logging/MonitoredResourceUtilTest.java +++ b/google-cloud-logging/src/test/java/com/google/cloud/logging/MonitoredResourceUtilTest.java @@ -243,6 +243,10 @@ public void testResourceTypeCloudFunction() { expect(getterMock.getEnv("FUNCTION_SIGNATURE_TYPE")).andReturn(MOCKED_NON_EMPTY).once(); expect(getterMock.getEnv("FUNCTION_TARGET")).andReturn(MOCKED_NON_EMPTY).once(); expect(getterMock.getEnv("K_SERVICE")).andReturn(MockedFunctionName).anyTimes(); + expect(getterMock.getEnv("K_REVISION")).andReturn(MockedFunctionName + ".1").anyTimes(); + expect(getterMock.getEnv("K_CONFIGURATION")) + .andReturn(MockedFunctionName + "-config") + .anyTimes(); expect(getterMock.getEnv(anyString())).andReturn(null).anyTimes(); replay(getterMock); // exercise