libhoney 1.4.1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/Rakefile +3 -0
- data/lib/libhoney/client.rb +9 -5
- data/lib/libhoney/transmission.rb +12 -2
- data/lib/libhoney/version.rb +1 -1
- data/libhoney.gemspec +1 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29ad40e8dcbca0f6fecd415db07673c112775cf9c8e5c57c4c8d483110bab179
|
4
|
+
data.tar.gz: e2d40016c340a2220d83ae5f7de8971b637153d2dd5b1b687cd656adb19651e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ed70a0475fb88e90441f4e3626c12705f3f5a9cf8252f8046b0f2be3acac8806349311af87f43f423f7a41e60af4f14e1c662b0d8654f5c74adade31baca3a4
|
7
|
+
data.tar.gz: 86ee5a883863ec5ca594df1e3057c83bba3416340f979e54df5ccbeb98f978862ca00408cc16a5352b8a9394206ed260a5f66546fe5e7345a3cf149b29fc0fe5
|
data/README.md
CHANGED
@@ -57,6 +57,8 @@ honeycomb.send_now({
|
|
57
57
|
honeycomb.close
|
58
58
|
```
|
59
59
|
|
60
|
+
Check out the documentation for [`Libhoney::Client`](http://www.rubydoc.info/gems/libhoney/Libhoney/Client) for more detailed API documentation.
|
61
|
+
|
60
62
|
You can find a more complete example demonstrating usage in [`example/fact.rb`](example/fact.rb)
|
61
63
|
|
62
64
|
## Testing instrumented code
|
data/Rakefile
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require 'yard'
|
2
3
|
|
3
4
|
require "rake/testtask"
|
4
5
|
Rake::TestTask.new(:test) do |t|
|
@@ -7,6 +8,8 @@ Rake::TestTask.new(:test) do |t|
|
|
7
8
|
t.test_files = FileList['test/**/*_test.rb']
|
8
9
|
end
|
9
10
|
|
11
|
+
YARD::Rake::YardocTask.new(:doc)
|
12
|
+
|
10
13
|
require "yardstick/rake/measurement"
|
11
14
|
Yardstick::Rake::Measurement.new do |measurement|
|
12
15
|
measurement.output = "measurement/report.txt"
|
data/lib/libhoney/client.rb
CHANGED
@@ -60,6 +60,7 @@ module Libhoney
|
|
60
60
|
dataset: '',
|
61
61
|
sample_rate: 1,
|
62
62
|
api_host: 'https://api.honeycomb.io/',
|
63
|
+
user_agent_addition: nil,
|
63
64
|
transmission: nil,
|
64
65
|
block_on_send: false,
|
65
66
|
block_on_responses: false,
|
@@ -78,6 +79,8 @@ module Libhoney
|
|
78
79
|
@builder.sample_rate = sample_rate
|
79
80
|
@builder.api_host = api_host
|
80
81
|
|
82
|
+
@user_agent_addition = user_agent_addition
|
83
|
+
|
81
84
|
@block_on_send = block_on_send
|
82
85
|
@block_on_responses = block_on_responses
|
83
86
|
@max_batch_size = max_batch_size
|
@@ -145,7 +148,7 @@ module Libhoney
|
|
145
148
|
# @param fn [#call] function that will be called to generate the value whenever an event is created.
|
146
149
|
# @return [self] this libhoney instance.
|
147
150
|
# @example
|
148
|
-
# honey.
|
151
|
+
# honey.add_dynamic_field("active_threads", Proc.new { Thread.list.select {|thread| thread.status == "run"}.count })
|
149
152
|
def add_dynamic_field(name, fn)
|
150
153
|
@builder.add_dynamic_field(name, fn)
|
151
154
|
self
|
@@ -155,10 +158,10 @@ module Libhoney
|
|
155
158
|
#
|
156
159
|
# @param data [Hash<String=>any>] optional field->value mapping to add to the event sent.
|
157
160
|
# @return [self] this libhoney instance.
|
158
|
-
# @example empty
|
159
|
-
# honey.
|
161
|
+
# @example empty send_now
|
162
|
+
# honey.send_now() # sends just the data that has been added via add/add_field/add_dynamic_field.
|
160
163
|
# @example adding data at send-time
|
161
|
-
# honey.
|
164
|
+
# honey.send_now {
|
162
165
|
# additionalField: value
|
163
166
|
# }
|
164
167
|
#/
|
@@ -183,7 +186,8 @@ module Libhoney
|
|
183
186
|
:pending_work_capacity => @pending_work_capacity,
|
184
187
|
:responses => @responses,
|
185
188
|
:block_on_send => @block_on_send,
|
186
|
-
:block_on_responses => @block_on_responses
|
189
|
+
:block_on_responses => @block_on_responses,
|
190
|
+
:user_agent_addition => @user_agent_addition)
|
187
191
|
end
|
188
192
|
}
|
189
193
|
|
@@ -9,7 +9,8 @@ module Libhoney
|
|
9
9
|
pending_work_capacity: 0,
|
10
10
|
responses: 0,
|
11
11
|
block_on_send: 0,
|
12
|
-
block_on_responses: 0
|
12
|
+
block_on_responses: 0,
|
13
|
+
user_agent_addition: nil)
|
13
14
|
|
14
15
|
@responses = responses
|
15
16
|
@block_on_send = block_on_send
|
@@ -19,6 +20,8 @@ module Libhoney
|
|
19
20
|
@max_concurrent_batches = max_concurrent_batches
|
20
21
|
@pending_work_capacity = pending_work_capacity
|
21
22
|
|
23
|
+
@user_agent = build_user_agent(user_agent_addition).freeze
|
24
|
+
|
22
25
|
# use a SizedQueue so the producer will block on adding to the send_queue when @block_on_send is true
|
23
26
|
@send_queue = SizedQueue.new(@pending_work_capacity)
|
24
27
|
@threads = []
|
@@ -54,7 +57,7 @@ module Libhoney
|
|
54
57
|
|
55
58
|
begin
|
56
59
|
resp = HTTP.headers(
|
57
|
-
'User-Agent' =>
|
60
|
+
'User-Agent' => @user_agent,
|
58
61
|
'Content-Type' => 'application/json',
|
59
62
|
'X-Honeycomb-Team' => e.writekey,
|
60
63
|
'X-Honeycomb-SampleRate' => e.sample_rate,
|
@@ -97,5 +100,12 @@ module Libhoney
|
|
97
100
|
|
98
101
|
0
|
99
102
|
end
|
103
|
+
|
104
|
+
private
|
105
|
+
def build_user_agent(user_agent_addition)
|
106
|
+
ua = "libhoney-rb/#{VERSION}"
|
107
|
+
ua << " #{user_agent_addition}" if user_agent_addition
|
108
|
+
ua
|
109
|
+
end
|
100
110
|
end
|
101
111
|
end
|
data/lib/libhoney/version.rb
CHANGED
data/libhoney.gemspec
CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
28
|
spec.add_development_dependency "webmock", "~> 2.1"
|
29
29
|
spec.add_development_dependency "minitest", "~> 5.0"
|
30
|
+
spec.add_development_dependency "yard"
|
30
31
|
spec.add_development_dependency "yardstick", "~> 0.9"
|
31
32
|
spec.add_development_dependency "bump", "~> 0.5"
|
32
33
|
spec.add_dependency "http", "~> 2.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libhoney
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Honeycomb.io Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: yardstick
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
166
|
version: '0'
|
153
167
|
requirements: []
|
154
168
|
rubyforge_project:
|
155
|
-
rubygems_version: 2.7.
|
169
|
+
rubygems_version: 2.7.6
|
156
170
|
signing_key:
|
157
171
|
specification_version: 4
|
158
172
|
summary: send data to Honeycomb
|