- rename plugin status "unstable" to "beta" so as to imply less in the

word alone.
This commit is contained in:
Jordan Sissel 2012-01-30 12:30:19 -08:00
parent bcad82f033
commit e017087e8f
37 changed files with 66 additions and 46 deletions

View file

@ -4,20 +4,40 @@ layout: content_right
---
# Plugin Status
Plugins (inputs/outputs/filters) have a status in logstash. This is to provide an indicator to the end-user as to the 'state' of the plugin.
Plugins (inputs/outputs/filters) have a status in logstash. This is to provide
an indicator to the end-user as to the 'state' of the plugin.
Terminology is still being worked out but there are three general states - experimental, unstable, stable.
Terminology is still being worked out but there are three general states -
experimental, beta, stable.
The desire here is to allow people to quickly iterate on possible new plugins while conveying to the end-user a set of expectations about that plugin. This allows you to make more informed decisions about when and where to use the functionality provided by the new plugin.
The desire here is to allow people to quickly iterate on possible new plugins
while conveying to the end-user a set of expectations about that plugin. This
allows you to make more informed decisions about when and where to use the
functionality provided by the new plugin.
## Experimental
When a plugin is in the `experimental` state, it is essentially untested. This does not mean that it does not have any associated unit tests. This applies more to in-the-wild usage. Most new plugins will probably fit in this category. There is a chance that experimental plugins may be removed at some point. It is possible that an experimental plugin will be broken mid-release.
## Unstable
Unstable plugins are plugins that are in the process of being stabalized into a final form. Unstable plugins will have a bit more wide-spread usage in the community. The API for these plugins has stabilized and is unlikely to change mid-release. Test cases may or may not exist.
When a plugin is in the `experimental` state, it is essentially untested. This
does not mean that it does not have any associated unit tests. This applies
more to in-the-wild usage. Most new plugins will probably fit in this category.
There is a chance that experimental plugins may be removed at some point. It is
possible that an experimental plugin will be broken mid-release.
## Beta
Beta plugins are plugins that are in the process of being stabalized into a
final form. Beta plugins will have a bit more wide-spread usage in the
community. The API for these plugins has stabilized and is unlikely to change
mid-release. Test cases may or may not exist.
## Stable
Stable plugins are plugins that you can comfortably rely on in production. These have full test cases.
Stable plugins are plugins that you can comfortably rely on in production.
These have full test cases.
# A note about output plugins
It's worth reminding users that `output` plugins are currently blocking. If any output plugin fails, all output plugins are blocked. Please keep this in mind when using experimental output plugins as it could cause unintended side-effects.
It's worth reminding users that `output` plugins are currently blocking (by
design). If any output plugin fails, all output plugins are blocked. Please
keep this in mind when using experimental output plugins as it could cause
unintended side-effects.

View file

@ -176,10 +176,10 @@ module LogStash::Config::Mixin
case @plugin_status
when "experimental"
@logger.warn("Using experimental plugin #{@config_name}. This plugin is untested. Use at your own risk. #{docmsg}")
when "unstable"
@logger.info("Using unstable plugin #{@config_name}. #{docmsg}")
when "beta"
@logger.info("Using beta plugin #{@config_name}. #{docmsg}")
when "stable"
# This is cool.
# This is cool. Nothing worth logging.
when nil
raise "#{@config_name} must set a plugin_status. #{docmsg}"
else

View file

@ -21,7 +21,7 @@ require "logstash/time"
class LogStash::Filters::Date < LogStash::Filters::Base
config_name "date"
plugin_status "unstable"
plugin_status "beta"
# Config for date is:
# fieldname => dateformat

View file

@ -30,7 +30,7 @@ require "logstash/namespace"
class LogStash::Filters::DNS < LogStash::Filters::Base
config_name "dns"
plugin_status "unstable"
plugin_status "beta"
# Reverse resolve one or more fields.
config :reverse, :validate => :array

View file

@ -5,7 +5,7 @@ require "logstash/namespace"
# corresponding GELF levels.
class LogStash::Filters::Gelfify < LogStash::Filters::Base
config_name "gelfify"
plugin_status "unstable"
plugin_status "beta"
SYSLOG_LEVEL_MAP = {
0 => 3, # Emergency => FATAL

View file

@ -9,7 +9,7 @@ require "logstash/namespace"
class LogStash::Filters::Grep < LogStash::Filters::Base
config_name "grep"
plugin_status "unstable"
plugin_status "beta"
# Drop events that don't match
#

View file

@ -11,7 +11,7 @@ require "set"
# your own trivially. (See the patterns_dir setting)
class LogStash::Filters::Grok < LogStash::Filters::Base
config_name "grok"
plugin_status "unstable"
plugin_status "beta"
# Specify a pattern to parse with. This will match the '@message' field.
#

View file

@ -6,7 +6,7 @@ require "logstash/namespace"
class LogStash::Filters::Json < LogStash::Filters::Base
config_name "json"
plugin_status "unstable"
plugin_status "beta"
# Config for json is:
# source: dest

View file

@ -61,7 +61,7 @@ require "logstash/namespace"
class LogStash::Filters::Multiline < LogStash::Filters::Base
config_name "multiline"
plugin_status "unstable"
plugin_status "beta"
# The regular expression to match
config :pattern, :validate => :string, :require => true

View file

@ -8,7 +8,7 @@ require "logstash/time"
# TODO(sissel): Support regexp replacements like String#gsub ?
class LogStash::Filters::Mutate < LogStash::Filters::Base
config_name "mutate"
plugin_status "unstable"
plugin_status "beta"
# Rename one or more fields.
config :rename, :validate => :hash

View file

@ -13,7 +13,7 @@ require "logstash/time"
class LogStash::Filters::Split < LogStash::Filters::Base
config_name "split"
plugin_status "unstable"
plugin_status "beta"
# The string to split on. This is usually a line terminator, but can be any
# string.

View file

@ -12,7 +12,7 @@ require "logstash/namespace"
class LogStash::Inputs::Amqp < LogStash::Inputs::Base
config_name "amqp"
plugin_status "unstable"
plugin_status "beta"
# Your amqp server address
config :host, :validate => :string, :required => true

View file

@ -15,7 +15,7 @@ require "socket" # for Socket.gethostname
class LogStash::Inputs::Exec < LogStash::Inputs::Base
config_name "exec"
plugin_status "unstable"
plugin_status "beta"
# Set this to true to enable debugging on an input.
config :debug, :validate => :boolean, :default => false

View file

@ -11,7 +11,7 @@ require "socket" # for Socket.gethostname
# is detected and handled by this input.
class LogStash::Inputs::File < LogStash::Inputs::Base
config_name "file"
plugin_status "unstable"
plugin_status "beta"
# The path to the file to use as an input.
# You can use globs here, such as "/var/log/*.log"

View file

@ -13,7 +13,7 @@ require "socket"
#
class LogStash::Inputs::Gelf < LogStash::Inputs::Base
config_name "gelf"
plugin_status "unstable"
plugin_status "beta"
# The address to listen on
config :host, :validate => :string, :default => "0.0.0.0"

View file

@ -8,7 +8,7 @@ require "logstash/namespace"
class LogStash::Inputs::Redis < LogStash::Inputs::Base
config_name "redis"
plugin_status "unstable"
plugin_status "beta"
# Name is used for logging in case there are multiple instances.
# This feature has no real function and will be removed in future versions.

View file

@ -10,7 +10,7 @@ class LogStash::Inputs::Stdin < LogStash::Inputs::Base
config_name "stdin"
plugin_status "unstable"
plugin_status "beta"
public
def register

View file

@ -4,7 +4,7 @@ require 'pp'
class LogStash::Inputs::Stomp < LogStash::Inputs::Base
config_name "stomp"
plugin_status "unstable"
plugin_status "beta"
# The address of the STOMP server.
config :host, :validate => :string, :default => "localhost", :required => true

View file

@ -20,7 +20,7 @@ require "socket"
# Note: this input will start listeners on both TCP and UDP
class LogStash::Inputs::Syslog < LogStash::Inputs::Base
config_name "syslog"
plugin_status "unstable"
plugin_status "beta"
# The address to listen on
config :host, :validate => :string, :default => "0.0.0.0"

View file

@ -12,7 +12,7 @@ require "timeout"
class LogStash::Inputs::Tcp < LogStash::Inputs::Base
config_name "tcp"
plugin_status "unstable"
plugin_status "beta"
# When mode is `server`, the address to listen on.
# When mode is `client`, the address to connect to.

View file

@ -8,7 +8,7 @@ require "json"
class LogStash::Inputs::Twitter < LogStash::Inputs::Base
config_name "twitter"
plugin_status "unstable"
plugin_status "beta"
# Your twitter username
config :user, :validate => :string, :required => true

View file

@ -9,7 +9,7 @@ require "logstash/namespace"
class LogStash::Inputs::Xmpp < LogStash::Inputs::Base
config_name "xmpp"
plugin_status "unstable"
plugin_status "beta"
# The user or resource ID, like foo@example.com.
config :user, :validate => :string, :required => :true

View file

@ -10,7 +10,7 @@ class LogStash::Outputs::Amqp < LogStash::Outputs::Base
MQTYPES = [ "fanout", "direct", "topic" ]
config_name "amqp"
plugin_status "unstable"
plugin_status "beta"
# Your amqp server address
config :host, :validate => :string, :required => true

View file

@ -17,7 +17,7 @@ require "net/http"
class LogStash::Outputs::ElasticSearchRiver < LogStash::Outputs::Base
config_name "elasticsearch_river"
plugin_status "unstable"
plugin_status "beta"
config :debug, :validate => :boolean, :default => false

View file

@ -9,7 +9,7 @@ require "zlib"
class LogStash::Outputs::File < LogStash::Outputs::Base
config_name "file"
plugin_status "unstable"
plugin_status "beta"
# The path to the file to write. Event fields can be used here,
# like "/var/log/logstash/%{@source_host}/%{application}"

View file

@ -5,7 +5,7 @@ require "logstash/namespace"
# ganglia's gmond. This is heavily based on the graphite output.
class LogStash::Outputs::Ganglia < LogStash::Outputs::Base
config_name "ganglia"
plugin_status "unstable"
plugin_status "beta"
# The address of the graphite server.
config :host, :validate => :string, :default => "localhost"

View file

@ -8,7 +8,7 @@ require "logstash/outputs/base"
class LogStash::Outputs::Gelf < LogStash::Outputs::Base
config_name "gelf"
plugin_status "unstable"
plugin_status "beta"
# graylog2 server address
config :host, :validate => :string, :required => true

View file

@ -10,7 +10,7 @@ require "socket"
# I can capture the metric values from the logs and emit them to graphite.
class LogStash::Outputs::Graphite < LogStash::Outputs::Base
config_name "graphite"
plugin_status "unstable"
plugin_status "beta"
# The address of the graphite server.
config :host, :validate => :string, :default => "localhost"

View file

@ -25,7 +25,7 @@ end
# and 'json logging' enabled.
class LogStash::Outputs::Loggly < LogStash::Outputs::Base
config_name "loggly"
plugin_status "unstable"
plugin_status "beta"
# The hostname to send logs to. This should target the loggly http input
# server which is usually "logs.loggly.com"

View file

@ -4,7 +4,7 @@ require "logstash/namespace"
class LogStash::Outputs::Mongodb < LogStash::Outputs::Base
config_name "mongodb"
plugin_status "unstable"
plugin_status "beta"
# your mongodb host
config :host, :validate => :string, :required => true

View file

@ -40,7 +40,7 @@ class LogStash::Outputs::Nagios < LogStash::Outputs::Base
NAGIOS_WARN = 1
config_name "nagios"
plugin_status "unstable"
plugin_status "beta"
# The path to your nagios command file
config :commandfile, :validate => :string, :default => "/var/lib/nagios3/rw/nagios.cmd"

View file

@ -7,7 +7,7 @@ require "logstash/namespace"
class LogStash::Outputs::Redis < LogStash::Outputs::Base
config_name "redis"
plugin_status "unstable"
plugin_status "beta"
# Name is used for logging in case there are multiple instances.
# TODO: delete

View file

@ -20,7 +20,7 @@ class LogStash::Outputs::Statsd < LogStash::Outputs::Base
## Regex stolen from statsd code
RESERVED_CHARACTERS_REGEX = /[\:\|\@]/
config_name "statsd"
plugin_status "unstable"
plugin_status "beta"
# The address of the Statsd server.
config :host, :validate => :string, :default => "localhost"

View file

@ -3,7 +3,7 @@ require "logstash/namespace"
class LogStash::Outputs::Stomp < LogStash::Outputs::Base
config_name "stomp"
plugin_status "unstable"
plugin_status "beta"
# The address of the STOMP server.
config :host, :validate => :string, :required => true

View file

@ -12,7 +12,7 @@ require "thread"
class LogStash::Outputs::Tcp < LogStash::Outputs::Base
config_name "tcp"
plugin_status "unstable"
plugin_status "beta"
# When mode is `server`, the address to listen on.
# When mode is `client`, the address to connect to.

View file

@ -7,7 +7,7 @@ require "logstash/namespace"
# use it for PubSub or general message passing for logstash to logstash.
class LogStash::Outputs::Xmpp < LogStash::Outputs::Base
config_name "xmpp"
plugin_status "unstable"
plugin_status "beta"
# The user or resource ID, like foo@example.com.
config :user, :validate => :string, :required => :true

View file

@ -50,7 +50,7 @@ require "logstash/outputs/base"
class LogStash::Outputs::Zabbix < LogStash::Outputs::Base
config_name "zabbix"
plugin_status "unstable"
plugin_status "beta"
config :host, :validate => :string, :default => "localhost"
config :port, :validate => :number, :default => 10051