From 7d2d3ef3e449ac40a28bb1f925e5a23f3ea755a0 Mon Sep 17 00:00:00 2001 From: Jisha Abubaker Date: Wed, 26 Apr 2017 16:24:58 -0700 Subject: [PATCH 1/6] moving instance_name logging to log entry label removing unsupported resource labels for standard, flex --- .../cloud/logging/MonitoredResourceUtil.java | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 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 301740acde76..d50e7b47c5e4 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 @@ -19,8 +19,10 @@ import com.google.cloud.MetadataConfig; import com.google.cloud.MonitoredResource; import com.google.cloud.ServiceOptions; +import com.google.cloud.logging.LogEntry.Builder; import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -79,16 +81,14 @@ String getKey() { new ImmutableMap.Builder() .put( Resource.GaeAppFlex.getKey(), - new Label[] { - Label.InstanceName, - Label.ModuleId, - Label.VersionId, - Label.InstanceId, - Label.Zone + new Label[]{ + Label.ModuleId, + Label.VersionId, + Label.Zone }) .put( Resource.GaeAppStandard.getKey(), - new Label[] {Label.AppId, Label.ModuleId, Label.VersionId}) + new Label[] {Label.ModuleId, Label.VersionId}) .put(Resource.Container.getKey(), new Label[] {Label.ClusterName, Label.Zone}) .put(Resource.GceInstance.getKey(), new Label[] {Label.InstanceId, Label.Zone}) .build(); @@ -193,12 +193,15 @@ private static String getAppEngineInstanceName() { } private static List getEnhancers(Resource resourceType) { - List enhancers; + List enhancers = new ArrayList<>(); switch (resourceType) { // Trace logging enhancer is supported on GAE Flex and Standard. - case GaeAppStandard: case GaeAppFlex: enhancers = new ArrayList<>(); + enhancers.add(new LabelLoggingEnhancer(Collections.singletonList(Label.InstanceName))); + enhancers.add(new TraceLoggingEnhancer()); + break; + case GaeAppStandard: enhancers.add(new TraceLoggingEnhancer()); break; default: @@ -207,4 +210,28 @@ private static List getEnhancers(Resource resourceType) { } return enhancers; } + + /** + * Adds additional resource-based labels to log entries. + * Labels that can be provided with {@link MonitoredResource.Builder#addLabel(String, String)} + * are restricted to a supported set per resource. + * @see Logging Labels + */ + static class LabelLoggingEnhancer implements LoggingEnhancer { + List