diff --git a/docs/docgen.rb b/docs/docgen.rb
index 52c0318774f..f6610ce68cb 100644
--- a/docs/docgen.rb
+++ b/docs/docgen.rb
@@ -23,6 +23,7 @@ def initialize
/^ *class.*< *LogStash::(Outputs|Filters|Inputs)::Base/ => \
lambda { |m| set_class_description },
/^ *config +[^=].*/ => lambda { |m| add_config(m[0]) },
+ /^ *plugin_status .*/ => lambda { |m| set_plugin_status(m[0]) },
/^ *config_name .*/ => lambda { |m| set_config_name(m[0]) },
/^ *flag[( ].*/ => lambda { |m| add_flag(m[0]) },
/^ *(class|def|module) / => lambda { |m| clear_comments },
@@ -96,6 +97,11 @@ def set_config_name(code)
@name = name
end # def set_config_name
+ def set_plugin_status(code)
+ status = eval(code)
+ @plugin_status = status
+ end
+
# pretend to be the config DSL and just get the name
def config(name, opts={})
return name, opts
@@ -113,6 +119,11 @@ def config_name(name)
return name
end # def config_name
+ # pretend to be the config dsl's 'plugin_status' method
+ def plugin_status(status)
+ return status
+ end # def plugin_status
+
def clear_comments
@comments.clear
end # def clear_comments
@@ -126,6 +137,7 @@ def generate(file, settings)
@comments = []
@settings = {}
@class_description = ""
+ @plugin_status = ""
# parse base first
parse(File.new(File.join(File.dirname(file), "base.rb"), "r").read)
diff --git a/docs/docs.html.erb b/docs/docs.html.erb
index d2bdce8500d..70fca64bb82 100644
--- a/docs/docs.html.erb
+++ b/docs/docs.html.erb
@@ -3,6 +3,7 @@ title: logstash docs for <%= section %>s/<%= name %>
layout: content_right
---
<%= name %>
+
<%= description %>
diff --git a/docs/plugin-status.md b/docs/plugin-status.md
new file mode 100644
index 00000000000..5cf2773123c
--- /dev/null
+++ b/docs/plugin-status.md
@@ -0,0 +1,23 @@
+---
+title: Plugin Status - logstash
+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.
+
+Terminology is still being worked out but there are three general states - experimental, unstable, 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.
+
+## 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.
+
+## Stable
+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.
diff --git a/lib/logstash/config/mixin.rb b/lib/logstash/config/mixin.rb
index e86be242c15..eb998f4a4b0 100644
--- a/lib/logstash/config/mixin.rb
+++ b/lib/logstash/config/mixin.rb
@@ -99,6 +99,11 @@ def config_name(name=nil)
return @config_name
end
+ def plugin_status(status=nil)
+ @plugin_status = status if !status.nil?
+ return @plugin_status
+ end
+
# Define a new configuration setting
def config(name, opts={})
@config ||= Hash.new
@@ -157,6 +162,7 @@ def validate(params)
@logger = LogStash::Logger.new(STDOUT)
is_valid = true
+ is_valid &&= validate_plugin_status
is_valid &&= validate_check_invalid_parameter_names(params)
is_valid &&= validate_check_required_parameter_names(params)
is_valid &&= validate_check_parameter_values(params)
@@ -164,6 +170,22 @@ def validate(params)
return is_valid
end # def validate
+ def validate_plugin_status
+ case @plugin_status
+ when "experimental"
+ @logger.warn("Using experimental plugin #{@config_name}. This plugin is untested. Use at your own risk")
+ when "unstable"
+ @logger.info("Using unstable plugin #{@config_name}.")
+ when "stable"
+ # This is cool.
+ when nil
+ raise "#{@config_name} must set a plugin_status"
+ else
+ raise "#{@config_name} set an invalid plugin status #{@plugin_status}. Valid values are experimental, unstable and stable"
+ end
+ return true
+ end
+
def validate_check_invalid_parameter_names(params)
invalid_params = params.keys
# Filter out parameters that match regexp keys.
diff --git a/lib/logstash/filters/date.rb b/lib/logstash/filters/date.rb
index 144dea7be52..8f47bd6686c 100644
--- a/lib/logstash/filters/date.rb
+++ b/lib/logstash/filters/date.rb
@@ -21,6 +21,7 @@
class LogStash::Filters::Date < LogStash::Filters::Base
config_name "date"
+ plugin_status "unstable"
# Config for date is:
# fieldname => dateformat
diff --git a/lib/logstash/filters/dns.rb b/lib/logstash/filters/dns.rb
index 094e248544d..a709ac743d2 100644
--- a/lib/logstash/filters/dns.rb
+++ b/lib/logstash/filters/dns.rb
@@ -30,6 +30,7 @@
class LogStash::Filters::DNS < LogStash::Filters::Base
config_name "dns"
+ plugin_status "unstable"
# Reverse resolve one or more fields.
config :reverse, :validate => :array
diff --git a/lib/logstash/filters/gelfify.rb b/lib/logstash/filters/gelfify.rb
index 4369197e331..89ff339b8e5 100644
--- a/lib/logstash/filters/gelfify.rb
+++ b/lib/logstash/filters/gelfify.rb
@@ -5,6 +5,7 @@
# corresponding GELF levels.
class LogStash::Filters::Gelfify < LogStash::Filters::Base
config_name "gelfify"
+ plugin_status "unstable"
SYSLOG_LEVEL_MAP = {
0 => 3, # Emergency => FATAL
diff --git a/lib/logstash/filters/grep.rb b/lib/logstash/filters/grep.rb
index 430870c794b..ab1b5964de7 100644
--- a/lib/logstash/filters/grep.rb
+++ b/lib/logstash/filters/grep.rb
@@ -9,6 +9,7 @@
class LogStash::Filters::Grep < LogStash::Filters::Base
config_name "grep"
+ plugin_status "unstable"
# Drop events that don't match
#
diff --git a/lib/logstash/filters/grok.rb b/lib/logstash/filters/grok.rb
index 739185989ba..346e2991d9e 100644
--- a/lib/logstash/filters/grok.rb
+++ b/lib/logstash/filters/grok.rb
@@ -11,6 +11,7 @@
# your own trivially. (See the patterns_dir setting)
class LogStash::Filters::Grok < LogStash::Filters::Base
config_name "grok"
+ plugin_status "unstable"
# Specify a pattern to parse with. This will match the '@message' field.
#
diff --git a/lib/logstash/filters/grokdiscovery.rb b/lib/logstash/filters/grokdiscovery.rb
index 29e94c9abcc..deeb53a0b8c 100644
--- a/lib/logstash/filters/grokdiscovery.rb
+++ b/lib/logstash/filters/grokdiscovery.rb
@@ -6,6 +6,7 @@
class LogStash::Filters::Grokdiscovery < LogStash::Filters::Base
config_name "grokdiscovery"
+ plugin_status "experimental"
public
def initialize(config = {})
diff --git a/lib/logstash/filters/json.rb b/lib/logstash/filters/json.rb
index ddb039d36d9..1dc722b1765 100644
--- a/lib/logstash/filters/json.rb
+++ b/lib/logstash/filters/json.rb
@@ -6,6 +6,7 @@
class LogStash::Filters::Json < LogStash::Filters::Base
config_name "json"
+ plugin_status "unstable"
# Config for json is:
# source: dest
diff --git a/lib/logstash/filters/multiline.rb b/lib/logstash/filters/multiline.rb
index 7ad12955a50..20bb91c58ef 100644
--- a/lib/logstash/filters/multiline.rb
+++ b/lib/logstash/filters/multiline.rb
@@ -61,6 +61,7 @@
class LogStash::Filters::Multiline < LogStash::Filters::Base
config_name "multiline"
+ plugin_status "unstable"
# The regular expression to match
config :pattern, :validate => :string, :require => true
diff --git a/lib/logstash/filters/mutate.rb b/lib/logstash/filters/mutate.rb
index 6494107a7a2..e5f9188ccbd 100644
--- a/lib/logstash/filters/mutate.rb
+++ b/lib/logstash/filters/mutate.rb
@@ -8,6 +8,7 @@
# TODO(sissel): Support regexp replacements like String#gsub ?
class LogStash::Filters::Mutate < LogStash::Filters::Base
config_name "mutate"
+ plugin_status "unstable"
# Rename one or more fields.
config :rename, :validate => :hash
diff --git a/lib/logstash/filters/split.rb b/lib/logstash/filters/split.rb
index 9d678101e2b..d2ad5805eef 100644
--- a/lib/logstash/filters/split.rb
+++ b/lib/logstash/filters/split.rb
@@ -13,6 +13,7 @@
class LogStash::Filters::Split < LogStash::Filters::Base
config_name "split"
+ plugin_status "unstable"
# The string to split on. This is usually a line terminator, but can be any
# string.
diff --git a/lib/logstash/inputs/amqp.rb b/lib/logstash/inputs/amqp.rb
index 1da199a0738..94dbb5bec40 100644
--- a/lib/logstash/inputs/amqp.rb
+++ b/lib/logstash/inputs/amqp.rb
@@ -12,6 +12,7 @@
class LogStash::Inputs::Amqp < LogStash::Inputs::Base
config_name "amqp"
+ plugin_status "unstable"
# Your amqp server address
config :host, :validate => :string, :required => true
diff --git a/lib/logstash/inputs/exec.rb b/lib/logstash/inputs/exec.rb
index a9547570b41..e11af4fd755 100644
--- a/lib/logstash/inputs/exec.rb
+++ b/lib/logstash/inputs/exec.rb
@@ -15,6 +15,7 @@
class LogStash::Inputs::Exec < LogStash::Inputs::Base
config_name "exec"
+ plugin_status "unstable"
# Set this to true to enable debugging on an input.
config :debug, :validate => :boolean, :default => false
diff --git a/lib/logstash/inputs/file.rb b/lib/logstash/inputs/file.rb
index b7531400ad3..eb78495da18 100644
--- a/lib/logstash/inputs/file.rb
+++ b/lib/logstash/inputs/file.rb
@@ -11,6 +11,7 @@
# is detected and handled by this input.
class LogStash::Inputs::File < LogStash::Inputs::Base
config_name "file"
+ plugin_status "unstable"
# The path to the file to use as an input.
# You can use globs here, such as "/var/log/*.log"
diff --git a/lib/logstash/inputs/gelf.rb b/lib/logstash/inputs/gelf.rb
index 83e43533793..3b6a44b7acf 100644
--- a/lib/logstash/inputs/gelf.rb
+++ b/lib/logstash/inputs/gelf.rb
@@ -13,6 +13,7 @@
#
class LogStash::Inputs::Gelf < LogStash::Inputs::Base
config_name "gelf"
+ plugin_status "unstable"
# The address to listen on
config :host, :validate => :string, :default => "0.0.0.0"
diff --git a/lib/logstash/inputs/redis.rb b/lib/logstash/inputs/redis.rb
index 2b656700162..62447a24f52 100644
--- a/lib/logstash/inputs/redis.rb
+++ b/lib/logstash/inputs/redis.rb
@@ -8,6 +8,7 @@
class LogStash::Inputs::Redis < LogStash::Inputs::Base
config_name "redis"
+ plugin_status "unstable"
# Name is used for logging in case there are multiple instances.
# This feature has no real function and will be removed in future versions.
diff --git a/lib/logstash/inputs/stdin.rb b/lib/logstash/inputs/stdin.rb
index cc2e71df912..31eaf384964 100644
--- a/lib/logstash/inputs/stdin.rb
+++ b/lib/logstash/inputs/stdin.rb
@@ -10,6 +10,8 @@ class LogStash::Inputs::Stdin < LogStash::Inputs::Base
config_name "stdin"
+ plugin_status "unstable"
+
public
def register
@host = Socket.gethostname
diff --git a/lib/logstash/inputs/stomp.rb b/lib/logstash/inputs/stomp.rb
index cb60e30d9c9..68c51fba98e 100644
--- a/lib/logstash/inputs/stomp.rb
+++ b/lib/logstash/inputs/stomp.rb
@@ -4,6 +4,7 @@
class LogStash::Inputs::Stomp < LogStash::Inputs::Base
config_name "stomp"
+ plugin_status "unstable"
# The address of the STOMP server.
config :host, :validate => :string, :default => "localhost", :required => true
@@ -69,4 +70,3 @@ def run(output_queue)
subscription_handler
end # def run
end # class LogStash::Inputs::Stomp
-
diff --git a/lib/logstash/inputs/syslog.rb b/lib/logstash/inputs/syslog.rb
index dc4fda9c444..099bcc1e757 100644
--- a/lib/logstash/inputs/syslog.rb
+++ b/lib/logstash/inputs/syslog.rb
@@ -20,6 +20,7 @@
# Note: this input will start listeners on both TCP and UDP
class LogStash::Inputs::Syslog < LogStash::Inputs::Base
config_name "syslog"
+ plugin_status "unstable"
# The address to listen on
config :host, :validate => :string, :default => "0.0.0.0"
diff --git a/lib/logstash/inputs/tcp.rb b/lib/logstash/inputs/tcp.rb
index b27329c2a1a..faaba20ae1b 100644
--- a/lib/logstash/inputs/tcp.rb
+++ b/lib/logstash/inputs/tcp.rb
@@ -12,6 +12,7 @@
class LogStash::Inputs::Tcp < LogStash::Inputs::Base
config_name "tcp"
+ plugin_status "unstable"
# When mode is `server`, the address to listen on.
# When mode is `client`, the address to connect to.
diff --git a/lib/logstash/inputs/twitter.rb b/lib/logstash/inputs/twitter.rb
index 5f3ae466e34..18c386ee94e 100644
--- a/lib/logstash/inputs/twitter.rb
+++ b/lib/logstash/inputs/twitter.rb
@@ -8,7 +8,8 @@
class LogStash::Inputs::Twitter < LogStash::Inputs::Base
config_name "twitter"
-
+ plugin_status "unstable"
+
# Your twitter username
config :user, :validate => :string, :required => true
diff --git a/lib/logstash/inputs/xmpp.rb b/lib/logstash/inputs/xmpp.rb
index 48ee3d939a4..7b0b7bcef7f 100644
--- a/lib/logstash/inputs/xmpp.rb
+++ b/lib/logstash/inputs/xmpp.rb
@@ -9,6 +9,7 @@
class LogStash::Inputs::Xmpp < LogStash::Inputs::Base
config_name "xmpp"
+ plugin_status "unstable"
# The user or resource ID, like foo@example.com.
config :user, :validate => :string, :required => :true
@@ -67,4 +68,3 @@ def run(queue)
end # def run
end # def class LogStash:Inputs::Xmpp
-
diff --git a/lib/logstash/inputs/zmq.rb b/lib/logstash/inputs/zmq.rb
index 82ab8a5d26b..a2ca6e66be4 100644
--- a/lib/logstash/inputs/zmq.rb
+++ b/lib/logstash/inputs/zmq.rb
@@ -15,6 +15,7 @@
class LogStash::Inputs::Zmq < LogStash::Inputs::Base
config_name "zmq"
+ plugin_status "experimental"
# 0mq socket address to connect or bind to
config :address, :validate => :string, :default => "tcp://127.0.0.1:2120"
diff --git a/lib/logstash/outputs/amqp.rb b/lib/logstash/outputs/amqp.rb
index 4529f5c1151..3b8b19d729d 100644
--- a/lib/logstash/outputs/amqp.rb
+++ b/lib/logstash/outputs/amqp.rb
@@ -10,6 +10,7 @@ class LogStash::Outputs::Amqp < LogStash::Outputs::Base
MQTYPES = [ "fanout", "direct", "topic" ]
config_name "amqp"
+ plugin_status "unstable"
# Your amqp server address
config :host, :validate => :string, :required => true
diff --git a/lib/logstash/outputs/elasticsearch.rb b/lib/logstash/outputs/elasticsearch.rb
index d0ade5ba3ef..ca4f9d23425 100644
--- a/lib/logstash/outputs/elasticsearch.rb
+++ b/lib/logstash/outputs/elasticsearch.rb
@@ -12,6 +12,7 @@
class LogStash::Outputs::ElasticSearch < LogStash::Outputs::Base
config_name "elasticsearch"
+ plugin_status "stable"
# ElasticSearch server name. This is optional if your server is discoverable.
config :host, :validate => :string
diff --git a/lib/logstash/outputs/elasticsearch_river.rb b/lib/logstash/outputs/elasticsearch_river.rb
index 2fc75098ff8..60706dd64d1 100644
--- a/lib/logstash/outputs/elasticsearch_river.rb
+++ b/lib/logstash/outputs/elasticsearch_river.rb
@@ -17,6 +17,7 @@
class LogStash::Outputs::ElasticSearchRiver < LogStash::Outputs::Base
config_name "elasticsearch_river"
+ plugin_status "unstable"
config :debug, :validate => :boolean, :default => false
@@ -172,4 +173,3 @@ def receive(event)
@mq.receive_raw(index_message)
end # def receive
end # LogStash::Outputs::ElasticSearchRiver
-
diff --git a/lib/logstash/outputs/file.rb b/lib/logstash/outputs/file.rb
index ce21b929b6d..643851513ea 100644
--- a/lib/logstash/outputs/file.rb
+++ b/lib/logstash/outputs/file.rb
@@ -8,7 +8,8 @@
class LogStash::Outputs::File < LogStash::Outputs::Base
config_name "file"
-
+ plugin_status "unstable"
+
# The path to the file to write. Event fields can be used here,
# like "/var/log/logstash/%{@source_host}/%{application}"
config :path, :validate => :string, :required => true
diff --git a/lib/logstash/outputs/ganglia.rb b/lib/logstash/outputs/ganglia.rb
index 852cc547cc1..e04fb138096 100644
--- a/lib/logstash/outputs/ganglia.rb
+++ b/lib/logstash/outputs/ganglia.rb
@@ -5,6 +5,7 @@
# ganglia's gmond. This is heavily based on the graphite output.
class LogStash::Outputs::Ganglia < LogStash::Outputs::Base
config_name "ganglia"
+ plugin_status "unstable"
# The address of the graphite server.
config :host, :validate => :string, :default => "localhost"
diff --git a/lib/logstash/outputs/gelf.rb b/lib/logstash/outputs/gelf.rb
index ee1defa3d84..0ca9d5f2e93 100644
--- a/lib/logstash/outputs/gelf.rb
+++ b/lib/logstash/outputs/gelf.rb
@@ -8,7 +8,8 @@
class LogStash::Outputs::Gelf < LogStash::Outputs::Base
config_name "gelf"
-
+ plugin_status "unstable"
+
# graylog2 server address
config :host, :validate => :string, :required => true
diff --git a/lib/logstash/outputs/graphite.rb b/lib/logstash/outputs/graphite.rb
index b51c150d670..272616b8610 100644
--- a/lib/logstash/outputs/graphite.rb
+++ b/lib/logstash/outputs/graphite.rb
@@ -10,6 +10,7 @@
# 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"
# The address of the graphite server.
config :host, :validate => :string, :default => "localhost"
diff --git a/lib/logstash/outputs/internal.rb b/lib/logstash/outputs/internal.rb
index 980be83295e..e543d189041 100644
--- a/lib/logstash/outputs/internal.rb
+++ b/lib/logstash/outputs/internal.rb
@@ -5,6 +5,7 @@
# is not useful for general deployment.
class LogStash::Outputs::Internal < LogStash::Outputs::Base
config_name "internal"
+ plugin_status "stable"
attr_accessor :callback
diff --git a/lib/logstash/outputs/loggly.rb b/lib/logstash/outputs/loggly.rb
index 1c9de3d0199..ca7b167bb23 100644
--- a/lib/logstash/outputs/loggly.rb
+++ b/lib/logstash/outputs/loggly.rb
@@ -25,6 +25,7 @@ def rbuf_fill
# and 'json logging' enabled.
class LogStash::Outputs::Loggly < LogStash::Outputs::Base
config_name "loggly"
+ plugin_status "unstable"
# The hostname to send logs to. This should target the loggly http input
# server which is usually "logs.loggly.com"
diff --git a/lib/logstash/outputs/mongodb.rb b/lib/logstash/outputs/mongodb.rb
index e0f49759eca..08625306302 100644
--- a/lib/logstash/outputs/mongodb.rb
+++ b/lib/logstash/outputs/mongodb.rb
@@ -4,6 +4,7 @@
class LogStash::Outputs::Mongodb < LogStash::Outputs::Base
config_name "mongodb"
+ plugin_status "unstable"
# your mongodb host
config :host, :validate => :string, :required => true
diff --git a/lib/logstash/outputs/nagios.rb b/lib/logstash/outputs/nagios.rb
index bd63b08f5e4..22d32576d72 100644
--- a/lib/logstash/outputs/nagios.rb
+++ b/lib/logstash/outputs/nagios.rb
@@ -40,6 +40,7 @@ class LogStash::Outputs::Nagios < LogStash::Outputs::Base
NAGIOS_WARN = 1
config_name "nagios"
+ plugin_status "unstable"
# The path to your nagios command file
config :commandfile, :validate => :string, :default => "/var/lib/nagios3/rw/nagios.cmd"
diff --git a/lib/logstash/outputs/null.rb b/lib/logstash/outputs/null.rb
index 5171ef94395..bf06f560169 100644
--- a/lib/logstash/outputs/null.rb
+++ b/lib/logstash/outputs/null.rb
@@ -5,6 +5,7 @@
# performance.
class LogStash::Outputs::Null < LogStash::Outputs::Base
config_name "null"
+ plugin_status "stable"
public
def register
diff --git a/lib/logstash/outputs/redis.rb b/lib/logstash/outputs/redis.rb
index 40a0fdb2543..08868b4c8db 100644
--- a/lib/logstash/outputs/redis.rb
+++ b/lib/logstash/outputs/redis.rb
@@ -7,6 +7,7 @@
class LogStash::Outputs::Redis < LogStash::Outputs::Base
config_name "redis"
+ plugin_status "unstable"
# Name is used for logging in case there are multiple instances.
# TODO: delete
diff --git a/lib/logstash/outputs/statsd.rb b/lib/logstash/outputs/statsd.rb
index 1272cd465d7..cec26d59aa6 100644
--- a/lib/logstash/outputs/statsd.rb
+++ b/lib/logstash/outputs/statsd.rb
@@ -20,6 +20,7 @@ class LogStash::Outputs::Statsd < LogStash::Outputs::Base
## Regex stolen from statsd code
RESERVED_CHARACTERS_REGEX = /[\:\|\@]/
config_name "statsd"
+ plugin_status "unstable"
# The address of the Statsd server.
config :host, :validate => :string, :default => "localhost"
diff --git a/lib/logstash/outputs/stdout.rb b/lib/logstash/outputs/stdout.rb
index c3600a9dca7..39b2babe48e 100644
--- a/lib/logstash/outputs/stdout.rb
+++ b/lib/logstash/outputs/stdout.rb
@@ -8,6 +8,7 @@ class LogStash::Outputs::Stdout < LogStash::Outputs::Base
end
config_name "stdout"
+ plugin_status "stable"
# Enable debugging. Tries to pretty-print the entire event object.
config :debug, :validate => :boolean
diff --git a/lib/logstash/outputs/stomp.rb b/lib/logstash/outputs/stomp.rb
index e244070e977..181f3a904cb 100644
--- a/lib/logstash/outputs/stomp.rb
+++ b/lib/logstash/outputs/stomp.rb
@@ -3,7 +3,7 @@
class LogStash::Outputs::Stomp < LogStash::Outputs::Base
config_name "stomp"
-
+ plugin_status "unstable"
# The address of the STOMP server.
config :host, :validate => :string, :required => true
@@ -60,4 +60,3 @@ def receive(event)
@client.send(event.sprintf(@destination), event.to_json)
end # def receive
end # class LogStash::Outputs::Stomp
-
diff --git a/lib/logstash/outputs/tcp.rb b/lib/logstash/outputs/tcp.rb
index 34d0bc5eea1..88622020c47 100644
--- a/lib/logstash/outputs/tcp.rb
+++ b/lib/logstash/outputs/tcp.rb
@@ -12,6 +12,7 @@
class LogStash::Outputs::Tcp < LogStash::Outputs::Base
config_name "tcp"
+ plugin_status "unstable"
# When mode is `server`, the address to listen on.
# When mode is `client`, the address to connect to.
diff --git a/lib/logstash/outputs/websocket.rb b/lib/logstash/outputs/websocket.rb
index eb42523b6d8..66ce16ecd71 100644
--- a/lib/logstash/outputs/websocket.rb
+++ b/lib/logstash/outputs/websocket.rb
@@ -5,6 +5,7 @@
class LogStash::Outputs::Websocket < LogStash::Outputs::Base
config_name "websocket"
+ plugin_status "experimental"
# The address to serve websocket data from
config :host, :validate => :string, :default => "0.0.0.0"
diff --git a/lib/logstash/outputs/xmpp.rb b/lib/logstash/outputs/xmpp.rb
index 1e00add64a3..d5607e7079d 100644
--- a/lib/logstash/outputs/xmpp.rb
+++ b/lib/logstash/outputs/xmpp.rb
@@ -7,6 +7,7 @@
# 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"
# The user or resource ID, like foo@example.com.
config :user, :validate => :string, :required => :true
diff --git a/lib/logstash/outputs/zabbix.rb b/lib/logstash/outputs/zabbix.rb
index fda92949786..555caf2ed03 100644
--- a/lib/logstash/outputs/zabbix.rb
+++ b/lib/logstash/outputs/zabbix.rb
@@ -50,7 +50,8 @@
class LogStash::Outputs::Zabbix < LogStash::Outputs::Base
config_name "zabbix"
-
+ plugin_status "unstable"
+
config :host, :validate => :string, :default => "localhost"
config :port, :validate => :number, :default => 10051
config :zabbix_sender, :validate => :string, :default => "/usr/local/bin/zabbix_sender"
diff --git a/lib/logstash/outputs/zmq.rb b/lib/logstash/outputs/zmq.rb
index 6d05df03874..ef14aa317b6 100644
--- a/lib/logstash/outputs/zmq.rb
+++ b/lib/logstash/outputs/zmq.rb
@@ -15,6 +15,7 @@
class LogStash::Outputs::Zmq < LogStash::Outputs::Base
config_name "zmq"
+ plugin_status "experimental"
# 0mq socket address to connect or bind to
config :address, :validate => :string, :default => "tcp://127.0.0.1:2120"