ddtrace 0.12.0.beta2 → 0.12.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Appraisals +8 -8
- data/CHANGELOG.md +293 -0
- data/README.md +11 -114
- data/Rakefile +26 -18
- data/docs/GettingStarted.md +704 -453
- data/gemfiles/contrib.gemfile +2 -2
- data/gemfiles/rails4_mysql2.gemfile +1 -1
- data/gemfiles/rails5_mysql2.gemfile +2 -2
- data/gemfiles/rails5_postgres.gemfile +1 -1
- data/gemfiles/rails5_postgres_redis.gemfile +1 -1
- data/gemfiles/rails5_postgres_sidekiq.gemfile +1 -1
- data/lib/ddtrace.rb +1 -0
- data/lib/ddtrace/context.rb +96 -34
- data/lib/ddtrace/context_flush.rb +132 -0
- data/lib/ddtrace/contrib/active_record/patcher.rb +55 -70
- data/lib/ddtrace/contrib/active_record/utils.rb +83 -0
- data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +66 -0
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +155 -0
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +6 -1
- data/lib/ddtrace/contrib/elasticsearch/quantize.rb +89 -0
- data/lib/ddtrace/contrib/grape/endpoint.rb +1 -1
- data/lib/ddtrace/contrib/racecar/patcher.rb +43 -19
- data/lib/ddtrace/contrib/rack/middlewares.rb +58 -11
- data/lib/ddtrace/contrib/rack/patcher.rb +18 -11
- data/lib/ddtrace/contrib/rails/action_controller.rb +9 -11
- data/lib/ddtrace/contrib/rails/action_view.rb +5 -1
- data/lib/ddtrace/contrib/rails/active_support.rb +6 -2
- data/lib/ddtrace/contrib/rails/core_extensions.rb +280 -215
- data/lib/ddtrace/contrib/rails/framework.rb +38 -23
- data/lib/ddtrace/contrib/rails/middlewares.rb +7 -2
- data/lib/ddtrace/contrib/rails/patcher.rb +9 -6
- data/lib/ddtrace/contrib/rails/railtie.rb +4 -2
- data/lib/ddtrace/contrib/rails/utils.rb +9 -40
- data/lib/ddtrace/patcher.rb +32 -10
- data/lib/ddtrace/quantization/http.rb +86 -0
- data/lib/ddtrace/tracer.rb +29 -2
- data/lib/ddtrace/transport.rb +33 -20
- data/lib/ddtrace/version.rb +1 -1
- data/lib/ddtrace/writer.rb +11 -5
- metadata +8 -3
- data/lib/ddtrace/contrib/rails/active_record.rb +0 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f73d39bda4233aa96ad4c0a5537ca45c7a682721
|
4
|
+
data.tar.gz: b494960dadd540e1c5bc0b1b2ca810cc0878477e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c78b30912aa1776417fc5a073791e3b527adb042831110b5d5fe4e1e7d42bb5a031fbbb899bfe0b35ffeec28bc14fe475747aefe4bce6effe26ec48c765393e0
|
7
|
+
data.tar.gz: 849cc865358ed3b9c171ad74f50609a8a4b57b532df97e2b7da408dfbfc40bf9646a0a8e4bd83e68953d88533e03a7798846fb9543dabbebca35f1663aae5645
|
data/Appraisals
CHANGED
@@ -57,7 +57,7 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
|
|
57
57
|
if RUBY_VERSION >= '2.1.10'
|
58
58
|
appraise 'rails4-mysql2' do
|
59
59
|
gem 'rails', '4.2.7.1'
|
60
|
-
gem 'mysql2', platform: :ruby
|
60
|
+
gem 'mysql2', '< 0.5', platform: :ruby
|
61
61
|
gem 'activerecord-jdbcmysql-adapter', platform: :jruby
|
62
62
|
end
|
63
63
|
|
@@ -78,24 +78,24 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
|
|
78
78
|
|
79
79
|
if RUBY_VERSION >= '2.2.2'
|
80
80
|
appraise 'rails5-mysql2' do
|
81
|
-
gem 'rails', '5.
|
82
|
-
gem 'mysql2', platform: :ruby
|
81
|
+
gem 'rails', '5.1.5'
|
82
|
+
gem 'mysql2', '< 0.5', platform: :ruby
|
83
83
|
end
|
84
84
|
|
85
85
|
appraise 'rails5-postgres' do
|
86
|
-
gem 'rails', '5.
|
86
|
+
gem 'rails', '5.1.5'
|
87
87
|
gem 'pg', '< 1.0', platform: :ruby
|
88
88
|
end
|
89
89
|
|
90
90
|
appraise 'rails5-postgres-redis' do
|
91
|
-
gem 'rails', '5.
|
91
|
+
gem 'rails', '5.1.5'
|
92
92
|
gem 'pg', '< 1.0', platform: :ruby
|
93
93
|
gem 'redis-rails'
|
94
94
|
gem 'redis'
|
95
95
|
end
|
96
96
|
|
97
97
|
appraise 'rails5-postgres-sidekiq' do
|
98
|
-
gem 'rails', '5.
|
98
|
+
gem 'rails', '5.1.5'
|
99
99
|
gem 'pg', '< 1.0', platform: :ruby
|
100
100
|
gem 'sidekiq'
|
101
101
|
gem 'activejob'
|
@@ -123,14 +123,14 @@ if RUBY_VERSION >= '2.2.2' && RUBY_PLATFORM != 'java'
|
|
123
123
|
gem 'hiredis'
|
124
124
|
gem 'sinatra'
|
125
125
|
gem 'sqlite3'
|
126
|
-
gem 'activerecord'
|
126
|
+
gem 'activerecord', '< 5.1.5'
|
127
127
|
gem 'sidekiq'
|
128
128
|
gem 'aws-sdk'
|
129
129
|
gem 'sucker_punch'
|
130
130
|
gem 'dalli'
|
131
131
|
gem 'resque', '< 2.0'
|
132
132
|
gem 'racecar', '>= 0.3.5'
|
133
|
-
gem 'mysql2', platform: :ruby
|
133
|
+
gem 'mysql2', '< 0.5', platform: :ruby
|
134
134
|
end
|
135
135
|
else
|
136
136
|
appraise 'contrib-old' do
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,293 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [Unreleased (stable)]
|
4
|
+
|
5
|
+
## [Unreleased (beta)]
|
6
|
+
|
7
|
+
## [0.12.0.rc1] - 2018-04-11
|
8
|
+
|
9
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.rc1
|
10
|
+
|
11
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0.rc1
|
12
|
+
|
13
|
+
### Added
|
14
|
+
- GraphQL integration (supporting graphql 1.7.9+) (#295)
|
15
|
+
- ActiveRecord object instantiation tracing (#311, #334)
|
16
|
+
- Subscriber module for ActiveSupport::Notifications tracing (#324, #380, #390, #395) (@dasch)
|
17
|
+
- HTTP quantization module (#384)
|
18
|
+
- Partial flushing option to tracer (#247, #397)
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
- Rack applies URL quantization by default (#371)
|
22
|
+
- Elasticsearch applies body quantization by default (#362)
|
23
|
+
- Context for a single trace now has hard limit of 100,000 spans (#247)
|
24
|
+
- Tags with `rails.db.x` to `active_record.db.x` instead (#396)
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
|
28
|
+
- Some scenarios where `middleware_names` could result in bad resource names (#354)
|
29
|
+
- ActionController instrumentation conflicting with some gems that monkey patch Rails (#391)
|
30
|
+
|
31
|
+
### Deprecated
|
32
|
+
- Use of `:datadog_rack_request_span` variable in favor of `'datadog.rack_request_span'` in Rack. (#365, #392)
|
33
|
+
|
34
|
+
### Refactored
|
35
|
+
- Racecar to use ActiveSupport::Notifications Subscriber module (#381)
|
36
|
+
- Rails to use ActiveRecord integration instead of its own implementation (#396)
|
37
|
+
- ActiveRecord to use ActiveSupport::Notifications Subscriber module (#396)
|
38
|
+
|
39
|
+
## [0.12.0.beta2] - 2018-02-28
|
40
|
+
|
41
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta2
|
42
|
+
|
43
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.beta1...v0.12.0.beta2
|
44
|
+
|
45
|
+
### Fixed
|
46
|
+
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
|
47
|
+
|
48
|
+
## [0.12.0.beta1] - 2018-02-09
|
49
|
+
|
50
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta1
|
51
|
+
|
52
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.12.0.beta1
|
53
|
+
|
54
|
+
### Added
|
55
|
+
- GraphQL integration (supporting graphql 1.7.9+) (#295)
|
56
|
+
- ActiveRecord object instantiation tracing (#311, #334)
|
57
|
+
- `http.request_id` tag to Rack spans (#335)
|
58
|
+
|
59
|
+
## [0.11.4] - 2018-03-29
|
60
|
+
|
61
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.4
|
62
|
+
|
63
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.3...v0.11.4
|
64
|
+
|
65
|
+
### Fixed
|
66
|
+
- Transport body parsing when downgrading (#369)
|
67
|
+
- Transport incorrectly attempting to apply sampling to service metadata (#370)
|
68
|
+
- `sql.active_record` traces showing incorrect adapter settings when non-default adapter used (#383)
|
69
|
+
|
70
|
+
## [0.11.3] - 2018-03-06
|
71
|
+
|
72
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.3
|
73
|
+
|
74
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.11.3
|
75
|
+
|
76
|
+
### Added
|
77
|
+
- CHANGELOG.md (#350, #363) (@awendt)
|
78
|
+
- `http.request_id` tag to Rack spans (#335)
|
79
|
+
- Tracer configuration to README.md (#332) (@noma4i)
|
80
|
+
|
81
|
+
### Fixed
|
82
|
+
- Extra indentation in README.md (#349) (@ck3g)
|
83
|
+
- `http.url` when Rails raises exceptions (#351, #353)
|
84
|
+
- Rails from being patched twice (#352)
|
85
|
+
- 4XX responses from middleware being marked as errors (#345)
|
86
|
+
- Rails exception middleware sometimes not being inserted at correct position (#345)
|
87
|
+
- Processing pipeline documentation typo (#355) (@MMartyn)
|
88
|
+
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
|
89
|
+
- Use of block syntax with Rails `render` not working (#359, #360) (@dorner)
|
90
|
+
|
91
|
+
## [0.11.2] - 2018-02-02
|
92
|
+
|
93
|
+
**Critical update**: `Datadog::Monkey` removed in version 0.11.1. Adds `Datadog::Monkey` back as no-op, deprecated module.
|
94
|
+
|
95
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.2
|
96
|
+
|
97
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.1...v0.11.2
|
98
|
+
|
99
|
+
### Deprecated
|
100
|
+
- `Datadog::Monkey` to be no-op and print deprecation warnings.
|
101
|
+
|
102
|
+
## [0.11.1] - 2018-01-29
|
103
|
+
|
104
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.1
|
105
|
+
|
106
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0...v0.11.1
|
107
|
+
|
108
|
+
### Added
|
109
|
+
- `http.base_url` tag for Rack applications (#301, #327)
|
110
|
+
- `distributed_tracing` option to Sinatra (#325)
|
111
|
+
- `exception_controller` option to Rails (#320)
|
112
|
+
|
113
|
+
### Changed
|
114
|
+
- Decoupled Sinatra and ActiveRecord integrations (#328, #330) (@hawknewton)
|
115
|
+
- Racecar uses preferred ActiveSupport::Notifications strategy (#323)
|
116
|
+
|
117
|
+
### Removed
|
118
|
+
- `Datadog::Monkey` in favor of newer configuration API (#322)
|
119
|
+
|
120
|
+
### Fixed
|
121
|
+
- Custom resource names from Rails controllers being overridden (#321)
|
122
|
+
- Custom Rails exception controllers reporting as the resource (#320)
|
123
|
+
|
124
|
+
## [0.11.0] - 2018-01-17
|
125
|
+
|
126
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0
|
127
|
+
|
128
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0
|
129
|
+
|
130
|
+
## [0.11.0.beta2] - 2017-12-27
|
131
|
+
|
132
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta2
|
133
|
+
|
134
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0.beta1...v0.11.0.beta2
|
135
|
+
|
136
|
+
## [0.11.0.beta1] - 2017-12-04
|
137
|
+
|
138
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta1
|
139
|
+
|
140
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0.beta1
|
141
|
+
|
142
|
+
## [0.10.0] - 2017-11-30
|
143
|
+
|
144
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.10.0
|
145
|
+
|
146
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.2...v0.10.0
|
147
|
+
|
148
|
+
## [0.9.2] - 2017-11-03
|
149
|
+
|
150
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.2
|
151
|
+
|
152
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.1...v0.9.2
|
153
|
+
|
154
|
+
## [0.9.1] - 2017-11-02
|
155
|
+
|
156
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.1
|
157
|
+
|
158
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.0...v0.9.1
|
159
|
+
|
160
|
+
## [0.9.0] - 2017-10-06
|
161
|
+
|
162
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.0
|
163
|
+
|
164
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.2...v0.9.0
|
165
|
+
|
166
|
+
## [0.8.2] - 2017-09-08
|
167
|
+
|
168
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.2
|
169
|
+
|
170
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.1...v0.8.2
|
171
|
+
|
172
|
+
## [0.8.1] - 2017-08-10
|
173
|
+
|
174
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.1
|
175
|
+
|
176
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.0...v0.8.1
|
177
|
+
|
178
|
+
## [0.8.0] - 2017-07-24
|
179
|
+
|
180
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.0
|
181
|
+
|
182
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.2...v0.8.0
|
183
|
+
|
184
|
+
## [0.7.2] - 2017-05-24
|
185
|
+
|
186
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.2
|
187
|
+
|
188
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.1...v0.7.2
|
189
|
+
|
190
|
+
## [0.7.1] - 2017-05-10
|
191
|
+
|
192
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.1
|
193
|
+
|
194
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.0...v0.7.1
|
195
|
+
|
196
|
+
## [0.7.0] - 2017-04-24
|
197
|
+
|
198
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.0
|
199
|
+
|
200
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.2...v0.7.0
|
201
|
+
|
202
|
+
## [0.6.2] - 2017-04-07
|
203
|
+
|
204
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.2
|
205
|
+
|
206
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.1...v0.6.2
|
207
|
+
|
208
|
+
## [0.6.1] - 2017-04-05
|
209
|
+
|
210
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.1
|
211
|
+
|
212
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.0...v0.6.1
|
213
|
+
|
214
|
+
## [0.6.0] - 2017-03-28
|
215
|
+
|
216
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.0
|
217
|
+
|
218
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.5.0...v0.6.0
|
219
|
+
|
220
|
+
## [0.5.0] - 2017-03-08
|
221
|
+
|
222
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.5.0
|
223
|
+
|
224
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.3...v0.5.0
|
225
|
+
|
226
|
+
## [0.4.3] - 2017-02-17
|
227
|
+
|
228
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.3
|
229
|
+
|
230
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.2...v0.4.3
|
231
|
+
|
232
|
+
## [0.4.2] - 2017-02-14
|
233
|
+
|
234
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.2
|
235
|
+
|
236
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.1...v0.4.2
|
237
|
+
|
238
|
+
## [0.4.1] - 2017-02-14
|
239
|
+
|
240
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.1
|
241
|
+
|
242
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.0...v0.4.1
|
243
|
+
|
244
|
+
## [0.4.0] - 2017-01-24
|
245
|
+
|
246
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.0
|
247
|
+
|
248
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.1...v0.4.0
|
249
|
+
|
250
|
+
## [0.3.1] - 2017-01-23
|
251
|
+
|
252
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
253
|
+
|
254
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
255
|
+
|
256
|
+
[Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...master
|
257
|
+
[Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.rc1...0.12-dev
|
258
|
+
[0.12.0.rc1]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0.rc1
|
259
|
+
[0.12.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.beta1...v0.12.0.beta2
|
260
|
+
[0.12.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.12.0.beta1
|
261
|
+
[0.11.4]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.3...v0.11.4
|
262
|
+
[0.11.3]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.11.3
|
263
|
+
[0.11.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.1...v0.11.2
|
264
|
+
[0.11.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0...v0.11.1
|
265
|
+
[0.11.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0
|
266
|
+
[0.11.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0.beta1...v0.11.0.beta2
|
267
|
+
[0.11.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0.beta1
|
268
|
+
[0.10.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.9.2...v0.10.0
|
269
|
+
[0.9.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.9.1...v0.9.2
|
270
|
+
[0.9.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.9.0...v0.9.1
|
271
|
+
[0.9.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.8.2...v0.9.0
|
272
|
+
[0.8.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.8.1...v0.8.2
|
273
|
+
[0.8.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.8.0...v0.8.1
|
274
|
+
[0.8.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.7.2...v0.8.0
|
275
|
+
[0.7.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.7.1...v0.7.2
|
276
|
+
[0.7.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.7.0...v0.7.1
|
277
|
+
[0.7.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.6.2...v0.7.0
|
278
|
+
[0.6.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.6.1...v0.6.2
|
279
|
+
[0.6.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.6.0...v0.6.1
|
280
|
+
[0.6.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.5.0...v0.6.0
|
281
|
+
[0.5.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.4.3...v0.5.0
|
282
|
+
[0.4.3]: https://github.com/DataDog/dd-trace-rb/compare/v0.4.2...v0.4.3
|
283
|
+
[0.4.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.4.1...v0.4.2
|
284
|
+
[0.4.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.4.0...v0.4.1
|
285
|
+
[0.4.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.3.1...v0.4.0
|
286
|
+
[0.3.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
287
|
+
[0.3.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.2.0...v0.3.0
|
288
|
+
[0.2.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.5...v0.2.0
|
289
|
+
[0.1.5]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.4...v0.1.5
|
290
|
+
[0.1.4]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.3...v0.1.4
|
291
|
+
[0.1.3]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.2...v0.1.3
|
292
|
+
[0.1.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.1...v0.1.2
|
293
|
+
[0.1.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.1.0...v0.1.1
|
data/README.md
CHANGED
@@ -1,109 +1,22 @@
|
|
1
|
-
#
|
1
|
+
# Datadog Trace Client
|
2
2
|
|
3
3
|
[![CircleCI](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master.svg?style=svg&circle-token=b0bd5ef866ec7f7b018f48731bb495f2d1372cc1)](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
You can find the latest documentation on [rubydoc.info][docs]
|
8
|
-
|
9
|
-
[docs]: http://gems.datadoghq.com/trace/docs/
|
5
|
+
``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
|
6
|
+
databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
|
10
7
|
|
11
8
|
## Getting started
|
12
9
|
|
13
|
-
|
14
|
-
|
15
|
-
Install the Ruby client with the ``gem`` command:
|
16
|
-
|
17
|
-
gem install ddtrace
|
18
|
-
|
19
|
-
If you're using ``Bundler``, just update your ``Gemfile`` as follows:
|
20
|
-
|
21
|
-
```ruby
|
22
|
-
source 'https://rubygems.org'
|
23
|
-
|
24
|
-
# tracing gem
|
25
|
-
gem 'ddtrace'
|
26
|
-
```
|
27
|
-
|
28
|
-
To use a development/preview version, use:
|
29
|
-
|
30
|
-
```ruby
|
31
|
-
gem 'ddtrace', :github => 'DataDog/dd-trace-rb', :branch => 'me/my-feature-branch'
|
32
|
-
```
|
33
|
-
|
34
|
-
### Quickstart (manual instrumentation)
|
35
|
-
|
36
|
-
If you aren't using a supported framework instrumentation, you may want to to manually instrument your code.
|
37
|
-
Adding tracing to your code is very simple. As an example, let’s imagine we have a web server and we want
|
38
|
-
to trace requests to the home page:
|
39
|
-
|
40
|
-
```ruby
|
41
|
-
require 'ddtrace'
|
42
|
-
require 'sinatra'
|
43
|
-
require 'active_record'
|
10
|
+
For a basic product overview, check out our [setup documentation][setup docs].
|
44
11
|
|
45
|
-
|
46
|
-
tracer = Datadog.tracer
|
12
|
+
For installation, configuration, and details about using the API, check out our [API documentation][api docs] and [gem documentation][gem docs].
|
47
13
|
|
48
|
-
|
49
|
-
tracer.trace('web.request') do |span|
|
50
|
-
# set some span metadata
|
51
|
-
span.service = 'my-web-site'
|
52
|
-
span.resource = '/'
|
53
|
-
span.set_tag('http.method', request.request_method)
|
14
|
+
For descriptions of terminology used in APM, take a look at the [official documentation][visualization docs].
|
54
15
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
# trace the template rendering
|
61
|
-
tracer.trace('template.render') do
|
62
|
-
erb :index
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
```
|
67
|
-
|
68
|
-
### Quickstart (integration)
|
69
|
-
|
70
|
-
Instead of doing the above manually, whenever an integration is available,
|
71
|
-
you can activate it. The example above would become:
|
72
|
-
|
73
|
-
```ruby
|
74
|
-
require 'ddtrace'
|
75
|
-
require 'sinatra'
|
76
|
-
require 'active_record'
|
77
|
-
|
78
|
-
Datadog.configure do |c|
|
79
|
-
c.use :sinatra
|
80
|
-
c.use :active_record
|
81
|
-
end
|
82
|
-
|
83
|
-
# now write your code naturally, it's traced automatically
|
84
|
-
get '/' do
|
85
|
-
@posts = Posts.order(created_at: :desc).limit(10)
|
86
|
-
erb :index
|
87
|
-
end
|
88
|
-
```
|
89
|
-
|
90
|
-
This will automatically trace any app inherited from `Sinatra::Application`.
|
91
|
-
To trace apps inherited from `Sinatra::Base`, you should manually register
|
92
|
-
the tracer inside your class.
|
93
|
-
|
94
|
-
```ruby
|
95
|
-
require "ddtrace"
|
96
|
-
require "ddtrace/contrib/sinatra/tracer"
|
97
|
-
|
98
|
-
class App < Sinatra::Base
|
99
|
-
register Datadog::Contrib::Sinatra::Tracer
|
100
|
-
end
|
101
|
-
```
|
102
|
-
|
103
|
-
To know if a given framework or lib is supported by our client,
|
104
|
-
please consult our [integrations][contrib] list.
|
105
|
-
|
106
|
-
[contrib]: http://www.rubydoc.info/github/DataDog/dd-trace-rb/Datadog/Contrib
|
16
|
+
[setup docs]: https://docs.datadoghq.com/tracing/setup/ruby/
|
17
|
+
[api docs]: https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md
|
18
|
+
[gem docs]: http://gems.datadoghq.com/trace/docs/
|
19
|
+
[visualization docs]: https://docs.datadoghq.com/tracing/visualization/
|
107
20
|
|
108
21
|
## Development
|
109
22
|
|
@@ -122,23 +35,7 @@ You can launch tests using the following Rake commands:
|
|
122
35
|
...
|
123
36
|
|
124
37
|
Run ``rake --tasks`` for the list of available Rake tasks.
|
125
|
-
|
126
|
-
Available appraisals are:
|
127
|
-
|
128
|
-
* ``contrib``: default for integrations
|
129
|
-
* ``contrib-old``: default for integrations, with version suited for old Ruby (possibly unmaintained) versions
|
130
|
-
* ``rails3-mysql2``: Rails3 with Mysql
|
131
|
-
* ``rails3-postgres``: Rails 3 with Postgres
|
132
|
-
* ``rails3-postgres-redis``: Rails 3 with Postgres and Redis
|
133
|
-
* ``rails3-postgres-sidekiq``: Rails 3 with Postgres and Sidekiq
|
134
|
-
* ``rails4-mysql2``: Rails4 with Mysql
|
135
|
-
* ``rails4-postgres``: Rails 4 with Postgres
|
136
|
-
* ``rails4-postgres-redis``: Rails 4 with Postgres and Redis
|
137
|
-
* ``rails4-postgres-sidekiq``: Rails 4 with Postgres and Sidekiq
|
138
|
-
* ``rails5-mysql2``: Rails5 with Mysql
|
139
|
-
* ``rails5-postgres``: Rails 5 with Postgres
|
140
|
-
* ``rails5-postgres-redis``: Rails 5 with Postgres and Redis
|
141
|
-
* ``rails5-postgres-sidekiq``: Rails 5 with Postgres and Sidekiq
|
38
|
+
Run ``appraisal list`` for the list of available appraisals.
|
142
39
|
|
143
40
|
The test suite requires many backing services (PostgreSQL, MySQL, Redis, ...) and we're using
|
144
41
|
``docker`` and ``docker-compose`` to start these services in the CI.
|