logstash-output-statsd 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62e988a5f03ea23cf43bbe242d996a2ce782e0a3
4
- data.tar.gz: e40e5654a8b0f5ad241fc46f57ce34ffab0ada38
3
+ metadata.gz: c657a3cd065de2a88a6b864835c2559dd4dd5924
4
+ data.tar.gz: a901e6c81be6c2a1a695a5897f2ad9ce3bf5823c
5
5
  SHA512:
6
- metadata.gz: 378e92edf4ebb252cd0f7af48d947662b7b8ddec9afbce62db3f3fb467f0dd725bc306550b1b2dfbbf95ce035b3360b01ad41b55c238d8a8bdef4c01f3946d9d
7
- data.tar.gz: 5b9ba12e7aabf47d458598f76b3a0bbefb76a7cd8dbf9c73182ace91c4f41b3bb45bf1b99f7be3a8eeb66054b1e90945dfff39fb7e39e65015ea10b7d7e3f1c5
6
+ metadata.gz: 537b0f1883a15ebfb612cc01c3336ca99dd80eb30d03951a6a4684f6521ea7aa76dcb508853f4023a81b348ea796e49aea55e2a5961d579d1927d49f8a0c24ff
7
+ data.tar.gz: 2b3d9bb64089f630de55acf760ce4df4bcbb0d9e70e073c2f60dfef74acfac2cc0305b1f9425347230be999df7a61e82894d1e293fcd77640e3184a2bd9971f0
@@ -1,7 +1,10 @@
1
+ ## 2.0.5
2
+ - Doc improvements.
3
+
1
4
  ## 2.0.2
2
5
  - Avoid rspec.configure global after and before :all blocks
3
6
  ## 2.0.0
4
- - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
7
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
5
8
  instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
6
9
  - Dependency on logstash-core update to 2.0
7
10
 
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Logstash Plugin
2
2
 
3
+ [![Build
4
+ Status](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Outputs/job/logstash-plugin-output-statsd-unit/badge/icon)](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Outputs/job/logstash-plugin-output-statsd-unit/)
5
+
3
6
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
4
7
 
5
8
  It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
@@ -3,76 +3,90 @@ require "logstash/outputs/base"
3
3
  require "logstash/namespace"
4
4
 
5
5
  # statsd is a network daemon for aggregating statistics, such as counters and timers,
6
- # and shipping over UDP to backend services, such as Graphite or Datadog.
7
- #
8
- # The most basic coverage of this plugin is that the 'namespace', 'sender', and
9
- # 'metric' names are combined into the full metric path like so:
10
- #
11
- # `namespace.sender.metric`
12
- #
13
- # The general idea is that you send statsd count or latency data and every few
14
- # seconds it will emit the aggregated values to the backend. Example aggregates are
15
- # `average`, `max`, `stddev`, etc.
6
+ # and shipping over UDP to backend services, such as Graphite or Datadog. The general
7
+ # idea is that you send metrics to statsd and every few seconds it will emit the
8
+ # aggregated values to the backend. Example aggregates are sums, average and maximum
9
+ # values, their standard deviation, etc. This plugin makes it easy to send such
10
+ # metrics based on data in Logstash events.
16
11
  #
17
12
  # You can learn about statsd here:
18
13
  #
19
- # * http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/[Etsy blog post announcing statsd]
14
+ # * https://codeascraft.com/2011/02/15/measure-anything-measure-everything/[Etsy blog post announcing statsd]
20
15
  # * https://github.com/etsy/statsd[statsd on github]
21
16
  #
22
- # A simple example usage of this is to count HTTP hits by response code; to learn
23
- # more about that, check out the ../tutorials/metrics-from-logs[log metrics tutorial]
17
+ # Typical examples of how this can be used with Logstash include counting HTTP hits
18
+ # by response code, summing the total number of bytes of traffic served, and tracking
19
+ # the 50th and 95th percentile of the processing time of requests.
24
20
  #
25
- # The default final metric sent to statsd would look like this:
21
+ # Each metric emitted to statsd has a dot-separated path, a type, and a value. The
22
+ # metric path is built from the `namespace` and `sender` options together with the
23
+ # metric name that's picked up depending on the type of metric. All in all, the
24
+ # metric path will follow this pattern:
26
25
  #
27
- # `namespace.sender.metric`
26
+ # namespace.sender.metric
28
27
  #
29
- # With regards to this plugin, the default namespace is "logstash", the default sender
30
- # is the `${host}` field, and the metric name depends on what is set as the metric name
31
- # in the `increment`, `decrement`, `timing`, `count, `set` or `gauge` variable.
28
+ # With regards to this plugin, the default namespace is "logstash", the default
29
+ # sender is the `host` field, and the metric name depends on what is set as the
30
+ # metric name in the `increment`, `decrement`, `timing`, `count`, `set` or `gauge`
31
+ # options. In metric paths, colons (":"), pipes ("|") and at signs ("@") are reserved
32
+ # and will be replaced by underscores ("_").
32
33
  #
33
34
  # Example:
34
35
  # [source,ruby]
35
36
  # output {
36
- # statsd {
37
- # host => "statsd.example.org"
38
- # count => {
39
- # "http.bytes" => "%{bytes}"
37
+ # statsd {
38
+ # host => "statsd.example.org"
39
+ # count => {
40
+ # "http.bytes" => "%{bytes}"
41
+ # }
40
42
  # }
41
- # }
42
43
  # }
44
+ #
45
+ # If run on a host named hal9000 the configuration above will send the following
46
+ # metric to statsd if the current event has 123 in its `bytes` field:
47
+ #
48
+ # logstash.hal9000.http.bytes:123|c
43
49
  class LogStash::Outputs::Statsd < LogStash::Outputs::Base
44
50
  ## Regex stolen from statsd code
45
51
  RESERVED_CHARACTERS_REGEX = /[\:\|\@]/
46
52
  config_name "statsd"
47
53
 
48
- # The address of the statsd server.
54
+ # The hostname or IP address of the statsd server.
49
55
  config :host, :validate => :string, :default => "localhost"
50
56
 
51
57
  # The port to connect to on your statsd server.
52
58
  config :port, :validate => :number, :default => 8125
53
59
 
54
- # The statsd namespace to use for this metric.
60
+ # The statsd namespace to use for this metric. `%{fieldname}` substitutions are
61
+ # allowed.
55
62
  config :namespace, :validate => :string, :default => "logstash"
56
63
 
57
- # The name of the sender. Dots will be replaced with underscores.
64
+ # The name of the sender. Dots will be replaced with underscores. `%{fieldname}`
65
+ # substitutions are allowed.
58
66
  config :sender, :validate => :string, :default => "%{host}"
59
67
 
60
- # An increment metric. Metric names as array.
68
+ # An increment metric. Metric names as array. `%{fieldname}` substitutions are
69
+ # allowed in the metric names.
61
70
  config :increment, :validate => :array, :default => []
62
71
 
63
- # A decrement metric. Metric names as array.
72
+ # A decrement metric. Metric names as array. `%{fieldname}` substitutions are
73
+ # allowed in the metric names.
64
74
  config :decrement, :validate => :array, :default => []
65
75
 
66
- # A timing metric. `metric_name => duration` as hash
76
+ # A timing metric. `metric_name => duration` as hash. `%{fieldname}` substitutions
77
+ # are allowed in the metric names.
67
78
  config :timing, :validate => :hash, :default => {}
68
79
 
69
- # A count metric. `metric_name => count` as hash
80
+ # A count metric. `metric_name => count` as hash. `%{fieldname}` substitutions are
81
+ # allowed in the metric names.
70
82
  config :count, :validate => :hash, :default => {}
71
83
 
72
- # A set metric. `metric_name => "string"` to append as hash
84
+ # A set metric. `metric_name => "string"` to append as hash. `%{fieldname}`
85
+ # substitutions are allowed in the metric names.
73
86
  config :set, :validate => :hash, :default => {}
74
87
 
75
- # A gauge metric. `metric_name => gauge` as hash.
88
+ # A gauge metric. `metric_name => gauge` as hash. `%{fieldname}` substitutions are
89
+ # allowed in the metric names.
76
90
  config :gauge, :validate => :hash, :default => {}
77
91
 
78
92
  # The sample rate for the metric.
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-statsd'
4
- s.version = '2.0.4'
4
+ s.version = '2.0.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Send metrics to StatsD"
7
7
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -27,4 +27,3 @@ Gem::Specification.new do |s|
27
27
 
28
28
  s.add_development_dependency 'logstash-devutils'
29
29
  end
30
-
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-statsd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-14 00:00:00.000000000 Z
11
+ date: 2016-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,48 +28,50 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 3.0.0
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-input-generator
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
34
40
  requirement: !ruby/object:Gem::Requirement
35
41
  requirements:
36
42
  - - '>='
37
43
  - !ruby/object:Gem::Version
38
44
  version: '0'
39
- name: logstash-input-generator
40
45
  prerelease: false
41
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: statsd-ruby
42
49
  version_requirements: !ruby/object:Gem::Requirement
43
50
  requirements:
44
- - - '>='
51
+ - - '='
45
52
  - !ruby/object:Gem::Version
46
- version: '0'
47
- - !ruby/object:Gem::Dependency
53
+ version: 1.2.0
48
54
  requirement: !ruby/object:Gem::Requirement
49
55
  requirements:
50
56
  - - '='
51
57
  - !ruby/object:Gem::Version
52
58
  version: 1.2.0
53
- name: statsd-ruby
54
59
  prerelease: false
55
60
  type: :runtime
61
+ - !ruby/object:Gem::Dependency
62
+ name: logstash-devutils
56
63
  version_requirements: !ruby/object:Gem::Requirement
57
64
  requirements:
58
- - - '='
65
+ - - '>='
59
66
  - !ruby/object:Gem::Version
60
- version: 1.2.0
61
- - !ruby/object:Gem::Dependency
67
+ version: '0'
62
68
  requirement: !ruby/object:Gem::Requirement
63
69
  requirements:
64
70
  - - '>='
65
71
  - !ruby/object:Gem::Version
66
72
  version: '0'
67
- name: logstash-devutils
68
73
  prerelease: false
69
74
  type: :development
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - '>='
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
75
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
76
76
  email: info@elastic.co
77
77
  executables: []