ddtrace 0.13.0 → 0.14.0

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.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +88 -6
  3. data/.rubocop.yml +10 -0
  4. data/Appraisals +24 -0
  5. data/CHANGELOG.md +108 -2
  6. data/Gemfile +1 -0
  7. data/Rakefile +32 -2
  8. data/benchmarks/postgres_database.yml +9 -0
  9. data/benchmarks/sidekiq_test.rb +154 -0
  10. data/ddtrace.gemspec +3 -0
  11. data/docs/GettingStarted.md +127 -6
  12. data/lib/ddtrace/configuration.rb +19 -7
  13. data/lib/ddtrace/context.rb +8 -0
  14. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +46 -0
  15. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +28 -0
  16. data/lib/ddtrace/contrib/active_record/events/sql.rb +11 -7
  17. data/lib/ddtrace/contrib/active_record/integration.rb +44 -0
  18. data/lib/ddtrace/contrib/active_record/patcher.rb +4 -28
  19. data/lib/ddtrace/contrib/active_record/utils.rb +5 -11
  20. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +2 -1
  21. data/lib/ddtrace/contrib/base.rb +4 -3
  22. data/lib/ddtrace/contrib/configurable.rb +55 -0
  23. data/lib/ddtrace/contrib/configuration/option.rb +33 -0
  24. data/lib/ddtrace/contrib/configuration/option_definition.rb +29 -0
  25. data/lib/ddtrace/contrib/configuration/option_definition_set.rb +20 -0
  26. data/lib/ddtrace/contrib/configuration/option_set.rb +8 -0
  27. data/lib/ddtrace/contrib/configuration/options.rb +95 -0
  28. data/lib/ddtrace/contrib/configuration/resolver.rb +12 -0
  29. data/lib/ddtrace/contrib/configuration/settings.rb +35 -0
  30. data/lib/ddtrace/contrib/delayed_job/patcher.rb +41 -0
  31. data/lib/ddtrace/contrib/delayed_job/plugin.rb +43 -0
  32. data/lib/ddtrace/contrib/integration.rb +16 -0
  33. data/lib/ddtrace/contrib/patchable.rb +38 -0
  34. data/lib/ddtrace/contrib/patcher.rb +28 -0
  35. data/lib/ddtrace/contrib/rack/middlewares.rb +34 -15
  36. data/lib/ddtrace/contrib/rake/instrumentation.rb +15 -3
  37. data/lib/ddtrace/contrib/registerable.rb +33 -0
  38. data/lib/ddtrace/contrib/resque/resque_job.rb +2 -10
  39. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +22 -0
  40. data/lib/ddtrace/contrib/rest_client/integration.rb +27 -0
  41. data/lib/ddtrace/contrib/rest_client/patcher.rb +25 -0
  42. data/lib/ddtrace/contrib/rest_client/request_patch.rb +90 -0
  43. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +13 -0
  44. data/lib/ddtrace/contrib/sequel/database.rb +1 -1
  45. data/lib/ddtrace/contrib/sequel/integration.rb +38 -0
  46. data/lib/ddtrace/contrib/sequel/patcher.rb +4 -20
  47. data/lib/ddtrace/monkey.rb +0 -7
  48. data/lib/ddtrace/patcher.rb +5 -0
  49. data/lib/ddtrace/pin.rb +1 -1
  50. data/lib/ddtrace/propagation/http_propagator.rb +6 -0
  51. data/lib/ddtrace/span.rb +0 -1
  52. data/lib/ddtrace/tracer.rb +22 -5
  53. data/lib/ddtrace/vendor/active_record/connection_specification.rb +301 -0
  54. data/lib/ddtrace/version.rb +1 -1
  55. data/lib/ddtrace/workers.rb +6 -4
  56. data/lib/ddtrace/writer.rb +4 -5
  57. data/lib/ddtrace.rb +7 -15
  58. metadata +57 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8a89641ee85dac608c0c2a580dfd413c47505ffa
4
- data.tar.gz: 4cff7490665c4e954cb82466e0e77eacdf9bce99
2
+ SHA256:
3
+ metadata.gz: d52481c7b3f82c6d647612b13d8512436619bfb3b09c914c89b217c0e709e93a
4
+ data.tar.gz: 79fa3196d6d4f002450b5318f3defa51abab40641c05b4cfbb87a70560492375
5
5
  SHA512:
6
- metadata.gz: 8580fbbf837c16cbbcfc4652bed1455796f4f710c47042c93f913eb5a1df9b95e7cf400f0fa15b573f9f9eb86468c37da73add7dc5cb00dfc41035f36a136772
7
- data.tar.gz: e0c4b207097f1efbee93a08150c5a2ed32a9352f8a82531f2d5432396fc698726909896250b1f0e01ee3786743832cd7fa092135bbf83f98eede9d515736546c
6
+ metadata.gz: 77a2fd2b76346a130b29c081bf5cb927e3df61d1fe1a606fbe0e89eb486edd0a77c6d64b366afc86b272c779fe26f0988e6f25fcd3a1713ee4ae052ea10964ca
7
+ data.tar.gz: 79204974341c3b42b4ebe9130b3ca121a1a4980b291cc04a075a7bbd32bbdb88df280b50a75c8f43537aea55c4d8febebf56d00bb0079dad1b2997b7ec76c3f5
data/.circleci/config.yml CHANGED
@@ -83,6 +83,21 @@ step_run_all_tests: &step_run_all_tests
83
83
  run:
84
84
  name: Run tests
85
85
  command: bundle exec rake ci
86
+ step_release_docs: &step_release_docs
87
+ run:
88
+ name: Upload release docs
89
+ command: S3_DIR=trace bundle exec rake release:docs
90
+
91
+ filters_all_branches_and_tags: &filters_all_branches_and_tags
92
+ filters:
93
+ tags:
94
+ only: /.*/
95
+ filters_only_release_tags: &filters_only_release_tags
96
+ filters:
97
+ branches:
98
+ ignore: /.*/
99
+ tags:
100
+ only: /^v\d+(\.\d+){0,3}(\.(alpha|beta|rc)\d+)?$/
86
101
 
87
102
  version: 2.0
88
103
  jobs:
@@ -364,6 +379,29 @@ jobs:
364
379
  keys:
365
380
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.3-{{ checksum ".circleci/bundle_checksum" }}'
366
381
  - *step_run_all_tests
382
+ benchmark-2.3:
383
+ <<: *job_defaults
384
+ docker:
385
+ - <<: *container-2_3
386
+ environment:
387
+ - TEST_DATADOG_INTEGRATION: 1
388
+ - *container_postgres
389
+ - *container_redis
390
+ - *container_agent
391
+ steps:
392
+ - restore_cache:
393
+ keys:
394
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-2.3-{{ .Environment.CIRCLE_SHA1 }}'
395
+ - restore_cache:
396
+ keys:
397
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.3-{{ checksum ".circleci/bundle_checksum" }}'
398
+ - run:
399
+ name: Run Benchmark
400
+ command: bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
401
+ - run:
402
+ name: Run Benchmark without ddtracer
403
+ command: rm -f lib/ddtrace.rb && bundle exec appraisal rails5-postgres-sidekiq ruby benchmarks/sidekiq_test.rb 2>&1 1> /dev/null | tee benchmark_results.csv
404
+
367
405
  checkout-2.4:
368
406
  <<: *job_defaults
369
407
  docker:
@@ -420,49 +458,93 @@ jobs:
420
458
  keys:
421
459
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-2.4-{{ checksum ".circleci/bundle_checksum" }}'
422
460
  - *step_run_all_tests
461
+ deploy-release:
462
+ <<: *job_defaults
463
+ docker:
464
+ - *container-2_4
465
+ steps:
466
+ - checkout
467
+ - run:
468
+ command: |
469
+ apt-get -y -qq update
470
+ apt-get -y -qq install awscli
471
+ - *step_bundle_install
472
+ - *step_release_docs
473
+
423
474
  workflows:
424
475
  version: 2
425
476
  build-and-test:
426
477
  jobs:
427
- - checkout-1.9
478
+ - checkout-1.9:
479
+ <<: *filters_all_branches_and_tags
428
480
  - build-1.9:
481
+ <<: *filters_all_branches_and_tags
429
482
  requires:
430
483
  - checkout-1.9
431
484
  - test-1.9:
485
+ <<: *filters_all_branches_and_tags
432
486
  requires:
433
487
  - build-1.9
434
- - checkout-2.0
488
+ - checkout-2.0:
489
+ <<: *filters_all_branches_and_tags
435
490
  - build-2.0:
491
+ <<: *filters_all_branches_and_tags
436
492
  requires:
437
493
  - checkout-2.0
438
494
  - test-2.0:
495
+ <<: *filters_all_branches_and_tags
439
496
  requires:
440
497
  - build-2.0
441
- - checkout-2.1
498
+ - checkout-2.1:
499
+ <<: *filters_all_branches_and_tags
442
500
  - build-2.1:
501
+ <<: *filters_all_branches_and_tags
443
502
  requires:
444
503
  - checkout-2.1
445
504
  - test-2.1:
505
+ <<: *filters_all_branches_and_tags
446
506
  requires:
447
507
  - build-2.1
448
- - checkout-2.2
508
+ - checkout-2.2:
509
+ <<: *filters_all_branches_and_tags
449
510
  - build-2.2:
511
+ <<: *filters_all_branches_and_tags
450
512
  requires:
451
513
  - checkout-2.2
452
514
  - test-2.2:
515
+ <<: *filters_all_branches_and_tags
453
516
  requires:
454
517
  - build-2.2
455
- - checkout-2.3
518
+ - checkout-2.3:
519
+ <<: *filters_all_branches_and_tags
456
520
  - build-2.3:
521
+ <<: *filters_all_branches_and_tags
457
522
  requires:
458
523
  - checkout-2.3
459
524
  - test-2.3:
525
+ <<: *filters_all_branches_and_tags
460
526
  requires:
461
527
  - build-2.3
462
- - checkout-2.4
528
+ - benchmark-2.3:
529
+ <<: *filters_all_branches_and_tags
530
+ requires:
531
+ - build-2.3
532
+ - checkout-2.4:
533
+ <<: *filters_all_branches_and_tags
463
534
  - build-2.4:
535
+ <<: *filters_all_branches_and_tags
464
536
  requires:
465
537
  - checkout-2.4
466
538
  - test-2.4:
539
+ <<: *filters_all_branches_and_tags
467
540
  requires:
468
541
  - build-2.4
542
+ - deploy-release:
543
+ <<: *filters_only_release_tags
544
+ requires:
545
+ - test-1.9
546
+ - test-2.0
547
+ - test-2.1
548
+ - test-2.2
549
+ - test-2.3
550
+ - test-2.4
data/.rubocop.yml CHANGED
@@ -1,5 +1,15 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 2.1
3
+ Include:
4
+ - 'lib/**/*.rb'
5
+ - 'test/**/*.rb'
6
+ - 'spec/**/*.rb'
7
+ - 'Gemfile'
8
+ - 'Rakefile'
9
+ Exclude:
10
+ - 'Appraisals'
11
+ - '*.gemspec'
12
+ - 'lib/ddtrace/vendor/**/*.rb'
3
13
 
4
14
  # 80 characters is a nice goal, but not worth currently changing in existing
5
15
  # code for the sake of changing it to conform to a length set in 1928 (IBM).
data/Appraisals CHANGED
@@ -9,6 +9,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
9
9
  gem 'pg', '0.15.1', platform: :ruby
10
10
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
11
11
  gem 'rack-cache', '1.7.1'
12
+ gem 'rake', '< 12.3'
12
13
  end
13
14
 
14
15
  appraise 'rails30-postgres-sidekiq' do
@@ -18,6 +19,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
18
19
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
19
20
  gem 'sidekiq', '4.0.0'
20
21
  gem 'rack-cache', '1.7.1'
22
+ gem 'rake', '< 12.3'
21
23
  end
22
24
 
23
25
  appraise 'rails32-mysql2' do
@@ -27,6 +29,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
27
29
  gem 'activerecord-mysql-adapter', platform: :ruby
28
30
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
29
31
  gem 'rack-cache', '1.7.1'
32
+ gem 'rake', '< 12.3'
30
33
  end
31
34
 
32
35
  appraise 'rails32-postgres' do
@@ -35,6 +38,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
35
38
  gem 'pg', '0.15.1', platform: :ruby
36
39
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
37
40
  gem 'rack-cache', '1.7.1'
41
+ gem 'rake', '< 12.3'
38
42
  end
39
43
 
40
44
  appraise 'rails32-postgres-redis' do
@@ -45,6 +49,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
45
49
  gem 'redis-rails'
46
50
  gem 'redis', '< 4.0'
47
51
  gem 'rack-cache', '1.7.1'
52
+ gem 'rake', '< 12.3'
48
53
  end
49
54
 
50
55
  appraise 'rails32-postgres-sidekiq' do
@@ -54,6 +59,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
54
59
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
55
60
  gem 'sidekiq', '4.0.0'
56
61
  gem 'rack-cache', '1.7.1'
62
+ gem 'rake', '< 12.3'
57
63
  end
58
64
 
59
65
  appraise 'contrib-old' do
@@ -62,6 +68,8 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
62
68
  gem 'activerecord-mysql-adapter', platform: :ruby
63
69
  gem 'aws-sdk', '~> 2.0'
64
70
  gem 'dalli'
71
+ gem 'delayed_job'
72
+ gem 'delayed_job_active_record'
65
73
  gem 'elasticsearch-transport'
66
74
  gem 'excon'
67
75
  gem 'hiredis'
@@ -72,6 +80,7 @@ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
72
80
  gem 'rack-test', '0.7.0'
73
81
  gem 'rake', '< 12.3'
74
82
  gem 'redis', '< 4.0'
83
+ gem 'rest-client', '< 2.0'
75
84
  gem 'resque', '< 2.0'
76
85
  gem 'sequel', '~> 4.0', '< 4.37'
77
86
  gem 'sidekiq', '4.0.0'
@@ -142,6 +151,8 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
142
151
  gem 'activerecord-mysql-adapter', platform: :ruby
143
152
  gem 'aws-sdk', '~> 2.0'
144
153
  gem 'dalli'
154
+ gem 'delayed_job'
155
+ gem 'delayed_job_active_record'
145
156
  gem 'elasticsearch-transport'
146
157
  gem 'excon'
147
158
  gem 'hiredis'
@@ -152,6 +163,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
152
163
  gem 'rack-test', '0.7.0'
153
164
  gem 'rake', '< 12.3'
154
165
  gem 'redis', '< 4.0'
166
+ gem 'rest-client'
155
167
  gem 'resque', '< 2.0'
156
168
  gem 'sequel', '~> 4.0', '< 4.37'
157
169
  gem 'sidekiq', '4.0.0'
@@ -242,6 +254,8 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
242
254
  gem 'activerecord-mysql-adapter', platform: :ruby
243
255
  gem 'aws-sdk', '~> 2.0'
244
256
  gem 'dalli'
257
+ gem 'delayed_job'
258
+ gem 'delayed_job_active_record'
245
259
  gem 'elasticsearch-transport'
246
260
  gem 'excon'
247
261
  gem 'hiredis'
@@ -252,6 +266,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
252
266
  gem 'rack-test', '0.7.0'
253
267
  gem 'rake', '< 12.3'
254
268
  gem 'redis', '< 4.0'
269
+ gem 'rest-client'
255
270
  gem 'resque', '< 2.0'
256
271
  gem 'sequel', '~> 4.0', '< 4.37'
257
272
  gem 'sidekiq', '4.0.0'
@@ -373,6 +388,8 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
373
388
  gem 'activerecord', '< 5.1.5'
374
389
  gem 'aws-sdk'
375
390
  gem 'dalli'
391
+ gem 'delayed_job'
392
+ gem 'delayed_job_active_record'
376
393
  gem 'elasticsearch-transport'
377
394
  gem 'excon'
378
395
  gem 'grape'
@@ -386,6 +403,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
386
403
  gem 'rack-test'
387
404
  gem 'rake', '>= 12.3'
388
405
  gem 'redis', '< 4.0'
406
+ gem 'rest-client'
389
407
  gem 'resque', '< 2.0'
390
408
  gem 'sequel'
391
409
  gem 'sidekiq'
@@ -507,6 +525,8 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
507
525
  gem 'activerecord', '< 5.1.5'
508
526
  gem 'aws-sdk'
509
527
  gem 'dalli'
528
+ gem 'delayed_job'
529
+ gem 'delayed_job_active_record'
510
530
  gem 'elasticsearch-transport'
511
531
  gem 'excon'
512
532
  gem 'grape'
@@ -520,6 +540,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
520
540
  gem 'rack-test'
521
541
  gem 'rake', '>= 12.3'
522
542
  gem 'redis', '< 4.0'
543
+ gem 'rest-client'
523
544
  gem 'resque', '< 2.0'
524
545
  gem 'sequel'
525
546
  gem 'sidekiq'
@@ -535,6 +556,8 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION)
535
556
  gem 'activerecord', '< 5.1.5'
536
557
  gem 'aws-sdk'
537
558
  gem 'dalli'
559
+ gem 'delayed_job'
560
+ gem 'delayed_job_active_record'
538
561
  gem 'elasticsearch-transport'
539
562
  gem 'excon'
540
563
  gem 'grape'
@@ -548,6 +571,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION)
548
571
  gem 'rack-test'
549
572
  gem 'rake', '>= 12.3'
550
573
  gem 'redis', '< 4.0'
574
+ gem 'rest-client'
551
575
  gem 'resque', '< 2.0'
552
576
  gem 'sequel'
553
577
  gem 'sidekiq'
data/CHANGELOG.md CHANGED
@@ -4,6 +4,106 @@
4
4
 
5
5
  ## [Unreleased (beta)]
6
6
 
7
+ ## [0.14.0] - 2018-08-14
8
+
9
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0
10
+
11
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.2...v0.14.0
12
+
13
+ ### Added
14
+
15
+ - RestClient integration (#422, #460)
16
+ - DelayedJob integration (#393 #444)
17
+ - Version information to integrations (#483)
18
+ - Tracer#active_root_span helper (#503)
19
+
20
+ ### Changed
21
+
22
+ - Resque to flush traces when Job finishes instead of using SyncWriter (#474)
23
+ - ActiveRecord to allow configuring multiple databases (#451)
24
+ - Integrations configuration settings (#450, #452, #451)
25
+
26
+ ### Fixed
27
+
28
+ - Context propagation for distributed traces when context is full (#502)
29
+ - Rake shutdown tracer after execution (#487) (@kissrobber)
30
+ - Deprecation warnings fired using Unicorn (#508)
31
+
32
+ ## [0.14.0.rc1] - 2018-08-08
33
+
34
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.rc1
35
+
36
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta2...v0.14.0.rc1
37
+
38
+ ### Added
39
+
40
+ - RestClient integration (#422, #460)
41
+ - Tracer#active_root_span helper (#503)
42
+
43
+ ### Fixed
44
+
45
+ - Context propagation for distributed traces when context is full (#502)
46
+
47
+ ## [0.14.0.beta2] - 2018-07-25
48
+
49
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta2
50
+
51
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta1...v0.14.0.beta2
52
+
53
+ ### Fixed
54
+
55
+ - Rake shutdown tracer after execution (#487) @kissrobber
56
+
57
+ ## [0.14.0.beta1] - 2018-07-24
58
+
59
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta1
60
+
61
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.14.0.beta1
62
+
63
+ ### Changed
64
+
65
+ - Resque to flush traces when Job finishes instead of using SyncWriter (#474)
66
+ - ActiveRecord to allow configuring multiple databases (#451)
67
+ - Integrations configuration settings (#450, #452, #451)
68
+
69
+ ### Fixed
70
+
71
+ - Ruby warnings during tests (#499)
72
+ - Tests failing intermittently on Ruby 1.9.3 (#497)
73
+
74
+ ### Added
75
+
76
+ - DelayedJob integration (#393 #444)
77
+ - Version information to integrations (#483)
78
+
79
+ ## [0.13.2] - 2018-08-07
80
+
81
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.2
82
+
83
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.13.2
84
+
85
+ ### Fixed
86
+
87
+ - Context propagation for distributed traces when context is full (#502)
88
+
89
+ ## [0.13.1] - 2018-07-17
90
+
91
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.1
92
+
93
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...v0.13.1
94
+
95
+ ### Changed
96
+
97
+ - Configuration class variables don't lazy load (#477)
98
+ - Default tracer host `localhost` --> `127.0.0.1` (#466, #480) (@NobodysNightmare)
99
+
100
+ ### Fixed
101
+
102
+ - Workers not shutting down quickly in some short running processes (#475)
103
+ - Missing documentation for mysql2 and Rails (#476, #488)
104
+ - Missing variable in rescue block (#481) (@kitop)
105
+ - Unclosed spans in ActiveSupport::Notifications with multithreading (#431, #478) (@senny)
106
+
7
107
  ## [0.13.0] - 2018-06-20
8
108
 
9
109
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0
@@ -360,8 +460,14 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
360
460
 
361
461
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
362
462
 
363
- [Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...master
364
- [Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...0.14-dev
463
+ [Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0...master
464
+ [Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0...0.15-dev
465
+ [0.14.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.2...v0.14.0
466
+ [0.14.0.rc1]: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta2...v0.14.0.rc1
467
+ [0.14.0.beta2]: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta1...v0.14.0.beta2
468
+ [0.14.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...v0.14.0.beta1
469
+ [0.13.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.13.2
470
+ [0.13.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...v0.13.1
365
471
  [0.13.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.1...v0.13.0
366
472
  [0.13.0.beta1]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.13.0.beta1
367
473
  [0.12.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.12.1
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ gemspec
4
4
 
5
5
  # Add debugger for pry that's compatible with 0.10.4
6
6
  gem 'pry-nav', git: 'https://github.com/nixme/pry-nav.git', branch: 'master'
7
+ # This file was generated by Appraisal
data/Rakefile CHANGED
@@ -39,9 +39,14 @@ namespace :spec do
39
39
  t.pattern = 'spec/ddtrace/contrib/rails/**/*disable_env*_spec.rb'
40
40
  end
41
41
 
42
+ RSpec::Core::RakeTask.new(:contrib) do |t|
43
+ t.pattern = 'spec/**/contrib/{configurable,integration,patchable,patcher,registerable,configuration/*}_spec.rb'
44
+ end
45
+
42
46
  [
43
47
  :active_model_serializers,
44
48
  :active_record,
49
+ :delayed_job,
45
50
  :active_support,
46
51
  :aws,
47
52
  :dalli,
@@ -62,7 +67,8 @@ namespace :spec do
62
67
  :sequel,
63
68
  :sidekiq,
64
69
  :sinatra,
65
- :sucker_punch
70
+ :sucker_punch,
71
+ :rest_client
66
72
  ].each do |contrib|
67
73
  RSpec::Core::RakeTask.new(contrib) do |t|
68
74
  t.pattern = "spec/ddtrace/contrib/#{contrib}/**/*_spec.rb"
@@ -144,7 +150,7 @@ end
144
150
 
145
151
  if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.1.0')
146
152
  RuboCop::RakeTask.new(:rubocop) do |t|
147
- t.options << ['-D']
153
+ t.options << ['-D', '--force-exclusion']
148
154
  t.patterns = ['lib/**/*.rb', 'test/**/*.rb', 'spec/**/*.rb', 'Gemfile', 'Rakefile']
149
155
  end
150
156
  end
@@ -208,6 +214,7 @@ task :ci do
208
214
  # Main library
209
215
  sh 'bundle exec rake test:main'
210
216
  sh 'bundle exec rake spec:main'
217
+ sh 'bundle exec rake spec:contrib'
211
218
 
212
219
  if RUBY_PLATFORM != 'java'
213
220
  # Contrib minitests
@@ -221,8 +228,10 @@ task :ci do
221
228
  # Contrib specs
222
229
  sh 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
223
230
  sh 'bundle exec appraisal contrib-old rake spec:active_record'
231
+ sh 'bundle exec appraisal contrib-old rake spec:delayed_job'
224
232
  sh 'bundle exec appraisal contrib-old rake spec:active_support'
225
233
  sh 'bundle exec appraisal contrib-old rake spec:dalli'
234
+ sh 'bundle exec appraisal contrib-old rake spec:elasticsearch'
226
235
  sh 'bundle exec appraisal contrib-old rake spec:excon'
227
236
  sh 'bundle exec appraisal contrib-old rake spec:faraday'
228
237
  sh 'bundle exec appraisal contrib-old rake spec:http'
@@ -232,6 +241,7 @@ task :ci do
232
241
  sh 'bundle exec appraisal contrib-old rake spec:redis'
233
242
  sh 'bundle exec appraisal contrib-old rake spec:resque'
234
243
  sh 'bundle exec appraisal contrib-old rake spec:sequel'
244
+ sh 'bundle exec appraisal contrib-old rake spec:rest_client'
235
245
  # Rails minitests
236
246
  sh 'bundle exec appraisal rails30-postgres rake test:rails'
237
247
  sh 'bundle exec appraisal rails30-postgres rake test:railsdisableenv'
@@ -249,6 +259,7 @@ task :ci do
249
259
  # Main library
250
260
  sh 'bundle exec rake test:main'
251
261
  sh 'bundle exec rake spec:main'
262
+ sh 'bundle exec rake spec:contrib'
252
263
 
253
264
  if RUBY_PLATFORM != 'java'
254
265
  # Contrib minitests
@@ -262,8 +273,10 @@ task :ci do
262
273
  # Contrib specs
263
274
  sh 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
264
275
  sh 'bundle exec appraisal contrib-old rake spec:active_record'
276
+ sh 'bundle exec appraisal contrib-old rake spec:delayed_job'
265
277
  sh 'bundle exec appraisal contrib-old rake spec:active_support'
266
278
  sh 'bundle exec appraisal contrib-old rake spec:dalli'
279
+ sh 'bundle exec appraisal contrib-old rake spec:elasticsearch'
267
280
  sh 'bundle exec appraisal contrib-old rake spec:excon'
268
281
  sh 'bundle exec appraisal contrib-old rake spec:faraday'
269
282
  sh 'bundle exec appraisal contrib-old rake spec:http'
@@ -273,6 +286,7 @@ task :ci do
273
286
  sh 'bundle exec appraisal contrib-old rake spec:redis'
274
287
  sh 'bundle exec appraisal contrib-old rake spec:resque'
275
288
  sh 'bundle exec appraisal contrib-old rake spec:sequel'
289
+ sh 'bundle exec appraisal contrib-old rake spec:rest_client'
276
290
  # Rails minitests
277
291
  sh 'bundle exec appraisal contrib-old rake test:sidekiq'
278
292
  sh 'bundle exec appraisal rails30-postgres rake test:rails'
@@ -293,6 +307,7 @@ task :ci do
293
307
  # Main library
294
308
  sh 'bundle exec rake test:main'
295
309
  sh 'bundle exec rake spec:main'
310
+ sh 'bundle exec rake spec:contrib'
296
311
 
297
312
  if RUBY_PLATFORM != 'java'
298
313
  # Contrib minitests
@@ -306,8 +321,10 @@ task :ci do
306
321
  # Contrib specs
307
322
  sh 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
308
323
  sh 'bundle exec appraisal contrib-old rake spec:active_record'
324
+ sh 'bundle exec appraisal contrib-old rake spec:delayed_job'
309
325
  sh 'bundle exec appraisal contrib-old rake spec:active_support'
310
326
  sh 'bundle exec appraisal contrib-old rake spec:dalli'
327
+ sh 'bundle exec appraisal contrib-old rake spec:elasticsearch'
311
328
  sh 'bundle exec appraisal contrib-old rake spec:excon'
312
329
  sh 'bundle exec appraisal contrib-old rake spec:faraday'
313
330
  sh 'bundle exec appraisal contrib-old rake spec:http'
@@ -317,6 +334,7 @@ task :ci do
317
334
  sh 'bundle exec appraisal contrib-old rake spec:redis'
318
335
  sh 'bundle exec appraisal contrib-old rake spec:resque'
319
336
  sh 'bundle exec appraisal contrib-old rake spec:sequel'
337
+ sh 'bundle exec appraisal contrib-old rake spec:rest_client'
320
338
  # Rails minitests
321
339
  sh 'bundle exec appraisal contrib-old rake test:sidekiq'
322
340
  sh 'bundle exec appraisal rails30-postgres rake test:rails'
@@ -343,6 +361,7 @@ task :ci do
343
361
  # Main library
344
362
  sh 'bundle exec rake test:main'
345
363
  sh 'bundle exec rake spec:main'
364
+ sh 'bundle exec rake spec:contrib'
346
365
 
347
366
  if RUBY_PLATFORM != 'java'
348
367
  # Contrib minitests
@@ -356,8 +375,10 @@ task :ci do
356
375
  # Contrib specs
357
376
  sh 'bundle exec appraisal contrib rake spec:active_model_serializers'
358
377
  sh 'bundle exec appraisal contrib rake spec:active_record'
378
+ sh 'bundle exec appraisal contrib rake spec:delayed_job'
359
379
  sh 'bundle exec appraisal contrib rake spec:active_support'
360
380
  sh 'bundle exec appraisal contrib rake spec:dalli'
381
+ sh 'bundle exec appraisal contrib rake spec:elasticsearch'
361
382
  sh 'bundle exec appraisal contrib rake spec:excon'
362
383
  sh 'bundle exec appraisal contrib rake spec:faraday'
363
384
  sh 'bundle exec appraisal contrib rake spec:graphql'
@@ -370,6 +391,7 @@ task :ci do
370
391
  sh 'bundle exec appraisal contrib rake spec:redis'
371
392
  sh 'bundle exec appraisal contrib rake spec:resque'
372
393
  sh 'bundle exec appraisal contrib rake spec:sequel'
394
+ sh 'bundle exec appraisal contrib rake spec:rest_client'
373
395
  # Rails minitests
374
396
  sh 'bundle exec appraisal contrib rake test:sidekiq'
375
397
  sh 'bundle exec appraisal rails30-postgres rake test:rails'
@@ -404,6 +426,7 @@ task :ci do
404
426
  # Main library
405
427
  sh 'bundle exec rake test:main'
406
428
  sh 'bundle exec rake spec:main'
429
+ sh 'bundle exec rake spec:contrib'
407
430
 
408
431
  if RUBY_PLATFORM != 'java'
409
432
  # Contrib minitests
@@ -417,9 +440,11 @@ task :ci do
417
440
  # Contrib specs
418
441
  sh 'bundle exec appraisal contrib rake spec:active_model_serializers'
419
442
  sh 'bundle exec appraisal contrib rake spec:active_record'
443
+ sh 'bundle exec appraisal contrib rake spec:delayed_job'
420
444
  sh 'bundle exec appraisal contrib rake spec:active_support'
421
445
  sh 'bundle exec appraisal contrib rake spec:dalli'
422
446
  sh 'bundle exec appraisal contrib rake spec:excon'
447
+ sh 'bundle exec appraisal contrib rake spec:elasticsearch'
423
448
  sh 'bundle exec appraisal contrib rake spec:faraday'
424
449
  sh 'bundle exec appraisal contrib rake spec:graphql'
425
450
  sh 'bundle exec appraisal contrib rake spec:grpc'
@@ -431,6 +456,7 @@ task :ci do
431
456
  sh 'bundle exec appraisal contrib rake spec:redis'
432
457
  sh 'bundle exec appraisal contrib rake spec:resque'
433
458
  sh 'bundle exec appraisal contrib rake spec:sequel'
459
+ sh 'bundle exec appraisal contrib rake spec:rest_client'
434
460
  # Rails minitests
435
461
  sh 'bundle exec appraisal contrib rake test:sidekiq'
436
462
  sh 'bundle exec appraisal rails30-postgres rake test:rails'
@@ -464,6 +490,7 @@ task :ci do
464
490
  # Main library
465
491
  sh 'bundle exec rake test:main'
466
492
  sh 'bundle exec rake spec:main'
493
+ sh 'bundle exec rake spec:contrib'
467
494
 
468
495
  if RUBY_PLATFORM != 'java'
469
496
  # Contrib minitests
@@ -477,8 +504,10 @@ task :ci do
477
504
  # Contrib specs
478
505
  sh 'bundle exec appraisal contrib rake spec:active_model_serializers'
479
506
  sh 'bundle exec appraisal contrib rake spec:active_record'
507
+ sh 'bundle exec appraisal contrib rake spec:delayed_job'
480
508
  sh 'bundle exec appraisal contrib rake spec:active_support'
481
509
  sh 'bundle exec appraisal contrib rake spec:dalli'
510
+ sh 'bundle exec appraisal contrib rake spec:elasticsearch'
482
511
  sh 'bundle exec appraisal contrib rake spec:excon'
483
512
  sh 'bundle exec appraisal contrib rake spec:faraday'
484
513
  sh 'bundle exec appraisal contrib rake spec:graphql'
@@ -491,6 +520,7 @@ task :ci do
491
520
  sh 'bundle exec appraisal contrib rake spec:redis'
492
521
  sh 'bundle exec appraisal contrib rake spec:resque'
493
522
  sh 'bundle exec appraisal contrib rake spec:sequel'
523
+ sh 'bundle exec appraisal contrib rake spec:rest_client'
494
524
  # Rails minitests
495
525
  sh 'bundle exec appraisal contrib rake test:sidekiq'
496
526
  sh 'bundle exec rake benchmark'
@@ -0,0 +1,9 @@
1
+ production:
2
+ adapter: 'postgresql'
3
+ timeout: 5000
4
+ database: <%= ENV.fetch('TEST_POSTGRES_DB', 'postgres') %>
5
+ host: <%= ENV.fetch('TEST_POSTGRES_HOST', '127.0.0.1') %>
6
+ port: <%= ENV.fetch('TEST_POSTGRES_PORT', 5432) %>
7
+ username: <%= ENV.fetch('TEST_POSTGRES_USER', 'postgres') %>
8
+ password: <%= ENV.fetch('TEST_POSTGRES_PASSWORD', 'postgres') %>
9
+ pool: 30