fluent-plugin-sixpack
SixpackOutput
Fluentd plugin to execute A/B testing with application log.
To get A/B test statistics, this plugin forwards logs to Sixpack server.
About Sixpack, see:
- Github: https://github.com/seatgeek/sixpack
- Product site: http://sixpack.seatgeek.com
Configuration
For messages to participate A/B test such as:
tag:your.arbitrary.tag {"record_type":"participate", "experiment":"header-color", "alternatives":"red,green,blue", "alternative":"red", "client_id":"ID-0000-0001"}
Or messages to convert A/B test such as
tag:your.arbitrary.tag {"record_type":"convert", "experiment":"header-color", "client_id":"ID-0000-0001"}
#you can also specify kpi id
tag:your.arbitrary.tag {"record_type":"convert", "experiment":"header-color", "client_id":"ID-0000-0001", "kpi":"conversion-100dollar"}
Configuration example for graphs in sixpack with POST api url http://sixpack:5000/(participate|convert)
. You must set this parameter.
<match app.abtest.log>
type sixpack
sixpackapi_url http://sixpack.local:5000/
</match>
With this configuration, out_sixpack posts urls below.
Parameters
Sixpack parameters
You can change assignment between param keys and values, with using settings below.
key_experiment, :default => 'experiment'
key_alternatives, :default => 'alternatives'
key_alternative, :default => 'alternative'
key_client_id, :default => 'client_id'
key_record_type, :default => 'record_type'
key_kpi , :default => 'kpi'
Configuration parameters
-
background_post
Post to Sixpack in background thread, without retries for failures (Default: false)
-
timeout
Read/Write timeout seconds (Default: 60)
-
retry
Do retry for HTTP request failures, or not. This feature will be set as false for
background_post yes
automatically. (Default: true) -
ssl
Use SSL (https) or not. Default is false.
-
verify_ssl
Do SSL verification or not. Default is false (ignore the SSL verification).
-
authentication
Specify
basic
if your Sixpack protected with basic authentication. Default is 'none' (no authentication). -
username
The username for authentication.
-
password
The password for authentication.
TODO
- More Test
- More Documents
- Full compatibility with sixpack api
Contributing
Once you've made your great commits:
- Fork fluent-plugin-sixpack
- Create your feature branch (
git checkout -b my-new-feature
) - Write tests
- Run tests with
rake test
- Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new pull request
- That's it!
Or, you can create an [Issue][is].
License
Copyright
- Copyright (c) 2014- Naoki AINOYA
- License
- Apache License, Version 2.0
Other Licence
Copyright of fluent-plugin-growthforecast
This plugin implementation is based on fluent-plugin-growthforecast.
- Copyright (c) 2012- TAGOMORI Satoshi (tagomoris)
- License
- Apache License, Version 2.0