zs P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO NoneImMonitorT is the monad transformer analog of Monitor and allows for monitoring pure monad transformer stacks.Monitor 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).dMonadMonitor describes a class of Monads that are capable of performing asynchronous IO operations.kExtract a value and the corresponding monitor update value from the Monitor monad. For an example use see .`Extract a value and the corresponding monitor update value from the MonitorT monad transformer. PQRPQRSafe9;OLabel describes a class of types that can be used to as the label of a vector._A list of tuples where the first value is the label and the second is the value of that label. STUVWXYZ[\   STUVWXYZ[\SafeuMeta data about a metric including its name and a help string that describes the value that the metric is measuring.]]]Safe#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.{A Sample group is a list of samples that is tagged with meta data including the name, help string, and type of the sample.A 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.ZThe type of a sample. This corresponds to the 5 types of metrics supported by Prometheus. !"#$^ !"#$ !"#$^None%Interface shared by Summary and  Histogram.&pObserve that a particular floating point value has occurred. For example, observe that this request took 0.23s.'VAdds the duration in seconds of an IO action as an observation to an observer metric._ Evaluate ioL and return its result as well as how long it took to evaluate, in seconds.%&'_%&'_%&'_None).Creates a new vector of metrics given a label.+OGiven a label, applies an operation to the corresponding metric in the vector.,Removes a label from a vector.-!Removes all labels from a vector. (`a)bc*+,-(`)*+,- (`a)bc*+,-NoneAT.3Registers a metric with the global metric registry./3Registers a metric with the global metric registry.03Registers 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.13Registers 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"):}...2;Removes all currently registered metrics from the registry.3Collect 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. defg./0123h./0123 defg./0123h None5?Creates a new counter metric with a given name and help string.6.Increments the value of a counter metric by 1.7:Add the given value to the counter, if it is zero or more.8BAdd the given value to the counter. Panic if it is less than zero.9;Add the duration of an IO action (in seconds) to a counter.:0Retrieves the current value of a counter metric. 4i5j6789:k456789: 4i5j6789:k None<<Create a new gauge metric with a given name and help string.=Adds a value to a gauge metric.>&Subtracts a value from a gauge metric.?Increments a gauge metric by 1.@Decrements a gauge metric by 1.A(Sets a gauge metric to a specific value.B.Retrieves the current value of a gauge metric.C?Sets a gauge metric to the duration in seconds of an IO action. ;l<m=>?@ABCn ;<=>?@ABC ;l<m=>?@ABCn NoneoCurrent state of a histogram.p The sum of all the observations.q/The number of observations that have been made.rCounts 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.s#Upper-bound for a histogram bucket.DWA histogram. Counts the number of observations that fall within the specified buckets.E Create a new D 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 G$. You can also create buckets with H or I.t&Transform the contents of a histogram.FRetries 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.uRecord an observation.v)Collect the current state of a histogram.wCThe label that defines the upper bound of a bucket of a histogram. "le"' is short for "less than or equal to".GThe 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.HCreate count buckets, each width6 wide, where the lowest bucket has an upper bound of start!. Use this to create buckets for E.ICreate 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 E.oxpqrsDyEztFuvwGHI{ oxpqrDEzFuGHIoxpqrsDyEztFuvwGHI{ NoneJSA quantile is a pair of a quantile value and an associated acceptable error value.LCreates a new summary metric with a given name, help string, and a list of quantiles. A reasonable set set of quantiles is provided by N.MJRetrieves a list of tuples containing a quantile and its associated value.|}~JKLMN&'|}~JKLMN|}~JKLMN NoneONExport 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.ByteStringGmyCounter <- registerIO $ counter (Info "my_counter" "Example counter")incCounter myCounter.exportMetricsAsText >>= Data.ByteString.putStr!# HELP my_counter Example counter# TYPE my_counter countermy_counter 1.0OOONoneP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP/.1023O456789:;<?@=>ACB%&'KJLNMDEGIHF()+,-*  !"#$ !!"#$$%&''(()*+,-./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 YZ[\]^_`abcdefghijklmnopqr s t u v w x y z { | } ~  y        .prometheus-client-0.2.0-F1Se0fDWFhY6EmwkL3qac6 PrometheusPrometheus.MonadMonitorPrometheus.LabelPrometheus.InfoPrometheus.MetricPrometheus.Metric.ObserverPrometheus.Metric.VectorPrometheus.RegistryPrometheus.Metric.CounterPrometheus.Metric.GaugePrometheus.Metric.HistogramPrometheus.Metric.SummaryPrometheus.Export.TextMonitorTMonitor MonadMonitordoIO runMonitor runMonitorTLabel9Label8Label7Label6Label5Label4Label3Label2Label1Label0Label labelPairs LabelPairsInfo metricName metricHelpMetrichandlecollect SampleGroupSample SampleType CounterType GaugeType SummaryType HistogramType UntypedTypeObserverobserveobserveDurationVectorvector getVectorWith withLabel removeLabel clearLabelsregister registerIOunsafeRegisterunsafeRegisterIO unregisterAllcollectMetricsCountercounter incCounter addCounterunsafeAddCounteraddDurationToCounter getCounterGaugegaugeaddGaugesubGaugeincGaugedecGaugesetGaugegetGaugesetGaugeToDuration Histogram histogram getHistogramdefaultBuckets linearBucketsexponentialBucketsQuantileSummarysummary getSummarydefaultQuantilesexportMetricsAsText MkMonitorT$fMonadMonitorMonitorT$fMonadMonitorIO$fLabel(,,,,,,,,)$fLabel(,,,,,,,)$fLabel(,,,,,,)$fLabel(,,,,,) $fLabel(,,,,) $fLabel(,,,) $fLabel(,,) $fLabel(,) $fLabel[] $fLabel() checkInfo$fShowSampleType timeActionMkVector VectorStatecheckLabelKeys collectVectorRegistryRegisteredMetricMkRegisteredMetricglobalRegistrycollectRegistered MkCounter withCountercollectCounterMkGauge withGauge collectGauge BucketCounts histTotal histCounthistCountsPerBucketBucket withHistograminsertcollectHistogram bucketLabel MkHistogram emptyCounts$fObserverHistogram EstimatorestCountestSum estQuantilesestItemsItem itemValueitemGitemD MkSummary withSummarycollectSummary dumpEstimatoremptyEstimatorcompressquery invariant $fOrdItem$fObserverSummaryexportSampleGroup exportSamples exportSample exportLabels exportLabel