import lombok.EqualsAndHashCode;
import lombok.Getter;
-import lombok.RequiredArgsConstructor;
import org.apache.kafka.common.TopicPartition;
import java.util.Collection;
import java.util.Map;
-@RequiredArgsConstructor
@Getter
@EqualsAndHashCode(of = { "partition" })
public class PartitionStatistics
{
+ private String id;
private final TopicPartition partition;
private final Map<String, KeyCounter> statistics = new HashMap<>();
+ public PartitionStatistics(TopicPartition partition)
+ {
+ this.partition = partition;
+ }
+
+ public PartitionStatistics(StatisticsDocument document)
+ {
+ this.partition = new TopicPartition(document.topic, document.partition);
+ document
+ .statistics
+ .entrySet()
+ .forEach(entry ->
+ {
+ this.statistics.put(
+ entry.getKey(),
+ new KeyCounter(entry.getKey(), entry.getValue()));
+ });
+ }
+
+
public KeyCounter addKey(String key)
{
KeyCounter counter = new KeyCounter(key);