@@ -1418,7 +1418,7 @@ data NodeJVMInfo = NodeJVMInfo {
1418 , nodeJVMInfoMemoryInfo :: JVMMemoryInfo
1418 , nodeJVMInfoMemoryInfo :: JVMMemoryInfo
1419 , nodeJVMInfoStartTime :: UTCTime
1419 , nodeJVMInfoStartTime :: UTCTime
1420 , nodeJVMInfoVMVendor :: Text
1420 , nodeJVMInfoVMVendor :: Text
1421− , nodeJVMVMVersion :: VersionNumber
1421+ , nodeJVMVMVersion :: VMVersion
1422 -- ^ JVM doesn't seme to follow normal version conventions
1422 -- ^ JVM doesn't seme to follow normal version conventions
1423 , nodeJVMVMName :: Text
1423 , nodeJVMVMName :: Text
1424 , nodeJVMVersion :: VersionNumber
1424 , nodeJVMVersion :: VersionNumber
@@ -1436,6 +1436,18 @@ data JVMMemoryInfo = JVMMemoryInfo {
1436 , jvmMemoryInfoHeapInit :: Bytes
1436 , jvmMemoryInfoHeapInit :: Bytes
1437 } deriving (Eq, Show)
1437 } deriving (Eq, Show)
1439+-- VM version numbers don't appear to be SemVer
1440+-- so we're special casing this jawn.
1442+ VMVersion { unVMVersion :: Text }
1443+ deriving (Eq, Show)
1445+instance ToJSON VMVersion where
1446+ toJSON = toJSON . unVMVersion
1448+instance FromJSON VMVersion where
1449+ parseJSON = withText "VMVersion" (pure . VMVersion)
1439newtype JVMMemoryPool = JVMMemoryPool {
1451newtype JVMMemoryPool = JVMMemoryPool {
1440 jvmMemoryPool :: Text
1452 jvmMemoryPool :: Text
1441 } deriving (Eq, Show, FromJSON)
1453 } deriving (Eq, Show, FromJSON)