001package io.prometheus.metrics.model.snapshots; 002 003import io.prometheus.metrics.annotations.StableApi; 004 005/** 006 * Thrown when a collector tries to create a {@link MetricSnapshot} where multiple data points have 007 * the same labels (same label names and label values). 008 */ 009@StableApi 010public class DuplicateLabelsException extends IllegalArgumentException { 011 012 private static final long serialVersionUID = 0L; 013 014 private final MetricMetadata metadata; 015 private final Labels labels; 016 017 public DuplicateLabelsException(MetricMetadata metadata, Labels labels) { 018 super("Duplicate labels for metric \"" + metadata.getName() + "\": " + labels); 019 this.metadata = metadata; 020 this.labels = labels; 021 } 022 023 public MetricMetadata getMetadata() { 024 return metadata; 025 } 026 027 public Labels getLabels() { 028 return labels; 029 } 030}