diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 0.5.3.2
+
+* `Hasql.Pool.Observer` is an exposed module.
+
+
 # 0.5.3.1
 
 * `acquireWithStripes` renamed to `aquireWith` and allows specifying a custom `ConnectionGetter`.
diff --git a/hasql-resource-pool.cabal b/hasql-resource-pool.cabal
--- a/hasql-resource-pool.cabal
+++ b/hasql-resource-pool.cabal
@@ -1,7 +1,7 @@
 name:
   hasql-resource-pool
 version:
-  0.5.3.1
+  0.5.3.2
 category:
   Hasql, Database, PostgreSQL
 synopsis:
@@ -46,11 +46,11 @@
   default-language:
     Haskell2010
   other-modules:
-    Hasql.Pool.Observer
     Hasql.Pool.Prelude
     Hasql.Pool.ResourcePool
   exposed-modules:
     Hasql.Pool
+    Hasql.Pool.Observer
   build-depends:
     -- resources:
     resource-pool-fork-avanov,
diff --git a/library/Hasql/Pool/Observer.hs b/library/Hasql/Pool/Observer.hs
--- a/library/Hasql/Pool/Observer.hs
+++ b/library/Hasql/Pool/Observer.hs
@@ -7,11 +7,13 @@
 import Hasql.Pool.Prelude
 
 
--- | Represents properties of an observed IO action associated with a pool item
+-- |
+-- Represents properties of an observed IO action associated with a pool item.
 newtype Observed = Observed
     {   latency :: Rational
     } deriving (Show)
 
 
+-- |
+-- You can use this action to send observed attributes to your metrics backend like Prometheus.
 type ObserverAction = Observed -> IO ()
-
