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;
}