diff --git a/pom.xml b/pom.xml index 2e282e9..281ff9f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.glossgenius eppo-java-server-sdk - 2.1.0-0.1.1 + 2.1.0-0.2.0 ${project.groupId}:${project.artifactId} Eppo Server-Side SDK for Java diff --git a/src/main/java/com/eppo/sdk/EppoClient.java b/src/main/java/com/eppo/sdk/EppoClient.java index a78371a..1b5fa40 100644 --- a/src/main/java/com/eppo/sdk/EppoClient.java +++ b/src/main/java/com/eppo/sdk/EppoClient.java @@ -33,6 +33,7 @@ import java.util.Timer; import static com.eppo.sdk.dto.AssignmentLogData.OVERRIDE_ALLOCATION_KEY; +import static com.eppo.sdk.dto.AssignmentLogData.OVERRIDE_ASSIGNMENT_NAME; @Slf4j public class EppoClient { @@ -78,7 +79,14 @@ public Optional getAssignmentWithDetails( // Check if subject has override variations EppoValue subjectVariationOverride = this.getSubjectVariationOverride(subjectKey, configuration); if (!subjectVariationOverride.isNull()) { - AssignmentLogData data = getAssignmentLogData(subjectKey, flagKey, subjectAttributes, OVERRIDE_ALLOCATION_KEY, subjectVariationOverride); + AssignmentLogData data = getAssignmentLogData( + subjectKey, + flagKey, + subjectAttributes, + OVERRIDE_ALLOCATION_KEY, + OVERRIDE_ASSIGNMENT_NAME, + subjectVariationOverride + ); return Optional.of(data); } @@ -107,7 +115,16 @@ public Optional getAssignmentWithDetails( // Get assigned variation Variation assignedVariation = this.getAssignedVariation(subjectKey, flagKey, configuration.getSubjectShards(), allocation.getVariations()); - return Optional.of(getAssignmentLogData(subjectKey, flagKey, subjectAttributes, allocationKey, assignedVariation.getTypedValue())); + return Optional.of( + getAssignmentLogData( + subjectKey, + flagKey, + subjectAttributes, + allocationKey, + assignedVariation.getName(), + assignedVariation.getTypedValue() + ) + ); } /** @@ -146,12 +163,15 @@ private AssignmentLogData getAssignmentLogData( String flagKey, SubjectAttributes subjectAttributes, String allocationKey, - EppoValue assignmentValue) { + String assignmentName, + EppoValue assignmentValue + ) { String experimentKey = ExperimentHelper.generateKey(flagKey, allocationKey); return new AssignmentLogData( experimentKey, flagKey, allocationKey, + assignmentName, assignmentValue, subjectKey, subjectAttributes); diff --git a/src/main/java/com/eppo/sdk/dto/AssignmentLogData.java b/src/main/java/com/eppo/sdk/dto/AssignmentLogData.java index 4a9b962..c9c232a 100644 --- a/src/main/java/com/eppo/sdk/dto/AssignmentLogData.java +++ b/src/main/java/com/eppo/sdk/dto/AssignmentLogData.java @@ -8,10 +8,13 @@ public class AssignmentLogData { public static final String OVERRIDE_ALLOCATION_KEY = "override"; + public static final String OVERRIDE_ASSIGNMENT_NAME = "override_assignment"; + public String experiment; public String featureFlag; public String allocation; public String variation; + public String variationName; public EppoValue variationValue; public Date timestamp; public String subject; @@ -21,6 +24,7 @@ public AssignmentLogData( String experiment, String featureFlag, String allocation, + String variationName, EppoValue variationValue, String subject, SubjectAttributes subjectAttributes @@ -28,6 +32,7 @@ public AssignmentLogData( this.experiment = experiment; this.featureFlag = featureFlag; this.allocation = allocation; + this.variationName = variationName; this.variationValue = variationValue; this.variation = variationValue.stringValue(); this.timestamp = new Date(); diff --git a/src/main/java/com/eppo/sdk/dto/Variation.java b/src/main/java/com/eppo/sdk/dto/Variation.java index d9785a3..d46e97d 100644 --- a/src/main/java/com/eppo/sdk/dto/Variation.java +++ b/src/main/java/com/eppo/sdk/dto/Variation.java @@ -7,6 +7,7 @@ */ @Data public class Variation { + private String name; private EppoValue typedValue; private ShardRange shardRange; }