úÎgíd0*      !"#$%&' ( ) NoneN/The opaque counter type. It is actually just a * +.Gives you a new empty counter.“This is a conduits-specific function that will increase a counter for each piece of data that traverses this conduit. It will not alter the data.Increments a counter.(Retrieve the current value of a counter.MThis registers a counter to a Collectd server. This can be used in this way : Zcounter2collectd nbmsg "/var/run/collectd-unixsock" nodename "logstash-shipper" "messages",the counter to exportpath to the unix socketBname of the node, usually the server's fully qualified domain namename of the plugin + instancename of the counter instance,None<Converts a stream of lists into a stream of single elements.ŸConverts a stream of [a] into a stream of (Flush a). This is done by sending a Flush when the input is the empty list, or that we reached a certain threshold"This is a more general version of #, where you provide your own fold. A generalized version of % where some value is summed and the -% is sent when it reaches a threshold. <Regroup a stream of (Flush a) into a stream of lists, using Flush as the separator "Analogous to maybe, but for chunks ?Like mapMaybe, but in a Flush. Will not touch the Flush values. 8Convert your input value into an Integer, usually a sizeThe threshold value    None  Creates the plumbingY that might be used to connect several conduits together, based on a branching function.€A higher level function. Given a source, a branching function and a list of sinks, this will run the conduits until completion.. Number of branches/Branching function, where 0 is the first branchReturns a sink and N sourcesThe source to branch from,The branching function (0 is the first sink)The destination sinksResults of the sinks  . None4IN Tentative safe Sink for a Socket. It should try reopening the Socket every time the call to /¼ fails. This means that some bytes might be sent multiple times, if the socket fails in the middle of the sendAll call. This is targeted at protocols where only a full message makes sense.BA specialization of the previous Sink that opens a TCP connection.None¤This is a source that pops elements from a Redis list. It is capable of poping several elements at once, and will return lists of ByteStrings. You might then use   or the flushing facilities in Data.Conduit.Misc# to work with individual elements.ŽA Sink that will let you write ByteStrings to a redis queue. It can be augmented with a logging function, that will be able to report errors.012Hostname of the Redis server'Port of the Redis server (usually 6379)Name of the list!Number of elements to pop at onceuTimeout of the brpop function in seconds, useful for getting Flush events into your conduit. Set to 0 for no timeout.Hostname of the Redis server'Port of the Redis server (usually 6379)Name of the listnCommand used to log various errors. Defaults to BS.putStrLn. It must not fail, so be careful about exceptions.012None&The Logstash message, as described in  Lhttps://github.com/logstash/logstash/wiki/logstash's-internal-message-formata. Please note that it is good practice to forget about the timestamp when creating messages (set  to 3E), as it should be a responsability of the Logstash server to add it.\As the name implies, this creates a dummy Logstash message, only updating the message field.0This formats an UTCTime in what logstash expects%This parses the logstash time format.8This will try to convert an arbitrary JSON value into a LogstashMessage.1Adds the current timestamp if it is not provided. !Adds a tag to a logstash message. The tag to add!" "!  !"None#„This very simple function lets you send a single message to a Logstash server, using the tcp input, configured in the following way: §input { tcp { debug => "true" port => "12345" data_timeout => -1 format => "json_event" type => "somemessages" } }####NoneIN$DA source of Logstash messages generated from an ElasticSearch query.%DUse this function for 'scanning' requests, using the scroll feature.&Takes a LogstashMessage, and returns the result of the ElasticSearch request along with the value in case of errors, or ElasticSearch's values in case of success.456789:;<=>?@ABCD$?Defaults parameters for the http request to ElasticSearch. Use Nothing for defaults.$Hostname of the ElasticSearch server)Port of the HTTP interface (usually 9200)&Prefix of the index (usually logstash)RequestMaximum size of each responsestart%?Defaults parameters for the http request to ElasticSearch. Use Nothing for defaults.$Hostname of the ElasticSearch server)Port of the HTTP interface (usually 9200)6Name of the index (Something like logstash-2013.12.06)Maximum size of each responseE&?Defaults parameters for the http request to ElasticSearch. Use Nothing for defaults.$Hostname of the ElasticSearch server)Port of the HTTP interface (usually 9200)&Prefix of the index (usually logstash)FGH$%&&$% 456789:;<=>?@ABCD$%E&FGH None'KDecodes JSON data from ByteStrings that can be encoded in UTF-8 or latin1.(‰This creates a logstash network listener, given a TCP port. It will try to decode the Bytestring as UTF-8, and, if it fails, as Latin1.'( Port number'((''( None)ƒA web server will be launched on the specified port. Clients can request URLs of the form /type1,type2,type3. They will be fed all ! matching one of the given types.Here is a sample usage : ÿ-- run the fire hose on port 13400 fh <- fireHose 13400 10 logstashListener lport (printErrors =$ CL.mapM (liftIO . addLogstashTime) -- add the time =$ fh =$ CL.map (BSL.toStrict . encode) -- turn into a bytestring =$ redisSink host port queue (Just logfunc)) -- store to redis)Port%Buffer size for the fire hose threads)))I    !"#$%&'()*+,-./0 1 2 3456789 :;<=>?@ABC4DEFFGHIJJKLMNNOPQRSTUVWXhslog_379bj1HJmCXI0tIhDOy57oLogstash.CounterData.Conduit.MiscData.Conduit.BranchingData.Conduit.Network.RetryData.Conduit.RedisLogstash.Message Logstash.IOData.Conduit.ElasticSearchData.Conduit.LogstashData.Conduit.FireHoseconcatCounter newCounterincrementCounterConduitincrementCounter readCountercounter2collectdsimpleConcatFlush concatFlushconcatFlushSum groupFlushmchunk mapFlushMaybemkBranchingConduitbranchConduitssinkSocketRetry tcpSinkRetry redisSource redisSinkLogstashMessage logstashTypelogstashSource logstashTagslogstashFieldslogstashContent logstashTimeemptyLSMessagelogstashTimestampparseLogstashTimevalue2logstashaddLogstashTimeaddLogstashTag$fToJSONLogstashMessage$fFromJSONLogstashMessagesendSingleMessageesSearchSourceesScan esConduit tryDecodelogstashListenerfireHosebase GHC.Conc.SyncTVar integer-gmpGHC.Integer.TypeIntegercondu_9wHaNJrxyyq9dFXfK2u9W6Data.Conduit.Internal.ConduitFlushmkSinknetwo_F6mK9sCIw3M5SbZMt2lUQENetwork.Socket.ByteStringsendAllmpsafePushpopNGHC.BaseNothingSearchResponse _timedOut_hits_tookHits_rhits _maxScore_total SearchObject_source_index_score_id_type safeQuery$fFromJSONSearchResponse$fFromJSONHits$fFromJSONSearchObject