TP-12345|experiment enable (#68)
This commit is contained in:
committed by
GitHub Enterprise
parent
2b7715a37c
commit
c0c3695317
@@ -149,4 +149,14 @@ public class ExperimentControllerV2 {
|
||||
log.info("refresh metric request result received for experiment: {}", experimentName);
|
||||
experimentMetricResultService.refreshMetricResult(experimentName);
|
||||
}
|
||||
|
||||
@PutMapping("/toggle/{experimentId}")
|
||||
@Timed(value = "experiment.enabled", percentiles = {0.95, 0.99})
|
||||
public void toggleExperiment(@PathVariable("experimentId") String experimentId,
|
||||
@RequestHeader(Constants.HEADER_EMAIL_ID) String emailId) {
|
||||
log.info("experiment state change request received. experiment_id: {}, email_id:{}",
|
||||
experimentId, emailId);
|
||||
experimentService.toggleExperiment(experimentId, emailId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,4 +59,6 @@ public interface ExperimentService {
|
||||
List<ExperimentAuditTrailDTO> getExperimentAuditTrail(String experimentId);
|
||||
|
||||
ExperimentDataDTO getExperimentStatsData(String experimentId);
|
||||
|
||||
void toggleExperiment(String experimentId, String emailId);
|
||||
}
|
||||
|
||||
@@ -583,6 +583,18 @@ public class ExperimentServiceImpl implements ExperimentService {
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void toggleExperiment(String experimentId, String emailId) {
|
||||
ExperimentEntity experiment = getExperimentEntityFromId(experimentId);
|
||||
boolean previousState = experiment.getEnabled();
|
||||
experiment.setEnabled(!previousState);
|
||||
|
||||
experimentQuery.save(experiment);
|
||||
|
||||
saveAuditTrail(experimentId, String.format("Experiment state changes. from: %s, to: %s", previousState, !previousState), emailId);
|
||||
}
|
||||
|
||||
private List<GraphDTO<Long>> getPopulationGraphForExperiment(ExperimentEntity experiment, int populationGraphDataDaysInterval, List<String> variantNames) {
|
||||
Optional<ExperimentMetricMappingEntity> primaryMetricMapping = experiment.getExperimentMetricMappings().stream()
|
||||
.filter(experimentMetricMapping -> ExperimentMetricType.PRIMARY.equals(experimentMetricMapping.getExperimentMetricType()))
|
||||
|
||||
Reference in New Issue
Block a user