logstash-output-graphite 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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: []