diff --git a/hypertrace-ingester/build.gradle.kts b/hypertrace-ingester/build.gradle.kts index e9711609b..46ca4d351 100644 --- a/hypertrace-ingester/build.gradle.kts +++ b/hypertrace-ingester/build.gradle.kts @@ -28,7 +28,7 @@ dependencies { implementation("org.hypertrace.core.kafkastreams.framework:kafka-streams-framework:0.1.21") implementation("org.hypertrace.core.serviceframework:platform-service-framework:0.1.30") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.30") - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.viewgenerator:view-generator-framework:0.3.1") implementation("com.typesafe:config:1.4.1") implementation("org.apache.commons:commons-lang3:3.12.0") diff --git a/hypertrace-trace-enricher/enriched-span-constants/build.gradle.kts b/hypertrace-trace-enricher/enriched-span-constants/build.gradle.kts index cbaee817d..7f85d462b 100644 --- a/hypertrace-trace-enricher/enriched-span-constants/build.gradle.kts +++ b/hypertrace-trace-enricher/enriched-span-constants/build.gradle.kts @@ -65,7 +65,7 @@ sourceSets { dependencies { api("com.google.protobuf:protobuf-java-util:3.15.7") - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation(project(":span-normalizer:raw-span-constants")) implementation(project(":span-normalizer:span-normalizer-constants")) implementation(project(":semantic-convention-utils")) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-api/build.gradle.kts b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/build.gradle.kts index b37023460..fa8994840 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-api/build.gradle.kts +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/build.gradle.kts @@ -9,7 +9,7 @@ tasks.test { dependencies { implementation(project(":hypertrace-trace-enricher:enriched-span-constants")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.slf4j:slf4j-api:1.7.30") implementation("org.apache.commons:commons-lang3:3.12.0") diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/main/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraph.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/main/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraph.java index 2e790c442..7361b9ee9 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/main/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraph.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/main/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraph.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.trace.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.common.collect.HashBasedTable; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -389,7 +391,7 @@ private Optional createEdgeBetweenApiNodes( entryBoundaryEventOfDestinationApiNode); } else { ApiNodeEventEdge apiNodeEventEdge = - ApiNodeEventEdge.newBuilder() + fastNewBuilder(ApiNodeEventEdge.Builder.class) .setSrcApiNodeIndex(srcIndex) .setTgtApiNodeIndex(targetIndex) .setSrcEventIndex(srcIndexInTrace) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/build.gradle.kts b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/build.gradle.kts index cccdb57ec..8f7f75548 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/build.gradle.kts +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { implementation(project(":semantic-convention-utils")) implementation(project(":hypertrace-trace-enricher:trace-reader")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.entity.service:entity-service-client:0.8.5") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.28") implementation("org.hypertrace.core.grpcutils:grpc-client-utils:0.6.1") diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/AbstractTraceEnricher.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/AbstractTraceEnricher.java index 298abe847..a0f1c1e17 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/AbstractTraceEnricher.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/AbstractTraceEnricher.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.enrichment; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.common.collect.Lists; import com.typesafe.config.Config; import java.util.HashSet; @@ -62,7 +64,7 @@ protected Event getEarliestEvent(StructuredTrace trace) { protected void addEnrichedAttribute(Event event, String key, AttributeValue value) { Attributes enrichedAttributes = event.getEnrichedAttributes(); if (enrichedAttributes == null) { - enrichedAttributes = Attributes.newBuilder().build(); + enrichedAttributes = fastNewBuilder(Attributes.Builder.class).build(); event.setEnrichedAttributes(enrichedAttributes); } @@ -76,7 +78,8 @@ protected void addEnrichedAttributes( protected void addEnrichedAttributeIfNotNull(Event event, String key, String value) { if (value != null) { - AttributeValue attributeValue = AttributeValue.newBuilder().setValue(value).build(); + AttributeValue attributeValue = + fastNewBuilder(AttributeValue.Builder.class).setValue(value).build(); addEnrichedAttribute(event, key, attributeValue); } } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricher.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricher.java index 751a9d3f6..7d4cf8d2e 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricher.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricher.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -54,7 +56,8 @@ private void enrichExceptionDetails(Event event) { if (hasException) { if (event.getMetrics() == null) { - event.setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()); + event.setMetrics( + fastNewBuilder(Metrics.Builder.class).setMetricMap(new HashMap<>()).build()); } event @@ -62,7 +65,7 @@ private void enrichExceptionDetails(Event event) { .getMetricMap() .put( EnrichedSpanConstants.getValue(ErrorMetrics.ERROR_METRICS_EXCEPTION_COUNT), - MetricValue.newBuilder().setValue(1.0d).build()); + fastNewBuilder(MetricValue.Builder.class).setValue(1.0d).build()); } } @@ -72,7 +75,8 @@ private void enrichErrorDetails(Event event) { if (hasError) { if (event.getMetrics() == null) { - event.setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()); + event.setMetrics( + fastNewBuilder(Metrics.Builder.class).setMetricMap(new HashMap<>()).build()); } // TODO: Currently we only track the error count but we might want to enrich with additional @@ -82,7 +86,7 @@ private void enrichErrorDetails(Event event) { .getMetricMap() .put( EnrichedSpanConstants.getValue(ErrorMetrics.ERROR_METRICS_ERROR_COUNT), - MetricValue.newBuilder().setValue(1.0d).build()); + fastNewBuilder(MetricValue.Builder.class).setValue(1.0d).build()); } } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ExitCallsEnricher.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ExitCallsEnricher.java index c65890447..d74e4ea5f 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ExitCallsEnricher.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/ExitCallsEnricher.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.traceenricher.enrichedspan.constants.EnrichedSpanConstants.API_EXIT_CALLS_COUNT; import com.google.common.collect.Maps; @@ -39,7 +40,7 @@ public void enrichTrace(StructuredTrace trace) { addEnrichedAttribute( event, EnrichedSpanConstants.API_CALLEE_NAME_COUNT_ATTRIBUTE, - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValueMap(apiExitCallInfo.getCalleeNameToCallCount()) .build()); }); diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/HttpAttributeEnricher.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/HttpAttributeEnricher.java index 24f4979af..0982a5473 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/HttpAttributeEnricher.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/HttpAttributeEnricher.java @@ -3,6 +3,7 @@ import static java.util.stream.Collectors.groupingBy; import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toList; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import com.google.common.base.Splitter; import java.net.URLDecoder; @@ -55,7 +56,7 @@ public void enrichEvent(StructuredTrace trace, Event event) { // Getting a single value out of all values(for backward compatibility) String queryParamStringValue = queryParamEntry.getValue().get(0); AttributeValue attributeValue = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(queryParamStringValue) .setValueList(queryParamEntry.getValue()) .build(); diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/TraceStatsEnricher.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/TraceStatsEnricher.java index 0acf5b157..3cd94ec80 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/TraceStatsEnricher.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/enrichment/enrichers/TraceStatsEnricher.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.traceenricher.enrichedspan.constants.EnrichedSpanConstants.HEAD_EVENT_ID; import static org.hypertrace.traceenricher.enrichedspan.constants.EnrichedSpanConstants.UNIQUE_API_NODES_COUNT; @@ -35,7 +36,7 @@ public void enrichTrace(StructuredTrace trace) { private void addHeadSpanIdTraceAttribute(StructuredTrace trace, Event headSpan) { AttributeValue attribute = - AttributeValue.newBuilder().setBinaryValue(headSpan.getEventId()).build(); + fastNewBuilder(AttributeValue.Builder.class).setBinaryValue(headSpan.getEventId()).build(); trace.getAttributes().getAttributeMap().put(HEAD_EVENT_ID, attribute); } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EnrichedEntityAvroConverter.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EnrichedEntityAvroConverter.java index 7e530fe7c..4d9b2e57d 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EnrichedEntityAvroConverter.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EnrichedEntityAvroConverter.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.util.HashMap; import java.util.Map; import org.hypertrace.core.datamodel.AttributeValue; @@ -17,12 +19,15 @@ public class EnrichedEntityAvroConverter { private static final Logger LOG = LoggerFactory.getLogger(EnrichedEntityAvroConverter.class); public static Entity convertToAvroEntity(EnrichedEntity entity) { - return Entity.newBuilder() + return fastNewBuilder(Entity.Builder.class) .setEntityType(entity.getEntityType()) .setEntityId(entity.getEntityId()) .setCustomerId(entity.getTenantId()) .setEntityName(entity.getEntityName()) - .setAttributes(Attributes.newBuilder().setAttributeMap(getAvroAttributeMap(entity)).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class) + .setAttributeMap(getAvroAttributeMap(entity)) + .build()) .build(); } @@ -39,47 +44,50 @@ public static Map getAvroAttributeMap(EnrichedEntity ent == org.hypertrace.entity.data.service.v1.AttributeValue.TypeCase.VALUE) { switch (value.getValue().getTypeCase()) { case STRING: - result = AttributeValue.newBuilder().setValue(value.getValue().getString()).build(); + result = + fastNewBuilder(AttributeValue.Builder.class) + .setValue(value.getValue().getString()) + .build(); break; case INT: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getInt())) .build(); break; case LONG: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getLong())) .build(); break; case BYTES: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setBinaryValue(value.getValue().getBytes().asReadOnlyByteBuffer()) .build(); break; case DOUBLE: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getDouble())) .build(); break; case FLOAT: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getFloat())) .build(); break; case TIMESTAMP: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getTimestamp())) .build(); break; case BOOLEAN: result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setValue(String.valueOf(value.getValue().getBoolean())) .build(); break; diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EntityAvroConverter.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EntityAvroConverter.java index 60e43e5ce..9c10398b4 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EntityAvroConverter.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/main/java/org/hypertrace/traceenricher/util/EntityAvroConverter.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.common.base.Strings; import java.util.ArrayList; import java.util.HashMap; @@ -32,7 +34,7 @@ public static Entity convertToAvroEntity( } Entity.Builder builder = - Entity.newBuilder() + fastNewBuilder(Entity.Builder.class) .setEntityType(entity.getEntityType()) .setEntityId(entity.getEntityId()) .setCustomerId(entity.getTenantId()) @@ -40,7 +42,9 @@ public static Entity convertToAvroEntity( if (includeAttributes) { builder.setAttributes( - Attributes.newBuilder().setAttributeMap(getAvroAttributeMap(entity)).build()); + fastNewBuilder(Attributes.Builder.class) + .setAttributeMap(getAvroAttributeMap(entity)) + .build()); } return builder.build(); } @@ -58,13 +62,13 @@ private static Map getAvroAttributeMap( == org.hypertrace.entity.data.service.v1.AttributeValue.TypeCase.VALUE) { if (value.getValue().getTypeCase() == TypeCase.BYTES) { result = - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setBinaryValue(value.getValue().getBytes().asReadOnlyByteBuffer()) .build(); } else { Optional valueStr = convertValueToString(value.getValue()); if (valueStr.isPresent()) { - result = AttributeValue.newBuilder().setValue(valueStr.get()).build(); + result = fastNewBuilder(AttributeValue.Builder.class).setValue(valueStr.get()).build(); } } } else if (value.getTypeCase() @@ -86,7 +90,10 @@ private static Map getAvroAttributeMap( } // Only add the list if it's not empty if (!avroValuesStringList.isEmpty()) { - result = AttributeValue.newBuilder().setValueList(avroValuesStringList).build(); + result = + fastNewBuilder(AttributeValue.Builder.class) + .setValueList(avroValuesStringList) + .build(); } } else { // Currently we don't copy the map types. diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts b/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts index ba7755c19..e834ed848 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts @@ -35,7 +35,7 @@ tasks.test { dependencies { implementation(project(":hypertrace-trace-enricher:hypertrace-trace-enricher-impl")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.serviceframework:platform-service-framework:0.1.30") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.30") implementation("org.hypertrace.entity.service:entity-service-client:0.8.5") diff --git a/hypertrace-trace-enricher/hypertrace-trace-visualizer/build.gradle.kts b/hypertrace-trace-enricher/hypertrace-trace-visualizer/build.gradle.kts index 95bba3c03..0ee4d039e 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-visualizer/build.gradle.kts +++ b/hypertrace-trace-enricher/hypertrace-trace-visualizer/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.json:json:20210307") implementation("org.apache.commons:commons-lang3:3.12.0") diff --git a/hypertrace-trace-enricher/trace-reader/build.gradle.kts b/hypertrace-trace-enricher/trace-reader/build.gradle.kts index 52016e07a..4375dcfdf 100644 --- a/hypertrace-trace-enricher/trace-reader/build.gradle.kts +++ b/hypertrace-trace-enricher/trace-reader/build.gradle.kts @@ -10,7 +10,7 @@ dependencies { api("org.hypertrace.core.attribute.service:caching-attribute-service-client:0.12.3") api("org.hypertrace.entity.service:entity-type-service-rx-client:0.8.5") api("org.hypertrace.entity.service:entity-data-service-rx-client:0.8.5") - api("org.hypertrace.core.datamodel:data-model:0.1.17") + api("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.attribute.service:attribute-projection-registry:0.12.3") implementation("org.hypertrace.core.grpcutils:grpc-client-rx-utils:0.6.1") implementation("org.hypertrace.core.grpcutils:grpc-context-utils:0.6.1") diff --git a/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/AvroEntityConverter.java b/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/AvroEntityConverter.java index 90fd2ed38..8539f5534 100644 --- a/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/AvroEntityConverter.java +++ b/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/AvroEntityConverter.java @@ -1,6 +1,7 @@ package org.hypertrace.trace.accessor.entities; import static java.util.Objects.nonNull; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; @@ -24,7 +25,7 @@ static Single convertToAvroEntity( return convertAttributes(entity.getAttributesMap()) .map( attributes -> - Entity.newBuilder() + fastNewBuilder(Entity.Builder.class) .setEntityType(entity.getEntityType()) .setEntityId(entity.getEntityId()) .setCustomerId(tenantId) @@ -44,7 +45,9 @@ private static Single convertAttributes( .onErrorComplete() .map(value -> Map.entry(entry.getKey(), value))) .toMap(Entry::getKey, Entry::getValue) - .map(convertedMap -> Attributes.newBuilder().setAttributeMap(convertedMap).build()); + .map( + convertedMap -> + fastNewBuilder(Attributes.Builder.class).setAttributeMap(convertedMap).build()); } private static Single convertAttributeValue( @@ -76,7 +79,7 @@ private static Single convertValueList(AttributeValueList valueL "Avro value lists do not support nested lists or maps"))) .map(AttributeValue::getValue) // Unwrap and flatten .toList() - .map(list -> AttributeValue.newBuilder().setValueList(list).build()); + .map(list -> fastNewBuilder(AttributeValue.Builder.class).setValueList(list).build()); } private static Single convertValueMap(AttributeValueMap valueMap) { @@ -94,7 +97,7 @@ private static Single convertValueMap(AttributeValueMap valueMap .map(AttributeValue::getValue) // Unwrap and flatten .map(value -> Map.entry(entry.getKey(), value))) .toMap(Entry::getKey, Entry::getValue) - .map(map -> AttributeValue.newBuilder().setValueMap(map).build()); + .map(map -> fastNewBuilder(AttributeValue.Builder.class).setValueMap(map).build()); } private static Single convertValue(Value value) { @@ -115,7 +118,7 @@ private static Single convertValue(Value value) { return buildAttributeStringValueSingle(String.valueOf(value.getBoolean())); case BYTES: return Single.just( - AttributeValue.newBuilder() + fastNewBuilder(AttributeValue.Builder.class) .setBinaryValue(value.getBytes().asReadOnlyByteBuffer()) .build()); case CUSTOM: @@ -128,6 +131,6 @@ private static Single convertValue(Value value) { } private static Single buildAttributeStringValueSingle(String value) { - return Single.just(AttributeValue.newBuilder().setValue(value).build()); + return Single.just(fastNewBuilder(AttributeValue.Builder.class).setValue(value).build()); } } diff --git a/hypertrace-view-generator/hypertrace-view-generator/build.gradle.kts b/hypertrace-view-generator/hypertrace-view-generator/build.gradle.kts index 5ebbba7be..27c39e1a1 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/build.gradle.kts +++ b/hypertrace-view-generator/hypertrace-view-generator/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { // TODO: migrate in core implementation("org.hypertrace.core.viewgenerator:view-generator-framework:0.3.1") - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.26") implementation("org.hypertrace.entity.service:entity-service-api:0.8.5") diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/BackendEntityViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/BackendEntityViewGenerator.java index 722a92cd3..c02401ef3 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/BackendEntityViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/BackendEntityViewGenerator.java @@ -1,5 +1,7 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.nio.ByteBuffer; import java.util.List; import java.util.Map; @@ -66,7 +68,7 @@ private BackendEntityView.Builder generateViewBuilder( final Map eventMap, final Map childToParentEventIds) { - BackendEntityView.Builder builder = BackendEntityView.newBuilder(); + BackendEntityView.Builder builder = fastNewBuilder(BackendEntityView.Builder.class); try { builder.setTenantId(trace.getCustomerId()); builder.setTraceId(trace.getTraceId()); diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/LogEventViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/LogEventViewGenerator.java index f5feb4e38..f66732a3a 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/LogEventViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/LogEventViewGenerator.java @@ -1,5 +1,7 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.ArrayList; @@ -44,7 +46,7 @@ public List process(LogEvents logEvents) { for (LogEvent logEventRecord : logEvents.getLogEvents()) { String attributes = convertAttributes(logEventRecord.getAttributes()); LogEventView logEventView = - LogEventView.newBuilder() + fastNewBuilder(LogEventView.Builder.class) .setSpanId(logEventRecord.getSpanId()) .setTraceId(logEventRecord.getTraceId()) .setTimestampNanos(logEventRecord.getTimestampNanos()) diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawServiceViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawServiceViewGenerator.java index 9bfb342cc..1021f9c5a 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawServiceViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawServiceViewGenerator.java @@ -1,5 +1,7 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -35,7 +37,7 @@ List generateView( for (ApiNode apiNode : apiNodes) { Event event = apiNode.getHeadEvent(); if (EnrichedSpanUtils.containsServiceId(event)) { - RawServiceView.Builder builder = RawServiceView.newBuilder(); + RawServiceView.Builder builder = fastNewBuilder(RawServiceView.Builder.class); builder.setTenantId(structuredTrace.getCustomerId()); builder.setTraceId(structuredTrace.getTraceId()); builder.setSpanId(event.getEventId()); diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawTraceViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawTraceViewGenerator.java index 984e63ab0..947b1adac 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawTraceViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/RawTraceViewGenerator.java @@ -1,5 +1,7 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.common.collect.Lists; import java.nio.ByteBuffer; import java.util.ArrayList; @@ -28,7 +30,7 @@ List generateView( Map eventMap, Map> parentToChildrenEventIds, Map childToParentEventIds) { - RawTraceView.Builder builder = RawTraceView.newBuilder(); + RawTraceView.Builder builder = fastNewBuilder(RawTraceView.Builder.class); builder.setTenantId(structuredTrace.getCustomerId()); builder.setTraceId(structuredTrace.getTraceId()); diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/ServiceCallViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/ServiceCallViewGenerator.java index e985bd5fd..38642fea6 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/ServiceCallViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/ServiceCallViewGenerator.java @@ -1,5 +1,7 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -416,7 +418,7 @@ private ServiceCallView createViewForNonEntryRootSpan(StructuredTrace trace, Eve } private ServiceCallView.Builder createAndInitializeBuilder(StructuredTrace trace) { - ServiceCallView.Builder builder = ServiceCallView.newBuilder(); + ServiceCallView.Builder builder = fastNewBuilder(ServiceCallView.Builder.class); addTraceCommonAttributes(trace, builder); return builder; diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/SpanEventViewGenerator.java b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/SpanEventViewGenerator.java index 39a228b10..e8d4f322c 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/SpanEventViewGenerator.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/main/java/org/hypertrace/viewgenerator/generators/SpanEventViewGenerator.java @@ -1,5 +1,6 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.datamodel.shared.SpanAttributeUtils.getStringAttribute; import java.nio.ByteBuffer; @@ -129,7 +130,7 @@ private SpanEventView.Builder generateViewBuilder( Map childToParentEventIds, Map exitSpanToCalleeApiEntrySpanMap) { - SpanEventView.Builder builder = SpanEventView.newBuilder(); + SpanEventView.Builder builder = fastNewBuilder(SpanEventView.Builder.class); builder.setTenantId(event.getCustomerId()); builder.setSpanId(event.getEventId()); diff --git a/raw-spans-grouper/raw-spans-grouper/build.gradle.kts b/raw-spans-grouper/raw-spans-grouper/build.gradle.kts index 7293d48fa..19ed7f4b6 100644 --- a/raw-spans-grouper/raw-spans-grouper/build.gradle.kts +++ b/raw-spans-grouper/raw-spans-grouper/build.gradle.kts @@ -38,7 +38,7 @@ dependencies { because("https://snyk.io/vuln/SNYK-JAVA-ORGGLASSFISHJERSEYCORE-1255637") } implementation(project(":span-normalizer:span-normalizer-api")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.serviceframework:platform-service-framework:0.1.30") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.30") diff --git a/raw-spans-grouper/raw-spans-grouper/src/main/java/org/hypertrace/core/rawspansgrouper/RawSpansProcessor.java b/raw-spans-grouper/raw-spans-grouper/src/main/java/org/hypertrace/core/rawspansgrouper/RawSpansProcessor.java index 1e0dd69e0..a1d8ea941 100644 --- a/raw-spans-grouper/raw-spans-grouper/src/main/java/org/hypertrace/core/rawspansgrouper/RawSpansProcessor.java +++ b/raw-spans-grouper/raw-spans-grouper/src/main/java/org/hypertrace/core/rawspansgrouper/RawSpansProcessor.java @@ -1,5 +1,6 @@ package org.hypertrace.core.rawspansgrouper; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.rawspansgrouper.RawSpanGrouperConstants.DATAFLOW_SAMPLING_PERCENT_CONFIG_KEY; import static org.hypertrace.core.rawspansgrouper.RawSpanGrouperConstants.DROPPED_SPANS_COUNTER; import static org.hypertrace.core.rawspansgrouper.RawSpanGrouperConstants.INFLIGHT_TRACE_MAX_SPAN_COUNT; @@ -134,7 +135,7 @@ public KeyValue transform(TraceIdentity key, RawSpan va if (firstEntry) { traceState = - TraceState.newBuilder() + fastNewBuilder(TraceState.Builder.class) .setTraceStartTimestamp(currentTimeMs) .setTraceEndTimestamp(currentTimeMs) .setEmitTs(traceEmitTs) diff --git a/semantic-convention-utils/build.gradle.kts b/semantic-convention-utils/build.gradle.kts index 7e3ac2260..fadcd3ce6 100644 --- a/semantic-convention-utils/build.gradle.kts +++ b/semantic-convention-utils/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { implementation(project(":span-normalizer:raw-span-constants")) implementation(project(":span-normalizer:span-normalizer-constants")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.apache.commons:commons-lang3:3.12.0") testImplementation("org.junit.jupiter:junit-jupiter:5.7.1") diff --git a/semantic-convention-utils/src/main/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtils.java b/semantic-convention-utils/src/main/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtils.java index 40f53cb15..c913d3052 100644 --- a/semantic-convention-utils/src/main/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtils.java +++ b/semantic-convention-utils/src/main/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtils.java @@ -1,5 +1,6 @@ package org.hypertrace.semantic.convention.utils.rpc; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.span.constants.v1.CensusResponse.CENSUS_RESPONSE_STATUS_MESSAGE; import static org.hypertrace.core.span.constants.v1.Envoy.ENVOY_GRPC_STATUS_MESSAGE; import static org.hypertrace.core.span.constants.v1.Envoy.ENVOY_REQUEST_SIZE; @@ -189,7 +190,8 @@ public static boolean isRpcTypeGrpcForOTelFormat(Map val return OTEL_RPC_SYSTEM_GRPC.equals( valueMap .getOrDefault( - OTEL_RPC_SYSTEM, AttributeValue.newBuilder().setValue(StringUtils.EMPTY).build()) + OTEL_RPC_SYSTEM, + fastNewBuilder(AttributeValue.Builder.class).setValue(StringUtils.EMPTY).build()) .getValue()); } diff --git a/span-normalizer/span-normalizer/build.gradle.kts b/span-normalizer/span-normalizer/build.gradle.kts index d7dff757a..8a8ab9197 100644 --- a/span-normalizer/span-normalizer/build.gradle.kts +++ b/span-normalizer/span-normalizer/build.gradle.kts @@ -34,7 +34,7 @@ dependencies { implementation(project(":span-normalizer:span-normalizer-constants")) implementation(project(":semantic-convention-utils")) - implementation("org.hypertrace.core.datamodel:data-model:0.1.19") + implementation("org.hypertrace.core.datamodel:data-model:0.1.20") implementation("org.hypertrace.core.serviceframework:platform-service-framework:0.1.30") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.30") implementation("org.hypertrace.core.kafkastreams.framework:kafka-streams-framework:0.1.21") diff --git a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerResourceNormalizer.java b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerResourceNormalizer.java index d1d39d0df..178f325d1 100644 --- a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerResourceNormalizer.java +++ b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerResourceNormalizer.java @@ -1,5 +1,6 @@ package org.hypertrace.core.spannormalizer.jaeger; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.spannormalizer.util.JaegerHTTagsConverter.createFromJaegerKeyValue; import io.jaegertracing.api_v2.JaegerSpanInternalModel.KeyValue; @@ -40,8 +41,9 @@ private Optional buildResource(Map resourceVal return Optional.empty(); } return Optional.of( - Resource.newBuilder() - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(resourceValueMap)) + fastNewBuilder(Resource.Builder.class) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(resourceValueMap)) .build()); } diff --git a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanNormalizer.java b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanNormalizer.java index c4172969d..e3b490544 100644 --- a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanNormalizer.java +++ b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanNormalizer.java @@ -1,5 +1,7 @@ package org.hypertrace.core.spannormalizer.jaeger; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.protobuf.ProtocolStringList; import com.google.protobuf.util.Timestamps; import com.typesafe.config.Config; @@ -100,7 +102,7 @@ public RawSpan convert(String tenantId, Span jaegerSpan) throws Exception { private Callable getRawSpanNormalizerCallable( Span jaegerSpan, Map spanTags, String tenantId) { return () -> { - Builder rawSpanBuilder = RawSpan.newBuilder(); + Builder rawSpanBuilder = fastNewBuilder(RawSpan.Builder.class); rawSpanBuilder.setCustomerId(tenantId); rawSpanBuilder.setTraceId(jaegerSpan.getTraceId().asReadOnlyByteBuffer()); // Build Event @@ -134,7 +136,7 @@ private Event buildEvent( Span jaegerSpan, @Nonnull Map tagsMap, Optional tenantIdKey) { - Event.Builder eventBuilder = Event.newBuilder(); + Event.Builder eventBuilder = fastNewBuilder(Event.Builder.class); eventBuilder.setCustomerId(tenantId); eventBuilder.setEventId(jaegerSpan.getSpanId().asReadOnlyByteBuffer()); eventBuilder.setEventName(jaegerSpan.getOperationName()); @@ -154,7 +156,7 @@ private Event buildEvent( // field. Set referencesSet = new HashSet<>(referencesList); for (JaegerSpanInternalModel.SpanRef spanRef : referencesSet) { - EventRef.Builder builder = EventRef.newBuilder(); + EventRef.Builder builder = fastNewBuilder(EventRef.Builder.class); builder.setTraceId(spanRef.getTraceId().asReadOnlyByteBuffer()); builder.setEventId(spanRef.getSpanId().asReadOnlyByteBuffer()); builder.setRefType(EventRefType.valueOf(spanRef.getRefType().toString())); @@ -164,7 +166,8 @@ private Event buildEvent( // span attributes to event attributes Map attributeFieldMap = new HashMap<>(); - eventBuilder.setAttributesBuilder(Attributes.newBuilder().setAttributeMap(attributeFieldMap)); + eventBuilder.setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(attributeFieldMap)); List tagsList = jaegerSpan.getTagsList(); // Stop populating first class fields for - grpc, rpc, http, and sql. @@ -215,10 +218,12 @@ private Event buildEvent( // EVENT METRICS Map metricMap = new HashMap<>(); MetricValue durationMetric = - MetricValue.newBuilder().setValue((double) (endTimeMillis - startTimeMillis)).build(); + fastNewBuilder(MetricValue.Builder.class) + .setValue((double) (endTimeMillis - startTimeMillis)) + .build(); metricMap.put("Duration", durationMetric); - eventBuilder.setMetrics(Metrics.newBuilder().setMetricMap(metricMap).build()); + eventBuilder.setMetrics(fastNewBuilder(Metrics.Builder.class).setMetricMap(metricMap).build()); return eventBuilder.build(); } diff --git a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToAvroRawSpanTransformer.java b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToAvroRawSpanTransformer.java index a5fcafd1f..dcba010e0 100644 --- a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToAvroRawSpanTransformer.java +++ b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToAvroRawSpanTransformer.java @@ -1,5 +1,6 @@ package org.hypertrace.core.spannormalizer.jaeger; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.spannormalizer.constants.SpanNormalizerConstants.SPAN_NORMALIZER_JOB_CONFIG; import static org.hypertrace.core.spannormalizer.jaeger.JaegerSpanPreProcessor.SPANS_COUNTER; @@ -57,7 +58,7 @@ public KeyValue transform(byte[] key, PreProcessedSpan p // we use the (tenant_id, trace_id) as the key so that raw_span_grouper // job can do a groupByKey without having to create a repartition topic TraceIdentity traceIdentity = - TraceIdentity.newBuilder() + fastNewBuilder(TraceIdentity.Builder.class) .setTenantId(tenantId) .setTraceId(rawSpan.getTraceId()) .build(); diff --git a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToLogRecordsTransformer.java b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToLogRecordsTransformer.java index c7e57d7a3..f69899fad 100644 --- a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToLogRecordsTransformer.java +++ b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/jaeger/JaegerSpanToLogRecordsTransformer.java @@ -1,5 +1,6 @@ package org.hypertrace.core.spannormalizer.jaeger; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.spannormalizer.constants.SpanNormalizerConstants.SPAN_NORMALIZER_JOB_CONFIG; import com.google.common.annotations.VisibleForTesting; @@ -78,12 +79,12 @@ public KeyValue transform(byte[] key, PreProcessedSpan prePro LogEvents buildLogEventRecords(Span value, String tenantId) { ByteBuffer spanId = value.getSpanId().asReadOnlyByteBuffer(); ByteBuffer traceId = value.getTraceId().asReadOnlyByteBuffer(); - return LogEvents.newBuilder() + return fastNewBuilder(LogEvents.Builder.class) .setLogEvents( value.getLogsList().stream() .map( log -> - LogEvent.newBuilder() + fastNewBuilder(LogEvent.Builder.class) .setTenantId(tenantId) .setSpanId(spanId) .setTraceId(traceId) @@ -95,7 +96,7 @@ LogEvents buildLogEventRecords(Span value, String tenantId) { } private Attributes buildAttributes(List keyValues) { - return Attributes.newBuilder() + return fastNewBuilder(Attributes.Builder.class) .setAttributeMap( keyValues.stream() .collect( diff --git a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/util/JaegerHTTagsConverter.java b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/util/JaegerHTTagsConverter.java index 8252a1d78..1e390dbd2 100644 --- a/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/util/JaegerHTTagsConverter.java +++ b/span-normalizer/span-normalizer/src/main/java/org/hypertrace/core/spannormalizer/util/JaegerHTTagsConverter.java @@ -1,12 +1,14 @@ package org.hypertrace.core.spannormalizer.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.google.protobuf.ByteString; import io.jaegertracing.api_v2.JaegerSpanInternalModel; import org.hypertrace.core.datamodel.AttributeValue; public class JaegerHTTagsConverter { public static AttributeValue createFromJaegerKeyValue(JaegerSpanInternalModel.KeyValue keyValue) { - AttributeValue.Builder valueBuilder = AttributeValue.newBuilder(); + AttributeValue.Builder valueBuilder = fastNewBuilder(AttributeValue.Builder.class); switch (keyValue.getVType()) { case STRING: valueBuilder.setValue(keyValue.getVStr());