!Q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Safeprometheus-clientuMeta data about a metric including its name and a help string that describes the value that the metric is measuring.QSafe&'=? Hprometheus-clientOLabel describes a class of types that can be used to as the label of a vector.prometheus-client_A list of tuples where the first value is the label and the second is the value of that label.  NoneMprometheus-client#A metric represents a single value that is being monitored. It is comprised of a handle value and a collect method. The handle value is typically a new type wrapped value that provides access to the internal state of the metric. The collect method samples the current value of the metric.prometheus-client is an RR action that creates a new instance of a metric. For example, in a counter, this RO action would create a mutable reference to maintain the state of the counter. returns two things: The state of the metric itself, which can be used to modify the metric. A counter would return state pointing to the mutable reference.An R, action that samples the metric and returns ;s. This is the data that will be stored by Prometheus. prometheus-client{A Sample group is a list of samples that is tagged with meta data including the name, help string, and type of the sample.prometheus-clientA single value recorded at a moment in time. The sample type contains the name of the sample, a list of labels and their values, and the value encoded as a ByteString.prometheus-clientZThe type of a sample. This corresponds to the 5 types of metrics supported by Prometheus. None&'8M,<prometheus-clientmMonitorT is the monad transformer analog of Monitor and allows for monitoring pure monad transformer stacks.prometheus-clientMonitor allows the use of Prometheus metrics in pure code. When using Monitor, all of the metric operations will be collected and queued into a single IO () value that can be run from impure code.Because all of the operations are performed asynchronously use of this class is not recommended for use with metrics that are time sensitive (e.g. for measuring latency). prometheus-clientdMonadMonitor describes a class of Monads that are capable of performing asynchronous IO operations."prometheus-clientkExtract a value and the corresponding monitor update value from the Monitor monad. For an example use see .#prometheus-client`Extract a value and the corresponding monitor update value from the MonitorT monad transformer. !"#None0%prometheus-client.Creates a new vector of metrics given a label.'prometheus-clientOGiven a label, applies an operation to the corresponding metric in the vector.(prometheus-clientRemoves a label from a vector.)prometheus-client!Removes all labels from a vector.$S%&'()None8{*prometheus-clientInterface shared by Summary and  Histogram.+prometheus-clientpObserve that a particular floating point value has occurred. For example, observe that this request took 0.23s.,prometheus-clientVAdds the duration in seconds of an IO action as an observation to an observer metric.BIf the IO action throws an exception no duration will be observed.Tprometheus-client Evaluate ioL and return its result as well as how long it took to evaluate, in seconds.*+,TNone>a-prometheus-clientSA quantile is a pair of a quantile value and an associated acceptable error value./prometheus-clientCreates a new summary metric with a given name, help string, and a list of quantiles. A reasonable set set of quantiles is provided by 1.0prometheus-clientJRetrieves a list of tuples containing a quantile and its associated value.+,UVWXYZ[\]^_-./0`1abcde None[Ufprometheus-clientCurrent state of a histogram.gprometheus-client The sum of all the observations.hprometheus-client/The number of observations that have been made.iprometheus-clientCounts for each bucket. The key is the upper-bound, value is the number of observations less-than-or-equal-to that upper bound, but greater than the next lowest upper bound.2prometheus-client#Upper-bound for a histogram bucket.3prometheus-clientWA histogram. Counts the number of observations that fall within the specified buckets.4prometheus-client Create a new 3 metric with a given name, help string, and list of buckets. Panics if the list of buckets is not strictly increasing. A good default list of buckets is 6$. You can also create buckets with 7 or 8.jprometheus-client&Transform the contents of a histogram.5prometheus-clientRetries a map of upper bounds to counts of values observed that are less-than-or-equal-to that upper bound, but greater than any other upper bound in the map.kprometheus-clientRecord an observation.lprometheus-client)Collect the current state of a histogram.mprometheus-clientCThe label that defines the upper bound of a bucket of a histogram. "le"' is short for "less than or equal to".6prometheus-clientThe default Histogram buckets. These are tailored to measure the response time (in seconds) of a network service. You will almost certainly need to customize them for your particular use case.7prometheus-clientCreate count buckets, each width6 wide, where the lowest bucket has an upper bound of start!. Use this to create buckets for 4.8prometheus-clientCreate count8 buckets, where the lowest bucket has an upper bound of start# and each bucket's upper bound is factorJ times the previous bucket's upper bound. Use this to create buckets for 4.fnghi234o5k678 Nonec:prometheus-client<Create a new gauge metric with a given name and help string.;prometheus-clientAdds a value to a gauge metric.<prometheus-client&Subtracts a value from a gauge metric.=prometheus-clientIncrements a gauge metric by 1.>prometheus-clientDecrements a gauge metric by 1.?prometheus-client(Sets a gauge metric to a specific value.@prometheus-client.Retrieves the current value of a gauge metric.Aprometheus-client?Sets a gauge metric to the duration in seconds of an IO action. 9:;<=>?@A NonesCprometheus-client?Creates a new counter metric with a given name and help string.Dprometheus-client.Increments the value of a counter metric by 1.Eprometheus-client:Add the given value to the counter, if it is zero or more.Fprometheus-clientBAdd the given value to the counter. Panic if it is less than zero.Gprometheus-client;Add the duration of an IO action (in seconds) to a counter..If the IO action throws, no duration is added.Hprometheus-client0Retrieves the current value of a counter metric.Iprometheus-clientECount the amount of times an action throws any synchronous exception.^exceptions <- register $ counter (Info "exceptions_total" "Total amount of exceptions thrown")&countExceptions exceptions $ return ()getCounter exceptions0.0ScountExceptions exceptions (error "Oh no!") `catch` (\SomeException{} -> return ())getCounter exceptions1.0It's important to note that this will count *all* synchronous exceptions. If you want more granular counting of exceptions, you will need to write custom code using D.BCDEFGHI NoneEXpprometheus-clientA pY is a list of all registered metrics, currently represented by their sampling functions.Jprometheus-client3Registers a metric with the global metric registry.Kprometheus-client3Registers a metric with the global metric registry.Lprometheus-client3Registers a metric with the global metric registry. IMPORTANTw: This method should only be used to register metrics as top level symbols, it should not be run from other pure code.Mprometheus-client3Registers a metric with the global metric registry. IMPORTANTw: This method should only be used to register metrics as top level symbols, it should not be run from other pure code. For example,:{ {-# NOINLINE c #-}K let c = unsafeRegisterIO $ counter (Info "my_counter" "An example metric"):}...Nprometheus-client;Removes all currently registered metrics from the registry.Oprometheus-clientCollect samples from all currently registered metrics. In typical use cases there is no reason to use this function, instead you should use exportMetricsAsText or a convenience library.This function is likely only of interest if you wish to export metrics in a non-supported format for use with another monitoring service.JKLMNO NonePprometheus-clientNExport all registered metrics in the Prometheus 0.0.4 text exposition format.GFor the full specification of the format, see the official Prometheus  ;http://prometheus.io/docs/instrumenting/exposition_formats/ documentation.:m +Data.ByteStringEmyCounter <- register $ counter (Info "my_counter" "Example counter")incCounter myCounter3exportMetricsAsText >>= Data.ByteString.Lazy.putStr!# HELP my_counter Example counter# TYPE my_counter countermy_counter 1.0PNone!Q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQKJMLNOPBCDEFGIH9:=>;<?A@*+,.-/103246875$%'()&  !"#q  !!"#$%&'()*+,-./0123456789:; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z[\]^_`aabcdeffghijklmno p q r s t l u v p w xy.prometheus-client-1.0.1-DYocZ1LWZGMDc5X7U383iU PrometheusPrometheus.InfoPrometheus.LabelPrometheus.MetricPrometheus.MonadMonitorPrometheus.Metric.VectorPrometheus.Metric.ObserverPrometheus.Metric.SummaryPrometheus.Metric.HistogramPrometheus.Metric.GaugePrometheus.Metric.CounterPrometheus.RegistryPrometheus.Export.TextInfo metricName metricHelpLabel9Label8Label7Label6Label5Label4Label3Label2Label1Label0Label labelPairs LabelPairsMetric construct SampleGroupSample SampleType CounterType GaugeType SummaryType HistogramType UntypedTypeMonitorTMonitor MonadMonitordoIO runMonitor runMonitorTVectorvector getVectorWith withLabel removeLabel clearLabelsObserverobserveobserveDurationQuantileSummarysummary getSummarydefaultQuantilesBucket Histogram histogram getHistogramdefaultBuckets linearBucketsexponentialBucketsGaugegaugeaddGaugesubGaugeincGaugedecGaugesetGaugegetGaugesetGaugeToDurationCountercounter incCounter addCounterunsafeAddCounteraddDurationToCounter getCountercountExceptionsregister registerIOunsafeRegisterunsafeRegisterIO unregisterAllcollectMetricsexportMetricsAsText checkInfoghc-prim GHC.TypesIOMkVector timeAction Estimator estQuantilesestCountestSumestItemsItem itemValueitemGitemD dumpEstimatoremptyEstimatorinsertcompressquery invariant BucketCounts histTotal histCounthistCountsPerBucket withHistogramcollectHistogram bucketLabel emptyCountsRegistry