diff --git a/docs/src/main/sphinx/connector/prometheus.rst b/docs/src/main/sphinx/connector/prometheus.rst
index 0ebc2e2f8e44..792c886859ca 100644
--- a/docs/src/main/sphinx/connector/prometheus.rst
+++ b/docs/src/main/sphinx/connector/prometheus.rst
@@ -58,6 +58,7 @@ Property name Description
``prometheus.auth.password`` Password for basic authentication
``prometheus.bearer.token.file`` File holding bearer token if needed for access to Prometheus
``prometheus.read-timeout`` How much time a query to Prometheus has before timing out
+``prometheus.case-insensitive-name-matching`` Match Prometheus metric names case insensitively. Defaults to ``false``
============================================= ============================================================================================
Not exhausting your Trino available heap
diff --git a/plugin/trino-prometheus/pom.xml b/plugin/trino-prometheus/pom.xml
index 72c1992edb8c..0a338f6df6a1 100644
--- a/plugin/trino-prometheus/pom.xml
+++ b/plugin/trino-prometheus/pom.xml
@@ -67,6 +67,11 @@
jackson-datatype-jsr310
+
+ com.google.code.findbugs
+ jsr305
+
+
com.google.guava
guava
diff --git a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusClient.java b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusClient.java
index 0c004a141653..f721292d5175 100644
--- a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusClient.java
+++ b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusClient.java
@@ -29,6 +29,7 @@
import okhttp3.Request;
import okhttp3.Response;
+import javax.annotation.Nullable;
import javax.inject.Inject;
import java.io.File;
@@ -41,6 +42,7 @@
import java.util.Set;
import java.util.function.Supplier;
+import static com.google.common.base.Verify.verify;
import static com.google.common.net.HttpHeaders.AUTHORIZATION;
import static io.trino.plugin.prometheus.PrometheusErrorCode.PROMETHEUS_TABLES_METRICS_RETRIEVE_ERROR;
import static io.trino.plugin.prometheus.PrometheusErrorCode.PROMETHEUS_UNKNOWN_ERROR;
@@ -50,6 +52,7 @@
import static io.trino.spi.type.VarcharType.VARCHAR;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.nio.file.Files.readString;
+import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
@@ -61,6 +64,7 @@ public class PrometheusClient
private final OkHttpClient httpClient;
private final Supplier