From edc7d90f2803767cefd8f1bb0322985f9c20031c Mon Sep 17 00:00:00 2001 From: Fabrizio Demaria Date: Tue, 18 Mar 2025 15:37:05 +0100 Subject: [PATCH] feat: Update Telemetry protos --- .../confidence/FeatureProviderTest.java | 4 ++-- pom.xml | 2 +- .../com/spotify/confidence/Telemetry.java | 6 ++--- .../TelemetryClientInterceptor.java | 2 +- .../v1/types/v1/types.proto} | 23 ++++++++++++------- .../confidence/ConfidenceIntegrationTest.java | 4 ++-- 6 files changed, 24 insertions(+), 17 deletions(-) rename sdk-java/src/main/proto/confidence/{telemetry.proto => telemetry/v1/types/v1/types.proto} (68%) diff --git a/openfeature-provider/src/test/java/com/spotify/confidence/FeatureProviderTest.java b/openfeature-provider/src/test/java/com/spotify/confidence/FeatureProviderTest.java index 3fb846df..bc034287 100644 --- a/openfeature-provider/src/test/java/com/spotify/confidence/FeatureProviderTest.java +++ b/openfeature-provider/src/test/java/com/spotify/confidence/FeatureProviderTest.java @@ -14,8 +14,8 @@ import com.spotify.confidence.shaded.flags.resolver.v1.ResolveFlagsResponse; import com.spotify.confidence.shaded.flags.resolver.v1.ResolvedFlag; import com.spotify.confidence.shaded.flags.types.v1.FlagSchema; -import com.spotify.telemetry.v1.LibraryTraces; -import com.spotify.telemetry.v1.Monitoring; +import com.spotify.telemetry.v1.Types.LibraryTraces; +import com.spotify.telemetry.v1.Types.Monitoring; import dev.openfeature.sdk.*; import io.grpc.ManagedChannel; import io.grpc.Server; diff --git a/pom.xml b/pom.xml index 989d8f84..c5c78a16 100644 --- a/pom.xml +++ b/pom.xml @@ -270,7 +270,7 @@ com.spotify.fmt fmt-maven-plugin - 2.20 + 2.25 validate diff --git a/sdk-java/src/main/java/com/spotify/confidence/Telemetry.java b/sdk-java/src/main/java/com/spotify/confidence/Telemetry.java index 4c835693..6040c3a7 100644 --- a/sdk-java/src/main/java/com/spotify/confidence/Telemetry.java +++ b/sdk-java/src/main/java/com/spotify/confidence/Telemetry.java @@ -1,9 +1,9 @@ package com.spotify.confidence; import com.google.common.annotations.VisibleForTesting; -import com.spotify.telemetry.v1.LibraryTraces; -import com.spotify.telemetry.v1.Monitoring; -import com.spotify.telemetry.v1.Platform; +import com.spotify.telemetry.v1.Types.LibraryTraces; +import com.spotify.telemetry.v1.Types.Monitoring; +import com.spotify.telemetry.v1.Types.Platform; import java.util.concurrent.ConcurrentLinkedQueue; public class Telemetry { diff --git a/sdk-java/src/main/java/com/spotify/confidence/TelemetryClientInterceptor.java b/sdk-java/src/main/java/com/spotify/confidence/TelemetryClientInterceptor.java index 9d00b965..539be727 100644 --- a/sdk-java/src/main/java/com/spotify/confidence/TelemetryClientInterceptor.java +++ b/sdk-java/src/main/java/com/spotify/confidence/TelemetryClientInterceptor.java @@ -1,6 +1,6 @@ package com.spotify.confidence; -import com.spotify.telemetry.v1.Monitoring; +import com.spotify.telemetry.v1.Types.Monitoring; import io.grpc.*; import java.util.Base64; import javax.annotation.Nullable; diff --git a/sdk-java/src/main/proto/confidence/telemetry.proto b/sdk-java/src/main/proto/confidence/telemetry/v1/types/v1/types.proto similarity index 68% rename from sdk-java/src/main/proto/confidence/telemetry.proto rename to sdk-java/src/main/proto/confidence/telemetry/v1/types/v1/types.proto index 61099b22..e1c67938 100644 --- a/sdk-java/src/main/proto/confidence/telemetry.proto +++ b/sdk-java/src/main/proto/confidence/telemetry/v1/types/v1/types.proto @@ -2,8 +2,17 @@ syntax = "proto3"; package confidence.telemetry.v1; option java_package = "com.spotify.telemetry.v1"; -option java_multiple_files = true; -option java_outer_classname = "TelemetryProto"; + +import "google/protobuf/descriptor.proto"; + +message MetricAnnotation { + string name = 1; + string unit = 2; +} + +extend google.protobuf.EnumValueOptions { + MetricAnnotation metric = 50641; +} enum Platform { PLATFORM_UNSPECIFIED = 0; @@ -37,17 +46,15 @@ message LibraryTraces { } enum Library { - LIBRARY_UNSPECIFIED = 0; + LIBRARY_UNKNOWN = 0; LIBRARY_CONFIDENCE = 1; LIBRARY_OPEN_FEATURE = 2; LIBRARY_REACT = 3; } enum TraceId { - TRACE_ID_UNSPECIFIED = 0; - TRACE_ID_RESOLVE_LATENCY = 1; - TRACE_ID_STALE_FLAG = 2; - TRACE_ID_FLAG_TYPE_MISMATCH = 3; - TRACE_ID_WITH_CONTEXT = 4; + TRACE_ID_UNKNOWN = 0; + TRACE_ID_RESOLVE_LATENCY = 1 [(metric) = {name: "resolve_latency", unit: "ms"}]; + TRACE_ID_STALE_FLAG = 2 [(metric) = {name: "stale_flag"}]; } } diff --git a/sdk-java/src/test/java/com/spotify/confidence/ConfidenceIntegrationTest.java b/sdk-java/src/test/java/com/spotify/confidence/ConfidenceIntegrationTest.java index 70e88674..5e978a07 100644 --- a/sdk-java/src/test/java/com/spotify/confidence/ConfidenceIntegrationTest.java +++ b/sdk-java/src/test/java/com/spotify/confidence/ConfidenceIntegrationTest.java @@ -16,8 +16,8 @@ import com.spotify.confidence.shaded.flags.resolver.v1.ResolvedFlag; import com.spotify.confidence.shaded.flags.types.v1.FlagSchema; import com.spotify.confidence.telemetry.FakeTelemetryClientInterceptor; -import com.spotify.telemetry.v1.LibraryTraces; -import com.spotify.telemetry.v1.Monitoring; +import com.spotify.telemetry.v1.Types.LibraryTraces; +import com.spotify.telemetry.v1.Types.Monitoring; import io.grpc.ManagedChannel; import io.grpc.Metadata; import io.grpc.Server;