package com.example.puree.logs.filters; import com.google.gson.JsonObject; import com.cookpad.puree.PureeFilter; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; @ParametersAreNonnullByDefault public class SamplingFilter implements PureeFilter { private final float samplingRate; public SamplingFilter(float samplingRate) { this.samplingRate = samplingRate; } @Nullable @Override public JsonObject apply(JsonObject jsonLog) { return (samplingRate < Math.random() ? null : jsonLog); } }