logstash-output-graphite 0.1.4 → 0.1.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: 5f6e4f154e115fbe917cc0628bb226f149f0cba6
4
- data.tar.gz: 6890c1f0fd637b69cfff41f7cf0ae0e4dc8feb70
3
+ metadata.gz: 3c226cdd8c7baa2e2b52e8cf0d297086c9e2aba4
4
+ data.tar.gz: e6a52d491ec2b3e8946b046165c81370aae3eaec
5
5
  SHA512:
6
- metadata.gz: 23ce971e35e2c28a5a0248eb89b3a3aa6bfbe5f66bfae074862898fa6eab6a0fb8548bfb272aeb288263aa3af99bba4f7af17ef887a30204930f0ce11799875d
7
- data.tar.gz: 00b51e81ef446f6dcf23a57d65207e0591acc3c00fa0174e617a51aacadd4791b950b4fbebae8f1bee5951d3c296dc2cf4769bd3ddcb71dd44e625348946638e
6
+ metadata.gz: 29793d23baaca1de73782c5c3be699bbdf6df57116382ff3cadb59944dce0cdccd952b2b6a5d47d16bb035d8a2b9bd861b713dc779cfa359ee7e9f764749754e
7
+ data.tar.gz: a4e2c5fbc9344699064be2d349ed60f4dd64e2f42b90e4d6d215e52922180e906174337bbdf6e6f00e78bc479320082326b2215d856d4977e5b7669cf00a2b49
@@ -51,6 +51,11 @@ class LogStash::Outputs::Graphite < LogStash::Outputs::Base
51
51
  # Exclude regex matched metric names, by default exclude unresolved %{field} strings.
52
52
  config :exclude_metrics, :validate => :array, :default => [ "%\{[^}]+\}" ]
53
53
 
54
+ # Use this field for the timestamp instead of '@timestamp' which is the
55
+ # default. Useful when backfilling or just getting more accurate data into
56
+ # graphite since you probably have a cache layer infront of Logstash.
57
+ config :timestamp_field, :validate => :string, :default => '@timestamp'
58
+
54
59
  # Enable debug output.
55
60
  config :debug, :validate => :boolean, :default => false, :deprecated => "This setting was never used by this plugin. It will be removed soon."
56
61
 
@@ -102,7 +107,7 @@ class LogStash::Outputs::Graphite < LogStash::Outputs::Base
102
107
  # Graphite message format: metric value timestamp\n
103
108
 
104
109
  messages = []
105
- timestamp = event.sprintf("%{+%s}")
110
+ timestamp = event[@timestamp_field].to_i
106
111
 
107
112
  if @fields_are_metrics
108
113
  @logger.debug("got metrics event", :metrics => event.to_hash)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-graphite'
4
- s.version = '0.1.4'
4
+ s.version = '0.1.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This output allows you to pull metrics from your logs and ship them to Graphite"
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"
@@ -25,5 +25,6 @@ Gem::Specification.new do |s|
25
25
  s.add_development_dependency 'logstash-devutils'
26
26
  s.add_development_dependency 'logstash-input-generator'
27
27
  s.add_development_dependency 'logstash-filter-kv'
28
+ s.add_development_dependency 'logstash-filter-ruby'
28
29
  end
29
30
 
@@ -248,4 +248,40 @@ describe LogStash::Outputs::Graphite do
248
248
  end
249
249
  end
250
250
 
251
+ context "timestamp_field used is timestamp_new" do
252
+ timestamp_new = (Time.now + 3).to_i
253
+ let(:config) do <<-CONFIG
254
+ input {
255
+ generator {
256
+ message => "foo=123"
257
+ count => 1
258
+ type => "generator"
259
+ }
260
+ }
261
+
262
+ filter {
263
+ ruby {
264
+ code => "event['timestamp_new'] = Time.at(#{timestamp_new})"
265
+ }
266
+ }
267
+
268
+ output {
269
+ graphite {
270
+ host => "localhost"
271
+ port => #{port}
272
+ timestamp_field => "timestamp_new"
273
+ metrics => ["foo", "1"]
274
+ debug => true
275
+ }
276
+ }
277
+ CONFIG
278
+ end
279
+
280
+ it "timestamp matches timestamp_new" do
281
+ lines = server.pop
282
+ expect(lines).to match(/^foo 1.0 #{timestamp_new}\n$/)
283
+ end
284
+
285
+ end
286
+
251
287
  end
metadata CHANGED
@@ -1,18 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-graphite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elasticsearch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
11
+ date: 2015-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: logstash
15
- version_requirements: !ruby/object:Gem::Requirement
14
+ requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - '>='
18
17
  - !ruby/object:Gem::Version
@@ -20,7 +19,10 @@ dependencies:
20
19
  - - <
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.0.0
23
- requirement: !ruby/object:Gem::Requirement
22
+ name: logstash
23
+ prerelease: false
24
+ type: :runtime
25
+ version_requirements: !ruby/object:Gem::Requirement
24
26
  requirements:
25
27
  - - '>='
26
28
  - !ruby/object:Gem::Version
@@ -28,50 +30,62 @@ dependencies:
28
30
  - - <
29
31
  - !ruby/object:Gem::Version
30
32
  version: 2.0.0
31
- prerelease: false
32
- type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
34
39
  name: logstash-devutils
40
+ prerelease: false
41
+ type: :development
35
42
  version_requirements: !ruby/object:Gem::Requirement
36
43
  requirements:
37
44
  - - '>='
38
45
  - !ruby/object:Gem::Version
39
46
  version: '0'
47
+ - !ruby/object:Gem::Dependency
40
48
  requirement: !ruby/object:Gem::Requirement
41
49
  requirements:
42
50
  - - '>='
43
51
  - !ruby/object:Gem::Version
44
52
  version: '0'
53
+ name: logstash-input-generator
45
54
  prerelease: false
46
55
  type: :development
47
- - !ruby/object:Gem::Dependency
48
- name: logstash-input-generator
49
56
  version_requirements: !ruby/object:Gem::Requirement
50
57
  requirements:
51
58
  - - '>='
52
59
  - !ruby/object:Gem::Version
53
60
  version: '0'
61
+ - !ruby/object:Gem::Dependency
54
62
  requirement: !ruby/object:Gem::Requirement
55
63
  requirements:
56
64
  - - '>='
57
65
  - !ruby/object:Gem::Version
58
66
  version: '0'
67
+ name: logstash-filter-kv
59
68
  prerelease: false
60
69
  type: :development
61
- - !ruby/object:Gem::Dependency
62
- name: logstash-filter-kv
63
70
  version_requirements: !ruby/object:Gem::Requirement
64
71
  requirements:
65
72
  - - '>='
66
73
  - !ruby/object:Gem::Version
67
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
68
76
  requirement: !ruby/object:Gem::Requirement
69
77
  requirements:
70
78
  - - '>='
71
79
  - !ruby/object:Gem::Version
72
80
  version: '0'
81
+ name: logstash-filter-ruby
73
82
  prerelease: false
74
83
  type: :development
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  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
90
  email: info@elasticsearch.com
77
91
  executables: []