diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+### 0.2.0.1
+
+- Support `eventlog-live` version `0.4.0.0`.
+
 ### 0.2.0.0
 
 - **BREAKING**: Support info and debug verbosity. This changes the semantics of `--verbosity=3` and up.
diff --git a/eventlog-live-influxdb.cabal b/eventlog-live-influxdb.cabal
--- a/eventlog-live-influxdb.cabal
+++ b/eventlog-live-influxdb.cabal
@@ -1,6 +1,6 @@
 cabal-version:   3.0
 name:            eventlog-live-influxdb
-version:         0.2.0.0
+version:         0.2.0.1
 synopsis:        Stream eventlog data into InfluxDB.
 description:
   This executable supports live streaming of eventlog data into
@@ -109,19 +109,17 @@
   other-modules:   Paths_eventlog_live_influxdb
   autogen-modules: Paths_eventlog_live_influxdb
   build-depends:
-    , base                   >=4.16  && <4.22
-    , clock                  >=0.8.4 && <0.9
-    , containers             >=0.6   && <0.8
-    , dlist                  >=1.0   && <1.1
-    , eventlog-live          >=0.2   && <0.3
-    , eventlog-live:options
-    , eventlog-live:socket
-    , ghc-events             >=0.20  && <0.21
-    , influxdb               >=1.9.3 && <1.10
-    , lens-family            >=2.1.3 && <2.2
-    , machines               >=0.7.4 && <0.8
-    , optparse-applicative   >=0.18  && <0.20
-    , text                   >=1.2   && <2.2
+    , base                  >=4.16  && <4.22
+    , clock                 >=0.8.4 && <0.9
+    , containers            >=0.6   && <0.8
+    , dlist                 >=1.0   && <1.1
+    , eventlog-live         >=0.4   && <0.5
+    , ghc-events            >=0.20  && <0.21
+    , influxdb              >=1.9.3 && <1.10
+    , lens-family           >=2.1.3 && <2.2
+    , machines              >=0.7.4 && <0.8
+    , optparse-applicative  >=0.18  && <0.20
+    , text                  >=1.2   && <2.2
 
 executable eventlog-live-influxdb
   import:         language
diff --git a/src/GHC/Eventlog/Live/InfluxDB.hs b/src/GHC/Eventlog/Live/InfluxDB.hs
--- a/src/GHC/Eventlog/Live/InfluxDB.hs
+++ b/src/GHC/Eventlog/Live/InfluxDB.hs
@@ -34,7 +34,9 @@
 import GHC.Eventlog.Live.Data.Attribute
 import GHC.Eventlog.Live.Data.Metric
 import GHC.Eventlog.Live.Data.Span
-import GHC.Eventlog.Live.Machine
+import GHC.Eventlog.Live.Machine.Analysis.Capability
+import GHC.Eventlog.Live.Machine.Analysis.Heap
+import GHC.Eventlog.Live.Machine.Analysis.Thread
 import GHC.Eventlog.Live.Machine.Core
 import GHC.Eventlog.Live.Machine.WithStartTime
 import GHC.Eventlog.Live.Options
@@ -173,7 +175,7 @@
               ]
         )
         <~ processMemReturnData
-    , mapping (D.singleton . fromMetric "HeapProfSample")
+    , mapping (D.fromList . fmap (fromMetric "HeapProfSample") . heapProfSamples)
         <~ processHeapProfSampleData verbosity maybeHeapProfBreakdown
     ]
 
@@ -277,7 +279,7 @@
 fromMetric measurement@(I.Measurement measurementName) i =
   I.Line measurement tagSet fieldSet timestamp
  where
-  tagSet = M.fromList (mapMaybe (\(k, v) -> (I.Key k,) <$> fromAttrValue v) i.attr)
+  tagSet = M.fromList (mapMaybe (\(k, v) -> (I.Key k,) <$> fromAttrValue v) (toList i.attrs))
   fieldSet = M.singleton (I.Key measurementName) (toField i.value)
   timestamp = fromNanoSecs . toInteger <$> i.maybeTimeUnixNano
 
