diff --git a/litmus-client/src/main/java/com/navi/medici/config/LitmusConfig.java b/litmus-client/src/main/java/com/navi/medici/config/LitmusConfig.java index ccd36e0..af3e219 100644 --- a/litmus-client/src/main/java/com/navi/medici/config/LitmusConfig.java +++ b/litmus-client/src/main/java/com/navi/medici/config/LitmusConfig.java @@ -53,6 +53,8 @@ public class LitmusConfig { private final String litmusClientVersion; + private final boolean enableClickStream; + private LitmusConfig( URI litmusAPI, String appName, @@ -70,7 +72,8 @@ public class LitmusConfig { String vertical, MeterRegistry meterRegistry, ExecutorService executorService, - String litmusClientVersion) { + String litmusClientVersion, + boolean enableClickStream) { if (appName == null) { throw new IllegalStateException("You are required to specify the litmus appName"); @@ -127,6 +130,7 @@ public class LitmusConfig { this.meterRegistry = meterRegistry; this.executorService = executorService; this.litmusClientVersion = LitmusProperties.getProperty("litmus.client.version"); + this.enableClickStream = enableClickStream; } public static Builder builder() { @@ -206,6 +210,10 @@ public class LitmusConfig { public String getLitmusClientVersion() { return litmusClientVersion; } + + public boolean isEnableClickStream() { + return enableClickStream; + } public static class Builder { private URI litmusAPI; @@ -228,6 +236,8 @@ public class LitmusConfig { private String litmusClientVersion; + private boolean enableClickStream; + private static String getHostname() { String hostName = System.getProperty("hostname"); if (hostName == null || hostName.length() == 0) { @@ -334,6 +344,10 @@ public class LitmusConfig { return this; } + public Builder enableClickStream(boolean enableClickStream) { + this.enableClickStream = enableClickStream; + return this; + } private String getBackupFile() { if (backupFile != null) { @@ -364,7 +378,8 @@ public class LitmusConfig { vertical, meterRegistry, executorService, - litmusClientVersion); + litmusClientVersion, + enableClickStream); } } } diff --git a/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java b/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java index 2de3a90..1cc8ea3 100644 --- a/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java +++ b/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java @@ -164,7 +164,9 @@ public class DefaultLitmus implements Litmus { .register(this.config.getMeterRegistry()) .increment(); - this.eventDispatcher.publish(context, litmusExperiment, enabled, null); + if (config.isEnableClickStream()) { + this.eventDispatcher.publish(context, litmusExperiment, enabled, null); + } log.info("experiment_name: {}, result: {}", experimentName, enabled); return enabled; @@ -221,7 +223,10 @@ public class DefaultLitmus implements Litmus { ? VariantUtil.selectVariant(litmusExperiment, context, defaultValue) : defaultValue; - this.eventDispatcher.publish(context, litmusExperiment, enabled, variant); + if (config.isEnableClickStream()) { + this.eventDispatcher.publish(context, litmusExperiment, enabled, variant); + } + log.info("experiment_name: {}, result: {}", experimentName, variant.toString()); counterMetrics(config, "litmus_client_experiment_variant") diff --git a/litmus-mock/src/main/java/com/navi/medici/container/MockContainer.java b/litmus-mock/src/main/java/com/navi/medici/container/MockContainer.java index 72f3a6c..c3b728f 100644 --- a/litmus-mock/src/main/java/com/navi/medici/container/MockContainer.java +++ b/litmus-mock/src/main/java/com/navi/medici/container/MockContainer.java @@ -18,7 +18,7 @@ public class MockContainer { .instanceId("test-instance") .litmusContextProvider(new CustomLitmusContextProvider()) .clickStreamAPI("https://dev-janus.np.navi-tech.in/events/json") - .vertical("PL") + .vertical("SA") .meterRegistry(meterRegistry) .synchronousFetchOnInitialisation(true) .build();