icepeak 0.7.2.0 → 0.7.3.0
raw patch · 2 files changed
+24/−11 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Metrics: [icepeakMetricsDataSizeBytes] :: IcepeakMetrics -> Gauge
+ Metrics: [icepeakMetricsDataWrittenTotal] :: IcepeakMetrics -> Counter
- Metrics: IcepeakMetrics :: HttpRequestCounter -> Gauge -> Gauge -> Counter -> Counter -> Gauge -> IcepeakMetrics
+ Metrics: IcepeakMetrics :: HttpRequestCounter -> Gauge -> Gauge -> Gauge -> Counter -> Counter -> Counter -> Gauge -> IcepeakMetrics
Files
- icepeak.cabal +2/−2
- src/Metrics.hs +22/−9
icepeak.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 49e4a12bbe214c64c9089d1fef25d19b4051ba5a463d14a8fd290927966b62cf+-- hash: a78004f57b4b119b78876b2a45f32b61e266200555e07b35d8768860db5e2742 name: icepeak-version: 0.7.2.0+version: 0.7.3.0 synopsis: A fast JSON document store with push notification support. description: Icepeak is a fast JSON document store with push notification support. category: web
src/Metrics.hs view
@@ -25,21 +25,28 @@ data IcepeakMetrics = IcepeakMetrics- { icepeakMetricsRequestCounter :: HttpRequestCounter- , icepeakMetricsDataSize :: Gauge- , icepeakMetricsJournalSize :: Gauge- , icepeakMetricsDataWritten :: Counter- , icepeakMetricsJournalWritten :: Counter- , icepeakMetricsSubscriberCount :: Gauge+ { icepeakMetricsRequestCounter :: HttpRequestCounter+ -- TODO: the following line can be removed after dashboard has been updated to use icepeak_data_size_bytes+ , icepeakMetricsDataSize :: Gauge+ , icepeakMetricsDataSizeBytes :: Gauge+ , icepeakMetricsJournalSize :: Gauge+ , icepeakMetricsDataWritten :: Counter+ , icepeakMetricsDataWrittenTotal :: Counter+ , icepeakMetricsJournalWritten :: Counter+ , icepeakMetricsSubscriberCount :: Gauge } createAndRegisterIcepeakMetrics :: IO IcepeakMetrics createAndRegisterIcepeakMetrics = IcepeakMetrics <$> register (vector ("method", "status") requestCounter)+ -- TODO: the following line can be removed after dashboard has been updated to use icepeak_data_size_bytes <*> register (gauge (Info "icepeak_data_size" "Size of data file in bytes."))+ <*> register (gauge (Info "icepeak_data_size_bytes" "Size of data file in bytes.")) <*> register (gauge (Info "icepeak_journal_size_bytes" "Size of journal file in bytes."))+ -- TODO: the following line can be removed after dashboard has been updated to use icepeak_data_size_bytes <*> register (counter (Info "icepeak_data_written" "Total number of bytes written so far."))+ <*> register (counter (Info "icepeak_data_written_bytes_total" "Total number of bytes written so far.")) <*> register (counter (Info "icepeak_journal_written_bytes_total" "Total number of bytes written to the journal so far.")) <*> register (gauge@@ -52,7 +59,10 @@ notifyRequest method status = countHttpRequest method status . icepeakMetricsRequestCounter setDataSize :: (MonadMonitor m, Real a) => a -> IcepeakMetrics -> m ()-setDataSize val metrics = setGauge (icepeakMetricsDataSize metrics) (realToFrac val)+setDataSize val metrics = do+ -- TODO: the following line can be removed after dashboard has been updated to use icepeak_data_size_bytes+ setGauge (icepeakMetricsDataSize metrics) (realToFrac val)+ setGauge (icepeakMetricsDataSizeBytes metrics) (realToFrac val) setJournalSize :: (MonadMonitor m, Real a) => a -> IcepeakMetrics -> m () setJournalSize val metrics = setGauge (icepeakMetricsJournalSize metrics) (realToFrac val)@@ -60,8 +70,11 @@ -- | Increment the total data written to disk by the given number of bytes. -- Returns True, when it actually increased the counter and otherwise False. incrementDataWritten :: (MonadMonitor m, Real a) => a -> IcepeakMetrics -> m Bool-incrementDataWritten num_bytes metrics = addCounter (icepeakMetricsDataWritten metrics)- (realToFrac num_bytes)+incrementDataWritten num_bytes metrics = do+ -- Ignore the result to silence linter.+ -- TODO: the following line can be removed after dashboard has been updated to use icepeak_data_size_bytes+ _ <- addCounter (icepeakMetricsDataWritten metrics) (realToFrac num_bytes)+ addCounter (icepeakMetricsDataWrittenTotal metrics) (realToFrac num_bytes) -- | Increment the data written to the journal by the given number of bytes. -- Returns True, when it actually increased the counter and otherwise False.