module Wire.UserSearch.Metrics where

import Imports
import Prometheus qualified as Prom

{-# NOINLINE indexUpdateCounter #-}
indexUpdateCounter :: Prom.Counter
indexUpdateCounter :: Counter
indexUpdateCounter =
  Metric Counter -> Counter
forall s. Metric s -> s
Prom.unsafeRegister (Metric Counter -> Counter) -> Metric Counter -> Counter
forall a b. (a -> b) -> a -> b
$
    Info -> Metric Counter
Prom.counter
      Prom.Info
        { metricName :: Text
Prom.metricName = Text
"user_index_update_count",
          metricHelp :: Text
Prom.metricHelp = Text
"Number of updates on user index"
        }

{-# NOINLINE indexUpdateErrorCounter #-}
indexUpdateErrorCounter :: Prom.Counter
indexUpdateErrorCounter :: Counter
indexUpdateErrorCounter =
  Metric Counter -> Counter
forall s. Metric s -> s
Prom.unsafeRegister (Metric Counter -> Counter) -> Metric Counter -> Counter
forall a b. (a -> b) -> a -> b
$
    Info -> Metric Counter
Prom.counter
      Prom.Info
        { metricName :: Text
Prom.metricName = Text
"user_index_update_err",
          metricHelp :: Text
Prom.metricHelp = Text
"Number of errors during user index update"
        }

{-# NOINLINE indexUpdateSuccessCounter #-}
indexUpdateSuccessCounter :: Prom.Counter
indexUpdateSuccessCounter :: Counter
indexUpdateSuccessCounter =
  Metric Counter -> Counter
forall s. Metric s -> s
Prom.unsafeRegister (Metric Counter -> Counter) -> Metric Counter -> Counter
forall a b. (a -> b) -> a -> b
$
    Info -> Metric Counter
Prom.counter
      Prom.Info
        { metricName :: Text
Prom.metricName = Text
"user_index_update_ok",
          metricHelp :: Text
Prom.metricHelp = Text
"Number of successful user index updates"
        }

{-# NOINLINE indexDeleteCounter #-}
indexDeleteCounter :: Prom.Counter
indexDeleteCounter :: Counter
indexDeleteCounter =
  Metric Counter -> Counter
forall s. Metric s -> s
Prom.unsafeRegister (Metric Counter -> Counter) -> Metric Counter -> Counter
forall a b. (a -> b) -> a -> b
$
    Info -> Metric Counter
Prom.counter
      Prom.Info
        { metricName :: Text
Prom.metricName = Text
"user_index_delete_count",
          metricHelp :: Text
Prom.metricHelp = Text
"Number of deletes on user index"
        }