Skip to content

tkyshm/efluentc

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

hex.pm version Build Status

efluentc

efluentc is the Client OTP application for Fluentd.

efluentc design is to make it more faster to send some messages which are buffered at a time, and reduce count of transmission.

If you can see performance degration that is casued by burst traffic, I'd recommend increasing concurrency of fluent clients.

efluentc has interval to flush messages and buffer size, and you can adjust theses. It is recommeneded that theses parameters are set appropriate value according to your application flow rate.

Available parameters below:

name default description
worker_size 2 send of concurrency
flush_timeout 50 interval of flushing buffered data (msec)
buffer_size 10KB if over buffer size, flush all buffered data
host localhost fluentd host name
port 24224 fluentd port number

sample(app.config):

[
  {efluentc, [{worker_size, 10},      % 10 workers
              {fluesh_timeout, 500},  % 500msec
              {buffer_size, 1048576}, % 1MiB
              {host, localhost},
              {port, 24224}]}
]

Usage

add rebar.config:

{efluentc, "0.1.0"}

efluentc api:

> efluentc:post(<<"test.tag">>, <<"message">>).
ok

> efluentc:post('test.tag', <<"message">>).
ok

> efluentc:post('test.tag', "message").
ok

> efluentc:post('test.tag', #{<<"key">> => <<"value">>}).
ok

About

efluentc is the Client OTP application for Fluentd

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published