From 907e9ed802d4b4cfc2bcc1a935cf77aef9f80baf Mon Sep 17 00:00:00 2001 From: Laxman Ch Date: Mon, 25 Oct 2021 22:02:46 +0530 Subject: [PATCH 1/2] Make entity update async --- .../trace-reader/build.gradle.kts | 2 +- .../entities/DefaultTraceEntityAccessor.java | 30 ++++++++++--------- .../DefaultTraceEntityAccessorTest.java | 15 +++++++++- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/hypertrace-trace-enricher/trace-reader/build.gradle.kts b/hypertrace-trace-enricher/trace-reader/build.gradle.kts index d86649244..52016e07a 100644 --- a/hypertrace-trace-enricher/trace-reader/build.gradle.kts +++ b/hypertrace-trace-enricher/trace-reader/build.gradle.kts @@ -20,7 +20,7 @@ dependencies { compileOnly("org.projectlombok:lombok:1.18.20") testImplementation("org.junit.jupiter:junit-jupiter:5.7.1") - testImplementation("org.mockito:mockito-core:3.8.0") + testImplementation("org.mockito:mockito-inline:3.8.0") testImplementation("org.mockito:mockito-junit-jupiter:3.8.0") testRuntimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:2.14.1") diff --git a/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessor.java b/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessor.java index 39135c225..d869ca7c4 100644 --- a/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessor.java +++ b/hypertrace-trace-enricher/trace-reader/src/main/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessor.java @@ -4,6 +4,7 @@ import static java.util.function.Predicate.not; import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.time.Duration; import java.util.Map; import java.util.Map.Entry; @@ -61,20 +62,21 @@ public void writeAssociatedEntitiesForSpanEventually(StructuredTrace trace, Even } private void writeEntityIfExists(EntityType entityType, StructuredTrace trace, Event span) { - Entity entity = this.buildEntity(entityType, trace, span).blockingGet(); - if (entity == null) { - return; - } - UpsertCondition upsertCondition = - this.buildUpsertCondition(entityType, trace, span) - .defaultIfEmpty(UpsertCondition.getDefaultInstance()) - .blockingGet(); - - this.entityDataClient.createOrUpdateEntityEventually( - RequestContext.forTenantId(this.traceAttributeReader.getTenantId(span)), - entity, - upsertCondition, - this.writeThrottleDuration); + this.buildEntity(entityType, trace, span) + .subscribeOn(Schedulers.io()) + .subscribe( + entity -> { + UpsertCondition upsertCondition = + this.buildUpsertCondition(entityType, trace, span) + .defaultIfEmpty(UpsertCondition.getDefaultInstance()) + .blockingGet(); + + this.entityDataClient.createOrUpdateEntityEventually( + RequestContext.forTenantId(this.traceAttributeReader.getTenantId(span)), + entity, + upsertCondition, + this.writeThrottleDuration); + }); } private Maybe buildUpsertCondition( diff --git a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessorTest.java b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessorTest.java index 8c2200ea1..5e9a3e3cb 100644 --- a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessorTest.java +++ b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/DefaultTraceEntityAccessorTest.java @@ -15,7 +15,9 @@ import static org.mockito.Mockito.when; import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; import java.time.Duration; import java.util.Arrays; import java.util.Map; @@ -37,11 +39,14 @@ import org.hypertrace.entity.type.service.v2.EntityType; import org.hypertrace.entity.type.service.v2.EntityType.EntityFormationCondition; import org.hypertrace.trace.reader.attributes.TraceAttributeReader; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentMatcher; import org.mockito.Mock; +import org.mockito.MockedStatic; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) @@ -105,11 +110,13 @@ class DefaultTraceEntityAccessorTest { @Mock EntityDataClient mockDataClient; @Mock CachingAttributeClient mockAttributeClient; @Mock TraceAttributeReader mockAttributeReader; + MockedStatic mockSchedulers; private DefaultTraceEntityAccessor entityAccessor; @BeforeEach void beforeEach() { + Scheduler trampoline = Schedulers.trampoline(); this.entityAccessor = new DefaultTraceEntityAccessor( this.mockTypeClient, @@ -117,6 +124,13 @@ void beforeEach() { this.mockAttributeClient, this.mockAttributeReader, DEFAULT_DURATION); + mockSchedulers = Mockito.mockStatic(Schedulers.class); + mockSchedulers.when(Schedulers::io).thenReturn(trampoline); + } + + @AfterEach + void afterEach() { + mockSchedulers.close(); } @Test @@ -126,7 +140,6 @@ void canWriteAllEntities() { mockTenantId(); mockAttributeRead(TEST_ENTITY_ID_ATTRIBUTE, stringLiteral(TEST_ENTITY_ID_ATTRIBUTE_VALUE)); mockAttributeRead(TEST_ENTITY_NAME_ATTRIBUTE, stringLiteral(TEST_ENTITY_NAME_ATTRIBUTE_VALUE)); - this.entityAccessor.writeAssociatedEntitiesForSpanEventually(TEST_TRACE, TEST_SPAN); verify(mockDataClient, times(1)) From 18cba64695466e47ad9deae6c69d8fd75831bf87 Mon Sep 17 00:00:00 2001 From: Laxman Ch Date: Wed, 27 Oct 2021 17:38:06 +0530 Subject: [PATCH 2/2] avro builder reflection cache utility used --- hypertrace-ingester/build.gradle.kts | 2 +- .../enriched-span-constants/build.gradle.kts | 2 +- .../utils/EnrichedSpanUtilsTest.java | 35 +++++++---- .../build.gradle.kts | 2 +- .../trace/util/ApiTraceGraphDebug.java | 4 +- .../build.gradle.kts | 2 +- .../enrichment/AbstractTraceEnricher.java | 4 +- .../util/EnrichedEntityAvroConverter.java | 7 ++- .../util/EntityAvroConverter.java | 6 +- .../AbstractAttributeEnricherTest.java | 34 +++++------ .../DefaultServiceEntityEnricherTest.java | 6 +- .../ErrorsAndExceptionsEnricherTest.java | 6 +- .../SpanTypeAttributeEnricherTest.java | 6 +- .../enrichment/enrichers/TestUtils.java | 10 +++- .../CassandraBackendProviderTest.java | 13 ++-- .../ClientSpanEndpointProviderTest.java | 17 +++--- .../ElasticsearchBackendProviderTest.java | 13 ++-- .../provider/GrpcBackendProviderTest.java | 6 +- .../provider/HttpBackendProviderTest.java | 33 ++++++----- .../provider/JdbcBackendProviderTest.java | 33 ++++++----- .../provider/KafkaBackendProviderTest.java | 13 ++-- .../provider/MongoBackendProviderTest.java | 13 ++-- .../provider/RabbitMqBackendProviderTest.java | 13 ++-- .../provider/RedisBackendProviderTest.java | 9 +-- .../provider/SqsBackendProviderTest.java | 9 +-- .../endpoint/EndpointEnricherTest.java | 28 ++++++--- .../traceenricher/util/EnricherUtilTest.java | 3 +- .../util/EntityAvroConverterTest.java | 6 +- .../build.gradle.kts | 2 +- .../java/HypertraceTraceEnricherTest.java | 4 +- .../build.gradle.kts | 2 +- .../trace-reader/build.gradle.kts | 2 +- .../entities/AvroEntityConverter.java | 5 +- .../entities/AvroEntityConverterTest.java | 7 ++- .../trace/reader/attributes/AvroUtil.java | 4 +- .../build.gradle.kts | 2 +- .../generators/LogEventViewGeneratorTest.java | 8 ++- .../SpanEventViewGeneratorTest.java | 25 ++++---- .../raw-spans-grouper/build.gradle.kts | 4 +- semantic-convention-utils/build.gradle.kts | 2 +- .../utils/SemanticConventionTestUtil.java | 4 +- .../http/HttpSemanticConventionUtilsTest.java | 19 +++--- .../rpc/RpcSemanticConventionUtilsTest.java | 59 ++++++++++--------- .../span-normalizer/build.gradle.kts | 2 +- .../jaeger/JaegerResourceNormalizer.java | 4 +- .../jaeger/JaegerSpanNormalizer.java | 5 +- .../JaegerSpanToLogRecordsTransformer.java | 3 +- 47 files changed, 289 insertions(+), 209 deletions(-) diff --git a/hypertrace-ingester/build.gradle.kts b/hypertrace-ingester/build.gradle.kts index c587865b3..f1789b0ed 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.26") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.26") - 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/enriched-span-constants/src/test/java/org/hypertrace/traceenricher/enrichedspan/constants/utils/EnrichedSpanUtilsTest.java b/hypertrace-trace-enricher/enriched-span-constants/src/test/java/org/hypertrace/traceenricher/enrichedspan/constants/utils/EnrichedSpanUtilsTest.java index e3f08ec8b..7030ad2b7 100644 --- a/hypertrace-trace-enricher/enriched-span-constants/src/test/java/org/hypertrace/traceenricher/enrichedspan/constants/utils/EnrichedSpanUtilsTest.java +++ b/hypertrace-trace-enricher/enriched-span-constants/src/test/java/org/hypertrace/traceenricher/enrichedspan/constants/utils/EnrichedSpanUtilsTest.java @@ -1,6 +1,7 @@ package org.hypertrace.traceenricher.enrichedspan.constants.utils; import static java.util.Collections.emptyList; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.span.constants.v1.Grpc.GRPC_REQUEST_BODY; import static org.hypertrace.core.span.constants.v1.Grpc.GRPC_RESPONSE_BODY; import static org.hypertrace.core.span.constants.v1.Http.HTTP_METHOD; @@ -147,7 +148,7 @@ public void testGetStringAttributeIgnoreKeyCase() { when(e1.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of("K2", AttributeValue.newBuilder().setValue("v2").build())) .build()); // Should be case insensitive @@ -157,7 +158,7 @@ public void testGetStringAttributeIgnoreKeyCase() { when(e1.getEnrichedAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of("k3", AttributeValue.newBuilder().setValue("v3").build())) .build()); // Should be case insensitive @@ -185,7 +186,8 @@ public void should_getHttpMethod() { public void should_getNullMethod_noHttpFields() { Event e = mock(Event.class); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); Optional method = EnrichedSpanUtils.getHttpMethod(e); assertTrue(method.isEmpty()); @@ -204,7 +206,8 @@ public void should_getFullUrl() { public void should_getNullUrl_noHttpFields() { Event e = mock(Event.class); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); Optional url = EnrichedSpanUtils.getFullHttpUrl(e); assertTrue(url.isEmpty()); @@ -214,7 +217,8 @@ public void should_getNullUrl_noHttpFields() { public void getRequestSize_httpProtocol() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "HTTP"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); addAttribute(e, RawSpanConstants.getValue(HTTP_REQUEST_SIZE), "64"); Optional requestSize = EnrichedSpanUtils.getRequestSize(e); @@ -226,7 +230,8 @@ public void getRequestSize_httpProtocol() { public void getRequestSize_grpcProtocol() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "GRPC"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); addAttribute(e, RawSpanConstants.getValue(GRPC_REQUEST_BODY), "some grpc response body"); Optional requestSize = EnrichedSpanUtils.getRequestSize(e); @@ -246,7 +251,8 @@ public void getRequestSize_emptyProtocol() { public void getRequestSize_httpProtocol_noSize() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "HTTP"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); Optional requestSize = EnrichedSpanUtils.getRequestSize(e); assertTrue(requestSize.isEmpty()); @@ -256,7 +262,8 @@ public void getRequestSize_httpProtocol_noSize() { public void getResponseSize_httpProtocol() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "HTTP"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); addAttribute(e, RawSpanConstants.getValue(HTTP_RESPONSE_SIZE), "64"); Optional responseSize = EnrichedSpanUtils.getResponseSize(e); @@ -268,7 +275,8 @@ public void getResponseSize_httpProtocol() { public void getResponseSize_grpcProtocol() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "GRPC"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); addAttribute(e, RawSpanConstants.getValue(GRPC_RESPONSE_BODY), "some grpc request body"); Optional responseSize = EnrichedSpanUtils.getResponseSize(e); @@ -280,7 +288,8 @@ public void getResponseSize_grpcProtocol() { public void getResponseSize_httpProtocol_noSize() { Event e = createMockEventWithEnrichedAttribute("PROTOCOL", "HTTP"); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); Optional requestSize = EnrichedSpanUtils.getResponseSize(e); assertTrue(requestSize.isEmpty()); @@ -338,7 +347,7 @@ public void testGetSpaceIds_withData() { Event e = mock(Event.class); when(e.getEnrichedAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of("SPACE_IDS", AttributeValueCreator.create(spaceIds))) .build()); @@ -363,7 +372,7 @@ private Event createMockEventWithAttribute(String key, String value) { Event e = mock(Event.class); when(e.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of(key, AttributeValue.newBuilder().setValue(value).build())) .build()); when(e.getEnrichedAttributes()).thenReturn(null); @@ -375,7 +384,7 @@ private Event createMockEventWithEnrichedAttribute(String key, String value) { when(e.getAttributes()).thenReturn(null); when(e.getEnrichedAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of(key, AttributeValue.newBuilder().setValue(value).build())) .build()); return e; 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/test/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraphDebug.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/test/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraphDebug.java index 919ea88b2..ecd837a2e 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/test/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraphDebug.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-api/src/test/java/org/hypertrace/traceenricher/trace/util/ApiTraceGraphDebug.java @@ -1,5 +1,7 @@ package org.hypertrace.traceenricher.trace.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.io.File; import java.io.IOException; import java.net.URL; @@ -245,7 +247,7 @@ void debugApiTraceGraph() throws IOException { 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); } 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..f0ecc417d 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); } 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..533ab8095 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; @@ -22,7 +24,10 @@ public static Entity convertToAvroEntity(EnrichedEntity entity) { .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(); } 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..0255e31fe 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; @@ -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(); } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/AbstractAttributeEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/AbstractAttributeEnricherTest.java index 21d4cb854..9c7e1d4dd 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/AbstractAttributeEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/AbstractAttributeEnricherTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -63,9 +64,11 @@ protected Config getEntityServiceConfig() { Event createMockEvent() { Event e = mock(Event.class); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); when(e.getEnrichedAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); lenient() .when(e.getMetrics()) .thenReturn(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()); @@ -120,7 +123,8 @@ public StructuredTrace createStructuredTrace(String tenantId, Event... events) { StructuredTrace createMockStructuredTrace() { StructuredTrace trace = mock(StructuredTrace.class); when(trace.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); when(trace.getMetrics()).thenReturn(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()); return trace; @@ -141,7 +145,7 @@ public Attributes createNewAvroAttributes() { protected Attributes createNewAvroAttributes(Map attributes) { Map map = new HashMap<>(); attributes.forEach((k, v) -> map.put(k, createAvroAttribute(v))); - return Attributes.newBuilder().setAttributeMap(map).build(); + return fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build(); } protected Map createEdsAttributes( @@ -175,7 +179,7 @@ Event.Builder createOpenSourceSpan( .setEventId(ByteBuffer.wrap(eventId.getBytes())) .setEnrichedAttributes(createNewAvroAttributes(enrichedAttr)) .setServiceName(serviceName) - .setAttributes(Attributes.newBuilder().build()); + .setAttributes(fastNewBuilder(Attributes.Builder.class).build()); } protected StructuredTrace getBigTrace() { @@ -217,11 +221,9 @@ protected StructuredTrace getBigTrace() { Event.newBuilder() .setCustomerId(TENANT_ID) .setAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() - .setAttributeMap(entrySpanProxyMap) - .build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(entrySpanProxyMap).build()) .setEnrichedAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(enrichedEntrySpanProxyMap) .build()) .setEventId(createByteBuffer("event0")) @@ -257,9 +259,7 @@ protected StructuredTrace getBigTrace() { .setEventId(createByteBuffer("event1")) .setEventRefList(Collections.singletonList(eventRef0)) .setEnrichedAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() - .setAttributeMap(event1EnrichedMap) - .build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(event1EnrichedMap).build()) .build(); RawSpan rawSpan1 = RawSpan.newBuilder() @@ -291,9 +291,7 @@ protected StructuredTrace getBigTrace() { .setCustomerId(TENANT_ID) .setEventId(createByteBuffer("event2")) .setEnrichedAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() - .setAttributeMap(event2EnrichedMap) - .build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(event2EnrichedMap).build()) .setEventRefList(Collections.singletonList(eventRef1)) .build(); RawSpan rawSpan2 = @@ -351,11 +349,9 @@ protected StructuredTrace getBigTrace() { .setCustomerId(TENANT_ID) .setEventId(createByteBuffer("event4")) .setAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() - .setAttributeMap(exitSpanProxyMap) - .build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(exitSpanProxyMap).build()) .setEnrichedAttributes( - org.hypertrace.core.datamodel.Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(exitSpanProxyEnrichedMap) .build()) .setEventRefList(Collections.singletonList(eventRef2)) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/DefaultServiceEntityEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/DefaultServiceEntityEnricherTest.java index 42901dbb2..feaa23f87 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/DefaultServiceEntityEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/DefaultServiceEntityEnricherTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.Mockito.doReturn; @@ -450,8 +451,9 @@ private Event createEvent( .setCustomerId(tenantId) .setEventId(ByteBuffer.wrap(eventName.getBytes())) .setEnrichedAttributes( - Attributes.newBuilder().setAttributeMap(enrichedAttributesMap).build()) - .setAttributes(Attributes.newBuilder().setAttributeMap(attributeMap).build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(enrichedAttributesMap).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(attributeMap).build()) .setEventName(eventName) .setServiceName(serviceName) .setEventRefList(eventRefList) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricherTest.java index 9ce6f0754..f6c0d7dd9 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/ErrorsAndExceptionsEnricherTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -252,8 +253,9 @@ private Event createMockTestEvent() { .setCustomerId("customer1") .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) - .setEnrichedAttributes(Attributes.newBuilder().setAttributeMap(map).build()) - .setAttributes(Attributes.newBuilder().setAttributeMap(map).build()) + .setEnrichedAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build()) + .setAttributes(fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build()) .setEventName("test-event") .setStartTimeMillis(1566869077746L) .setEndTimeMillis(1566869077750L) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/SpanTypeAttributeEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/SpanTypeAttributeEnricherTest.java index 8c130a0ea..7391d510d 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/SpanTypeAttributeEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/SpanTypeAttributeEnricherTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.span.normalizer.constants.OTelSpanTag.OTEL_SPAN_TAG_RPC_SYSTEM; import static org.hypertrace.traceenricher.enrichment.enrichers.SpanTypeAttributeEnricher.CLIENT_KEY; import static org.hypertrace.traceenricher.enrichment.enrichers.SpanTypeAttributeEnricher.CLIENT_VALUE; @@ -253,9 +254,10 @@ private Event createEvent( return Event.newBuilder() .setCustomerId(TENANT_ID) .setEventId(ByteBuffer.wrap("event1".getBytes())) - .setAttributes(Attributes.newBuilder().setAttributeMap(attributeMap).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(attributeMap).build()) .setEnrichedAttributes( - Attributes.newBuilder().setAttributeMap(enrichedAttributeMap).build()) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(enrichedAttributeMap).build()) .build(); } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/TestUtils.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/TestUtils.java index acaa89984..60113b508 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/TestUtils.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/TestUtils.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertFalse; import com.google.common.collect.Lists; @@ -72,8 +73,10 @@ private static Event createEvent() { return Event.newBuilder() .setCustomerId(TEST_CUSTOMER_ID) .setEventId(ByteBuffer.wrap(UUID.randomUUID().toString().getBytes())) - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) - .setEnrichedAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) + .setEnrichedAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) .build(); } @@ -116,7 +119,8 @@ private static StructuredTrace createStructuredTraceWithEndTime( .setTraceId(ByteBuffer.wrap(UUID.randomUUID().toString().getBytes())) .setStartTimeMillis(endTimeMillis - 10000) .setEndTimeMillis(endTimeMillis) - .setAttributes(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()) .setEntityList(new ArrayList<>()) .setEntityEdgeList(new ArrayList<>()) .setEventEdgeList(new ArrayList<>()) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/CassandraBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/CassandraBackendProviderTest.java index 63d267eb9..829eb6b31 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/CassandraBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/CassandraBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -99,12 +100,12 @@ private Event getCassandraEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "db.connection_string", @@ -163,12 +164,12 @@ private Event getCassandraOTEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "peer.hostname", @@ -221,12 +222,12 @@ private Event getCassandraOTelEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "net.peer.name", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ClientSpanEndpointProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ClientSpanEndpointProviderTest.java index fbb9e7315..83b77a4bb 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ClientSpanEndpointProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ClientSpanEndpointProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -57,12 +58,12 @@ public void checkFallbackBackendEntityGeneratedFromClientExitSpan() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "span.kind", @@ -102,12 +103,12 @@ public void checkFallbackBackendEntityGeneratedFromClientExitSpan() { .setCustomerId("__default") .setEventId(ByteBuffer.wrap("random".getBytes())) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("span.kind", AttributeValue.newBuilder().setValue("server").build())) .build()) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( SERVICE_NAME_ATTR, @@ -138,12 +139,12 @@ public void checkFallbackBackendEntityGeneratedFromClientExitSpan() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "span.kind", @@ -183,12 +184,12 @@ public void checkFallbackBackendEntityGeneratedFromClientExitSpan() { .setCustomerId("__default") .setEventId(ByteBuffer.wrap("random".getBytes())) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("span.kind", AttributeValue.newBuilder().setValue("server").build())) .build()) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( SERVICE_NAME_ATTR, diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ElasticsearchBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ElasticsearchBackendProviderTest.java index 9626816ca..93e007d87 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ElasticsearchBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/ElasticsearchBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -104,12 +105,12 @@ private Event getElasticsearchEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "elasticsearch.url", @@ -164,12 +165,12 @@ private Event getElasticsearchOTEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "peer.service", @@ -224,12 +225,12 @@ private Event getElasticsearchOTelEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "net.peer.port", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/GrpcBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/GrpcBackendProviderTest.java index f52ccf257..5a32af3c9 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/GrpcBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/GrpcBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -86,7 +87,7 @@ public void checkBackendEntityGeneratedFromGrpcEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -96,7 +97,8 @@ public void checkBackendEntityGeneratedFromGrpcEvent() { "PROTOCOL", AttributeValue.newBuilder().setValue("GRPC").build())) .build()) - .setAttributes(Attributes.newBuilder().setAttributeMap(attributeMap).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(attributeMap).build()) .setEventName("Sent.hipstershop.ProductCatalogService.ListProducts") .setStartTimeMillis(1566869077746L) .setEndTimeMillis(1566869077750L) diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/HttpBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/HttpBackendProviderTest.java index fbc9c8e38..dbed5f884 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/HttpBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/HttpBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.span.constants.v1.Http.HTTP_HOST; import static org.hypertrace.core.span.constants.v1.Http.HTTP_PATH; import static org.hypertrace.core.span.constants.v1.Http.HTTP_REQUEST_QUERY_STRING; @@ -61,7 +62,7 @@ public void checkBackendEntityGeneratedFromHttpEventType1() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -70,7 +71,7 @@ public void checkBackendEntityGeneratedFromHttpEventType1() { AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.status_code", @@ -186,7 +187,7 @@ public void checkBackendEntityGeneratedFromHttpEventType2() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -195,7 +196,7 @@ public void checkBackendEntityGeneratedFromHttpEventType2() { AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.response.header.x-envoy-upstream-service-time", @@ -306,7 +307,7 @@ public void checkBackendEntityGeneratedFromHttpEventType3() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -315,7 +316,7 @@ public void checkBackendEntityGeneratedFromHttpEventType3() { AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_URL), @@ -409,7 +410,7 @@ public void checkBackendEntityGeneratedFromHttpEventType4() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -418,7 +419,7 @@ public void checkBackendEntityGeneratedFromHttpEventType4() { AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_URL), @@ -512,7 +513,7 @@ public void checkBackendEntityGeneratedFromHttpsEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c707f".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8865")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -521,7 +522,7 @@ public void checkBackendEntityGeneratedFromHttpsEvent() { AttributeValue.newBuilder().setValue("HTTPS").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.status_code", @@ -624,7 +625,7 @@ public void checkBackendEntityGeneratedFromHttpsEvent2() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c707f".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8865")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -633,7 +634,7 @@ public void checkBackendEntityGeneratedFromHttpsEvent2() { AttributeValue.newBuilder().setValue("HTTPS").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.status_code", @@ -736,7 +737,7 @@ public void checkBackendEntityGeneratedFromHttpEventUrlWithIllegalQueryCharacter .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -745,7 +746,7 @@ public void checkBackendEntityGeneratedFromHttpEventUrlWithIllegalQueryCharacter AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_HOST), @@ -856,7 +857,7 @@ public void checkBackendEntityGeneratedFromHttpEventUrlWithIllegalCharacterAndHt .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "SPAN_TYPE", @@ -865,7 +866,7 @@ public void checkBackendEntityGeneratedFromHttpEventUrlWithIllegalCharacterAndHt AttributeValue.newBuilder().setValue("HTTP").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.status_code", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/JdbcBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/JdbcBackendProviderTest.java index 83adc95e3..be1ac3847 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/JdbcBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/JdbcBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.traceenricher.TestUtil.buildAttributeValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -62,12 +63,12 @@ public void testWebgoatUrl() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -177,12 +178,12 @@ public void testBackendOperationWithSqlQuery() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -219,12 +220,12 @@ public void testBackendOperationWithDbStatement() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -261,12 +262,12 @@ public void testBackendDestinationWithTableName() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -304,12 +305,12 @@ public void testBackendDestinationWithoutTableName() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -345,12 +346,12 @@ public void testWithOtelFormatUrl() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelSpanSemanticConventions.NET_PEER_NAME.getValue(), @@ -448,12 +449,12 @@ public void checkBackendEntityGeneratedFromJdbcEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", @@ -556,12 +557,12 @@ public void testGetBackendEntity() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "sql.url", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/KafkaBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/KafkaBackendProviderTest.java index 0f4735f5c..e2c502218 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/KafkaBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/KafkaBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -97,12 +98,12 @@ private Event getOtelKafkaBackendEvent(String broker) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "messaging.system", @@ -143,12 +144,12 @@ private Event getOTKafkaBackendEvent(String host, String port) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "peer.service", AttributeValue.newBuilder().setValue("kafka").build(), @@ -184,12 +185,12 @@ private Event getOtelKafkaBackendEventForDestination(String broker) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "messaging.system", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/MongoBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/MongoBackendProviderTest.java index 67613e892..2743d6863 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/MongoBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/MongoBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.traceenricher.TestUtil.buildAttributeValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -59,12 +60,12 @@ public void checkBackendEntityGeneratedFromUninstrumentedMongoEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "NAMESPACE", @@ -155,12 +156,12 @@ public void checkBackendEntityGeneratedFromInstrumentedMongoEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "mongo.namespace", @@ -265,12 +266,12 @@ public void checkBackendEntityGeneratedFromInstrumentedMongoEventOtelFormat() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelDbSemanticConventions.DB_SYSTEM.getValue(), diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RabbitMqBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RabbitMqBackendProviderTest.java index 868ace85b..fd4f19e47 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RabbitMqBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RabbitMqBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -107,12 +108,12 @@ private Event getRabbitMqEvent(String routingKey) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "rabbitmq.routing_key", @@ -165,12 +166,12 @@ private Event getRabbitMqEventMissingOperation(String routingKey) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "rabbitmq.routing_key", @@ -223,12 +224,12 @@ private Event getRabbitMqDestinationWithRoutingKey(String routingKey) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "rabbitmq.routing_key", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RedisBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RedisBackendProviderTest.java index 732b218ad..f07210db2 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RedisBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/RedisBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.traceenricher.TestUtil.buildAttributeValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -56,12 +57,12 @@ public void checkBackendEntityGeneratedFromRedisEvent() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "redis.connection", @@ -159,12 +160,12 @@ public void checkBackendEntityGeneratedFromRedisEventOtelFormat() { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f8".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelDbSemanticConventions.DB_SYSTEM.getValue(), diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/SqsBackendProviderTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/SqsBackendProviderTest.java index bc2b88057..35f6e57f9 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/SqsBackendProviderTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/backend/provider/SqsBackendProviderTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.backend.provider; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; @@ -91,12 +92,12 @@ private Event getOtelSqsBackendEvent(String connectionString) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "messaging.system", @@ -139,12 +140,12 @@ private Event getOTSqsBackendEvent(String host) { .setEventId(ByteBuffer.wrap("bdf03dfabf5c70f9".getBytes())) .setEntityIdList(Arrays.asList("4bfca8f7-4974-36a4-9385-dd76bf5c8824")) .setEnrichedAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("SPAN_TYPE", AttributeValue.newBuilder().setValue("EXIT").build())) .build()) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "peer.service", AttributeValue.newBuilder().setValue("sqs").build(), diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/endpoint/EndpointEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/endpoint/EndpointEnricherTest.java index 3e9e6d2bc..6cff69e2b 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/endpoint/EndpointEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/enrichment/enrichers/endpoint/EndpointEnricherTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.enrichment.enrichers.endpoint; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.Mockito.mock; @@ -141,9 +142,11 @@ private Event createMockApiBoundaryEntryEvent() { private Event createMockEvent() { Event e = mock(Event.class); when(e.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); when(e.getEnrichedAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(new HashMap<>()).build()); + .thenReturn( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>()).build()); return e; } @@ -183,9 +186,12 @@ protected StructuredTrace getBigTrace() { Event event0 = Event.newBuilder() .setCustomerId(TENANT_ID) - .setAttributes(Attributes.newBuilder().setAttributeMap(entrySpan0Map).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(entrySpan0Map).build()) .setEnrichedAttributes( - Attributes.newBuilder().setAttributeMap(enrichedEntrySpan0Map).build()) + fastNewBuilder(Attributes.Builder.class) + .setAttributeMap(enrichedEntrySpan0Map) + .build()) .setEventId(createByteBuffer("event0")) .setEventName(API_PATTERN_VAL) .build(); @@ -209,9 +215,12 @@ protected StructuredTrace getBigTrace() { Event.newBuilder() .setCustomerId(TENANT_ID) .setEventId(createByteBuffer("event1")) - .setAttributes(Attributes.newBuilder().setAttributeMap(exitSpanMap).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(exitSpanMap).build()) .setEnrichedAttributes( - Attributes.newBuilder().setAttributeMap(enrichedExitSpanMap).build()) + fastNewBuilder(Attributes.Builder.class) + .setAttributeMap(enrichedExitSpanMap) + .build()) .setEventRefList(Collections.singletonList(eventRef0)) .build(); RawSpan rawSpan1 = @@ -239,9 +248,12 @@ protected StructuredTrace getBigTrace() { Event event2 = Event.newBuilder() .setCustomerId(TENANT_ID) - .setAttributes(Attributes.newBuilder().setAttributeMap(entrySpan2Map).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(entrySpan2Map).build()) .setEnrichedAttributes( - Attributes.newBuilder().setAttributeMap(enrichedEntrySpan2Map).build()) + fastNewBuilder(Attributes.Builder.class) + .setAttributeMap(enrichedEntrySpan2Map) + .build()) .setEventId(createByteBuffer("event2")) .setEventRefList(Collections.singletonList(eventRef1)) .build(); diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EnricherUtilTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EnricherUtilTest.java index 701982a3e..db1010ded 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EnricherUtilTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EnricherUtilTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; @@ -37,7 +38,7 @@ public void testGrpcEventNames() { public void testSetAttributeForFirstExistingKey() { Event e = mock(Event.class); Attributes attributes = - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "a", diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EntityAvroConverterTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EntityAvroConverterTest.java index 44047c267..a1f111387 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EntityAvroConverterTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher-impl/src/test/java/org/hypertrace/traceenricher/util/EntityAvroConverterTest.java @@ -1,5 +1,6 @@ package org.hypertrace.traceenricher.util; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import com.google.protobuf.ByteString; @@ -130,7 +131,7 @@ public void testConvertToAvroEntity() { .setEntityType("entity-type") .setCustomerId("entity-tenant-id") .setAttributesBuilder( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "attr1", AttributeValue.newBuilder().setValue("v1").build(), @@ -198,7 +199,8 @@ public void testListOfListsNotConverted() { .setEntityName("entity-name") .setEntityType("entity-type") .setCustomerId("entity-tenant-id") - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(Map.of())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(Map.of())) .build(), avroEntity1); } diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts b/hypertrace-trace-enricher/hypertrace-trace-enricher/build.gradle.kts index 3585a30f1..7138a5f8c 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.26") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.26") implementation("org.hypertrace.entity.service:entity-service-client:0.8.5") diff --git a/hypertrace-trace-enricher/hypertrace-trace-enricher/src/test/java/HypertraceTraceEnricherTest.java b/hypertrace-trace-enricher/hypertrace-trace-enricher/src/test/java/HypertraceTraceEnricherTest.java index 541671ea8..067b37241 100644 --- a/hypertrace-trace-enricher/hypertrace-trace-enricher/src/test/java/HypertraceTraceEnricherTest.java +++ b/hypertrace-trace-enricher/hypertrace-trace-enricher/src/test/java/HypertraceTraceEnricherTest.java @@ -1,3 +1,5 @@ +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import java.nio.ByteBuffer; @@ -100,7 +102,7 @@ private org.hypertrace.core.datamodel.StructuredTrace createHTStructuredTrace( .setTraceId(ByteBuffer.wrap(traceId.getBytes())) .setStartTimeMillis(System.currentTimeMillis() - 10000) .setEndTimeMillis(System.currentTimeMillis()) - .setAttributes(Attributes.newBuilder().build()) + .setAttributes(fastNewBuilder(Attributes.Builder.class).build()) .setEntityList(new ArrayList<>()) .setEntityEdgeList(new ArrayList<>()) .setEventEdgeList(new ArrayList<>()) 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..234c1fbb4 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; @@ -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( diff --git a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/AvroEntityConverterTest.java b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/AvroEntityConverterTest.java index 58b81d43b..53c69a755 100644 --- a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/AvroEntityConverterTest.java +++ b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/accessor/entities/AvroEntityConverterTest.java @@ -1,5 +1,6 @@ package org.hypertrace.trace.accessor.entities; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.trace.accessor.entities.AttributeValueUtil.booleanAttributeValue; import static org.hypertrace.trace.accessor.entities.AttributeValueUtil.booleanListAttributeValue; import static org.hypertrace.trace.accessor.entities.AttributeValueUtil.doubleAttributeValue; @@ -51,7 +52,7 @@ void convertsPrimitives() { Entity expectedAvroEntity = Entity.newBuilder(BASIC_AVRO_ENTITY) .setAttributesBuilder( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "string", @@ -80,7 +81,7 @@ void convertsAttributeLists() { Entity expectedAvroEntity = Entity.newBuilder(BASIC_AVRO_ENTITY) .setAttributesBuilder( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "string-list", @@ -106,7 +107,7 @@ void convertsAttributeMaps() { Entity expectedAvroEntity = Entity.newBuilder(BASIC_AVRO_ENTITY) .setAttributesBuilder( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("map", buildAttributeValueMap(Map.of("map-key-1", "map-value-1"))))) .build(); diff --git a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/reader/attributes/AvroUtil.java b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/reader/attributes/AvroUtil.java index 86419445f..75c03b9ce 100644 --- a/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/reader/attributes/AvroUtil.java +++ b/hypertrace-trace-enricher/trace-reader/src/test/java/org/hypertrace/trace/reader/attributes/AvroUtil.java @@ -1,5 +1,7 @@ package org.hypertrace.trace.reader.attributes; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.nio.ByteBuffer; import java.util.Collections; import java.util.List; @@ -46,7 +48,7 @@ public static Attributes buildAttributesWithKeyValues(Map valueM .map(entry -> Map.entry(entry.getKey(), buildAttributeValue(entry.getValue()))) .collect(Collectors.toMap(Entry::getKey, Entry::getValue)); - return Attributes.newBuilder().setAttributeMap(convertedValueMap).build(); + return fastNewBuilder(Attributes.Builder.class).setAttributeMap(convertedValueMap).build(); } public static AttributeValue buildAttributeValue(String value) { 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/test/java/org/hypertrace/viewgenerator/generators/LogEventViewGeneratorTest.java b/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/LogEventViewGeneratorTest.java index 93d339aa8..e47743f4f 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/LogEventViewGeneratorTest.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/LogEventViewGeneratorTest.java @@ -1,5 +1,6 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.junit.jupiter.api.Assertions.assertEquals; import com.fasterxml.jackson.core.JsonProcessingException; @@ -68,7 +69,7 @@ void testProcess_allFieldsPresent() { .setSpanId(ByteBuffer.wrap("span".getBytes())) .setTraceId(ByteBuffer.wrap("trace".getBytes())) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of("some-attribute", AttributeValueCreator.create(10))) .build()) @@ -95,7 +96,7 @@ void testProcess_attributeMap() throws JsonProcessingException { .setSpanId(ByteBuffer.wrap("span".getBytes())) .setTraceId(ByteBuffer.wrap("trace".getBytes())) .setAttributes( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "k1", AttributeValueCreator.create(10), @@ -141,7 +142,8 @@ private LogEvents getLogEventsWithAttribute(Map attributes) { .setTimestampNanos(System.nanoTime()) .setSpanId(ByteBuffer.wrap("span".getBytes())) .setTraceId(ByteBuffer.wrap("trace".getBytes())) - .setAttributes(Attributes.newBuilder().setAttributeMap(map).build()) + .setAttributes( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build()) .build())) .build(); } diff --git a/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/SpanEventViewGeneratorTest.java b/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/SpanEventViewGeneratorTest.java index 375239214..238d9b108 100644 --- a/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/SpanEventViewGeneratorTest.java +++ b/hypertrace-view-generator/hypertrace-view-generator/src/test/java/org/hypertrace/viewgenerator/generators/SpanEventViewGeneratorTest.java @@ -1,5 +1,6 @@ package org.hypertrace.viewgenerator.generators; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.span.constants.v1.Http.HTTP_PATH; import static org.hypertrace.core.span.constants.v1.Http.HTTP_URL; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -100,7 +101,7 @@ public void testGetRequestUrl() { Event e = mock(Event.class); when(e.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "http.server_name", @@ -182,9 +183,10 @@ public void testExitCallsInfo() { .setStartTimeMillis(System.currentTimeMillis()) .setEndTimeMillis(System.currentTimeMillis()) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) .setEnrichedAttributesBuilder( - Attributes.newBuilder().setAttributeMap(Maps.newHashMap())) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(Maps.newHashMap())) .build())) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) .setEntityEdgeList(new ArrayList<>()) @@ -223,9 +225,10 @@ public void testExitCallsInfo() { .setStartTimeMillis(System.currentTimeMillis()) .setEndTimeMillis(System.currentTimeMillis()) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) .setEnrichedAttributesBuilder( - Attributes.newBuilder().setAttributeMap(spanAttributes)) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(spanAttributes)) .build())) .build(); @@ -260,9 +263,10 @@ public void testApiTraceErrorSpanCount() { .setStartTimeMillis(System.currentTimeMillis()) .setEndTimeMillis(System.currentTimeMillis()) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) .setEnrichedAttributesBuilder( - Attributes.newBuilder().setAttributeMap(Maps.newHashMap())) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(Maps.newHashMap())) .build())) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) .setEntityEdgeList(new ArrayList<>()) @@ -292,9 +296,10 @@ public void testApiTraceErrorSpanCount() { .setStartTimeMillis(System.currentTimeMillis()) .setEndTimeMillis(System.currentTimeMillis()) .setMetrics(Metrics.newBuilder().setMetricMap(new HashMap<>()).build()) - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(new HashMap<>())) + .setAttributesBuilder( + fastNewBuilder(Attributes.Builder.class).setAttributeMap(new HashMap<>())) .setEnrichedAttributesBuilder( - Attributes.newBuilder().setAttributeMap(spanAttributes)) + fastNewBuilder(Attributes.Builder.class).setAttributeMap(spanAttributes)) .build())) .build(); @@ -308,7 +313,7 @@ private Event createMockEventWithAttribute(String key, String value) { Event e = mock(Event.class); when(e.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of(key, AttributeValue.newBuilder().setValue(value).build())) .build()); when(e.getEnrichedAttributes()).thenReturn(null); diff --git a/raw-spans-grouper/raw-spans-grouper/build.gradle.kts b/raw-spans-grouper/raw-spans-grouper/build.gradle.kts index 6332c209f..502f9eb92 100644 --- a/raw-spans-grouper/raw-spans-grouper/build.gradle.kts +++ b/raw-spans-grouper/raw-spans-grouper/build.gradle.kts @@ -38,14 +38,14 @@ 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.26") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.26") implementation("org.hypertrace.core.kafkastreams.framework:kafka-streams-framework:0.1.21") implementation("com.typesafe:config:1.4.1") implementation("de.javakaffee:kryo-serializers:0.45") - implementation("io.confluent:kafka-avro-serializer:5.5.0") + implementation("io.confluent:kafka-avro-serializer:6.0.1") implementation("com.google.guava:guava:30.1.1-jre") // Logging 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/test/java/org/hypertrace/semantic/convention/utils/SemanticConventionTestUtil.java b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/SemanticConventionTestUtil.java index 035ee9da0..2d193c50f 100644 --- a/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/SemanticConventionTestUtil.java +++ b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/SemanticConventionTestUtil.java @@ -1,5 +1,7 @@ package org.hypertrace.semantic.convention.utils; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; + import java.util.Map; import org.hypertrace.core.datamodel.AttributeValue; import org.hypertrace.core.datamodel.Attributes; @@ -11,6 +13,6 @@ public static AttributeValue buildAttributeValue(String value) { } public static Attributes buildAttributes(Map map) { - return Attributes.newBuilder().setAttributeMap(map).build(); + return fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build(); } } diff --git a/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/http/HttpSemanticConventionUtilsTest.java b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/http/HttpSemanticConventionUtilsTest.java index 0e8961444..3702a780b 100644 --- a/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/http/HttpSemanticConventionUtilsTest.java +++ b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/http/HttpSemanticConventionUtilsTest.java @@ -1,5 +1,6 @@ package org.hypertrace.semantic.convention.utils.http; +import static org.hypertrace.core.datamodel.shared.AvroBuilderCache.fastNewBuilder; import static org.hypertrace.core.semantic.convention.constants.http.OTelHttpSemanticConventions.HTTP_HOST; import static org.hypertrace.core.semantic.convention.constants.http.OTelHttpSemanticConventions.HTTP_NET_HOST_NAME; import static org.hypertrace.core.semantic.convention.constants.http.OTelHttpSemanticConventions.HTTP_NET_HOST_PORT; @@ -63,7 +64,7 @@ private Event createMockEventWithAttribute(String key, String value) { Event e = mock(Event.class); when(e.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of(key, AttributeValue.newBuilder().setValue(value).build())) .build()); when(e.getEnrichedAttributes()).thenReturn(null); @@ -189,7 +190,7 @@ public void testGetHttpUserAgent() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_USER_DOT_AGENT), @@ -247,7 +248,7 @@ public void testGetHttpPath() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_REQUEST_PATH), @@ -275,7 +276,7 @@ public void testGetHttpMethod() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_REQUEST_METHOD), @@ -315,7 +316,7 @@ public void testGetHttpUrl() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(OT_SPAN_TAG_HTTP_URL), @@ -383,7 +384,7 @@ public void testGetHttpRequestSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(ENVOY_REQUEST_SIZE), @@ -411,7 +412,7 @@ public void testGetHttpRequestSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_HTTP_REQUEST_BODY), @@ -431,7 +432,7 @@ public void testGetHttpResponseSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(ENVOY_RESPONSE_SIZE), @@ -460,7 +461,7 @@ public void testGetHttpResponseSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(HTTP_HTTP_RESPONSE_BODY), diff --git a/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtilsTest.java b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtilsTest.java index 014574d30..04edf133d 100644 --- a/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtilsTest.java +++ b/semantic-convention-utils/src/test/java/org/hypertrace/semantic/convention/utils/rpc/RpcSemanticConventionUtilsTest.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_CENSUS_STATUS_CODE; import static org.hypertrace.core.span.constants.v1.CensusResponse.CENSUS_RESPONSE_STATUS_CODE; import static org.hypertrace.core.span.constants.v1.CensusResponse.CENSUS_RESPONSE_STATUS_MESSAGE; @@ -53,7 +54,7 @@ private Event createMockEventWithAttribute(String key, String value) { Event e = mock(Event.class); when(e.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap(Map.of(key, AttributeValue.newBuilder().setValue(value).build())) .build()); when(e.getEnrichedAttributes()).thenReturn(null); @@ -136,7 +137,7 @@ public void testGetGrpcStatusCode() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RawSpanConstants.getValue(Grpc.GRPC_STATUS_CODE), @@ -154,7 +155,7 @@ public void testGetGrpcXForwardedFor() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTEL_SPAN_TAG_RPC_SYSTEM.getValue(), @@ -192,7 +193,7 @@ public void testGetGrpcRequestMetadataPath() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "rpc.system", @@ -215,7 +216,7 @@ public void testGetGrpcErrorMsg() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( "rpc.system", @@ -232,7 +233,7 @@ public void testGetGrpcErrorMsgPriority() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelRpcSemanticConventions.RPC_SYSTEM.getValue(), @@ -249,7 +250,7 @@ public void testGetGrpcErrorMsgPriority() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelRpcSemanticConventions.RPC_SYSTEM.getValue(), @@ -264,7 +265,7 @@ public void testGetGrpcErrorMsgPriority() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( OTelRpcSemanticConventions.RPC_SYSTEM.getValue(), @@ -280,7 +281,7 @@ public void testGetGrpcUserAgent() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_REQUEST_METADATA_USER_AGENT.getValue(), @@ -296,7 +297,7 @@ public void testGetGrpcUserAgent() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_REQUEST_METADATA_USER_AGENT.getValue(), @@ -312,7 +313,7 @@ public void testGetGrpcAuthrity() { Event event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_REQUEST_METADATA_AUTHORITY.getValue(), @@ -328,7 +329,7 @@ public void testGetGrpcAuthrity() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_REQUEST_METADATA_AUTHORITY.getValue(), @@ -352,7 +353,7 @@ public void testGetGrpcRequestSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_REQUEST_BODY.getValue(), @@ -387,7 +388,7 @@ public void testGetGrpcRequestSizePriority() { Event event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(1), RpcSemanticConventionUtils.getGrpcRequestSize(event)); tagsMap = @@ -408,7 +409,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(2), RpcSemanticConventionUtils.getGrpcRequestSize(event)); tagsMap = @@ -426,7 +427,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(22), RpcSemanticConventionUtils.getGrpcRequestSize(event)); tagsMap = @@ -441,7 +442,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(21), RpcSemanticConventionUtils.getGrpcRequestSize(event)); tagsMap = @@ -455,7 +456,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcRequestSize(event)); // test truncated grpc request body @@ -473,7 +474,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcRequestSize(event)); // test truncated rpc request body @@ -492,7 +493,7 @@ public void testGetGrpcRequestSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcRequestSize(event)); } @@ -509,7 +510,7 @@ public void testGetGrpcResponseSize() { event = mock(Event.class); when(event.getAttributes()) .thenReturn( - Attributes.newBuilder() + fastNewBuilder(Attributes.Builder.class) .setAttributeMap( Map.of( RPC_RESPONSE_BODY.getValue(), @@ -544,7 +545,7 @@ public void testGetGrpcResponseSizePriority() { Event event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(1), RpcSemanticConventionUtils.getGrpcResponseSize(event)); tagsMap = @@ -565,7 +566,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(2), RpcSemanticConventionUtils.getGrpcResponseSize(event)); tagsMap = @@ -583,7 +584,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(23), RpcSemanticConventionUtils.getGrpcResponseSize(event)); tagsMap = @@ -598,7 +599,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.of(22), RpcSemanticConventionUtils.getGrpcResponseSize(event)); tagsMap = @@ -612,7 +613,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcResponseSize(event)); // test truncated grpc response body @@ -630,7 +631,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcResponseSize(event)); // test truncated rpc response body @@ -649,7 +650,7 @@ public void testGetGrpcResponseSizePriority() { event = mock(Event.class); when(event.getAttributes()) - .thenReturn(Attributes.newBuilder().setAttributeMap(tagsMap).build()); + .thenReturn(fastNewBuilder(Attributes.Builder.class).setAttributeMap(tagsMap).build()); assertEquals(Optional.empty(), RpcSemanticConventionUtils.getGrpcResponseSize(event)); } @@ -884,6 +885,6 @@ private static Attributes buildAttributes(Map attributes) { Collectors.collectingAndThen( Collectors.toMap( Entry::getKey, entry -> AttributeValueCreator.create(entry.getValue())), - map -> Attributes.newBuilder().setAttributeMap(map).build())); + map -> fastNewBuilder(Attributes.Builder.class).setAttributeMap(map).build())); } } diff --git a/span-normalizer/span-normalizer/build.gradle.kts b/span-normalizer/span-normalizer/build.gradle.kts index 0f02e9fd3..b70d00648 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.26") implementation("org.hypertrace.core.serviceframework:platform-metrics:0.1.26") 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..ecaee01b9 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; @@ -41,7 +42,8 @@ private Optional buildResource(Map resourceVal } return Optional.of( Resource.newBuilder() - .setAttributesBuilder(Attributes.newBuilder().setAttributeMap(resourceValueMap)) + .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..b7e94ad5a 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; @@ -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. 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..1229a505e 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; @@ -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(