diff --git a/lib/gat/handlers/pool/pools/hybrid/pool.go b/lib/gat/handlers/pool/pools/hybrid/pool.go
index 6bf3aaf1eb2dbc3df533a6c51e38fa4af9bf98f0..b014d843b3ef2eedd8d3d870de9a983165753c73 100644
--- a/lib/gat/handlers/pool/pools/hybrid/pool.go
+++ b/lib/gat/handlers/pool/pools/hybrid/pool.go
@@ -15,6 +15,7 @@ import (
 	"gfx.cafe/gfx/pggat/lib/gat/handlers/pool"
 	"gfx.cafe/gfx/pggat/lib/gat/handlers/pool/spool"
 	"gfx.cafe/gfx/pggat/lib/gat/metrics"
+	"gfx.cafe/gfx/pggat/lib/instrumentation/prom"
 	"gfx.cafe/gfx/pggat/lib/util/strutil"
 )
 
@@ -409,12 +410,19 @@ func (T *Pool) serveOnly(conn *fed.Conn, write bool) error {
 }
 
 func (T *Pool) Serve(conn *fed.Conn) error {
+	labels := prom.HybridPoolLabels{}
 	switch conn.InitialParameters[strutil.MakeCIString("hybrid.mode")] {
 	case "ro":
+		labels.Mode = "ro"
+		prom.Pool.AcceptedHybrid(labels).Inc()
 		return T.serveOnly(conn, false)
 	case "wo":
+		labels.Mode = "wo"
+		prom.Pool.AcceptedHybrid(labels).Inc()
 		return T.serveOnly(conn, true)
 	default:
+		labels.Mode = "rw"
+		prom.Pool.AcceptedHybrid(labels).Inc()
 		return T.serveRW(conn)
 	}
 }
diff --git a/lib/instrumentation/prom/metrics.go b/lib/instrumentation/prom/metrics.go
index 02a7e96aad75a53aa0527cdfdba38c143afac301..0124ddbbc667f8a1b076b9393dcf21ed19c3b3f5 100644
--- a/lib/instrumentation/prom/metrics.go
+++ b/lib/instrumentation/prom/metrics.go
@@ -15,20 +15,15 @@ var Listener struct {
 	Client   func(ListenerLabels) prometheus.Gauge   `name:"client" help:"current clients"`
 }
 
-type ServingLabels struct {
+type HybridPoolLabels struct {
+	Mode string `label:"hybrid_mode"`
 }
 
-var Serving struct {
-}
-
-type InstanceLabels struct {
-}
-
-var Instance struct {
+var Pool struct {
+	AcceptedHybrid func(HybridPoolLabels) prometheus.Counter `name:"accepted_hybrid" help:"hybrid connections accepted"`
 }
 
 func init() {
 	gotoprom.MustInit(&Listener, "pggat_listener", prometheus.Labels{})
-	gotoprom.MustInit(&Instance, "pggat_instance", prometheus.Labels{})
-	gotoprom.MustInit(&Serving, "pggat_serving", prometheus.Labels{})
+	gotoprom.MustInit(&Pool, "pggat_pool", prometheus.Labels{})
 }