diff --git a/lib/prometheus/client/label_set_validator.rb b/lib/prometheus/client/label_set_validator.rb index b5fb64c4..9536f4fa 100644 --- a/lib/prometheus/client/label_set_validator.rb +++ b/lib/prometheus/client/label_set_validator.rb @@ -35,7 +35,9 @@ def validate(labels) valid?(labels) unless @validated.empty? || match?(labels, @validated.first.last) - raise InvalidLabelSetError, 'labels must have the same signature' + raise InvalidLabelSetError, "labels must have the same signature " \ + "(keys given: #{labels.keys.sort} vs." \ + " keys expected: #{@validated.first.last.keys.sort}" end @validated[labels.hash] = labels diff --git a/spec/prometheus/client/label_set_validator_spec.rb b/spec/prometheus/client/label_set_validator_spec.rb index 6098a10d..f6071aaf 100644 --- a/spec/prometheus/client/label_set_validator_spec.rb +++ b/spec/prometheus/client/label_set_validator_spec.rb @@ -63,7 +63,7 @@ expect do validator.validate(method: 'get', exception: 'NoMethodError') - end.to raise_exception(invalid) + end.to raise_exception(invalid, /keys given: \[:exception, :method\] vs. keys expected: \[:code, :method\]/) end end end