### Question:
PrometheusMetricsSystem implements ObservableMetricsSystem { @Override public LabelledMetric<OperationTimer> createLabelledTimer( final MetricCategory category, final String name, final String help, final String... labelNames) { final String metricName = convertToPrometheusName(category, name); return cachedTimers.computeIfAbsent( metricName, (k) -> { if (timersEnabled && isCategoryEnabled(category)) { final Summary summary = Summary.build(metricName, help) .quantile(0.2, 0.02) .quantile(0.5, 0.05) .quantile(0.8, 0.02) .quantile(0.95, 0.005) .quantile(0.99, 0.001) .quantile(1.0, 0) .labelNames(labelNames) .create(); addCollectorUnchecked(category, summary); return new PrometheusTimer(summary); } else { return NoOpMetricsSystem.getOperationTimerLabelledMetric(labelNames.length); } }); } PrometheusMetricsSystem(
      final Set<MetricCategory> enabledCategories, final boolean timersEnabled); static ObservableMetricsSystem init(final MetricsConfiguration metricsConfiguration); @Override LabelledMetric<org.hyperledger.besu.plugin.services.metrics.Counter> createLabelledCounter(
      final MetricCategory category,
      final String name,
      final String help,
      final String... labelNames); @Override LabelledMetric<OperationTimer> createLabelledTimer(
      final MetricCategory category,
      final String name,
      final String help,
      final String... labelNames); @Override void createGauge(
      final MetricCategory category,
      final String name,
      final String help,
      final DoubleSupplier valueSupplier); void addCollector(final MetricCategory category, final Collector metric); @Override Stream<Observation> streamObservations(final MetricCategory category); @Override Stream<Observation> streamObservations(); String convertToPrometheusName(final MetricCategory category, final String name);  }### Answer:
@Test public void shouldHandleDuplicateTimerCreation() { final LabelledMetric<OperationTimer> timer1 = metricsSystem.createLabelledTimer(RPC, "request", "Some help"); final LabelledMetric<OperationTimer> timer2 = metricsSystem.createLabelledTimer(RPC, "request", "Some help"); assertThat(timer1).isEqualTo(timer2); }