ddtrace 0.47.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +4 -2
  3. data/.circleci/images/primary/Dockerfile-2.0.0 +11 -1
  4. data/.circleci/images/primary/Dockerfile-2.1.10 +11 -1
  5. data/.circleci/images/primary/Dockerfile-2.2.10 +11 -1
  6. data/.circleci/images/primary/Dockerfile-2.3.8 +10 -0
  7. data/.circleci/images/primary/Dockerfile-2.4.6 +10 -0
  8. data/.circleci/images/primary/Dockerfile-2.5.6 +10 -0
  9. data/.circleci/images/primary/Dockerfile-2.6.4 +10 -0
  10. data/.circleci/images/primary/Dockerfile-2.7.0 +10 -0
  11. data/.circleci/images/primary/Dockerfile-jruby-9.2-latest +10 -0
  12. data/.gitlab-ci.yml +18 -18
  13. data/.rubocop.yml +19 -0
  14. data/.rubocop_todo.yml +44 -3
  15. data/Appraisals +55 -1
  16. data/CHANGELOG.md +47 -1
  17. data/Gemfile +10 -0
  18. data/Rakefile +9 -0
  19. data/bin/ddtracerb +15 -0
  20. data/ddtrace.gemspec +4 -2
  21. data/docs/GettingStarted.md +36 -53
  22. data/docs/ProfilingDevelopment.md +88 -0
  23. data/integration/README.md +1 -2
  24. data/integration/apps/rack/Dockerfile +3 -0
  25. data/integration/apps/rack/script/build-images +1 -1
  26. data/integration/apps/rack/script/ci +1 -1
  27. data/integration/apps/rails-five/script/build-images +1 -1
  28. data/integration/apps/rails-five/script/ci +1 -1
  29. data/integration/apps/ruby/script/build-images +1 -1
  30. data/integration/apps/ruby/script/ci +1 -1
  31. data/integration/images/include/http-health-check +1 -1
  32. data/integration/images/wrk/scripts/entrypoint.sh +1 -1
  33. data/integration/script/build-images +1 -1
  34. data/lib/ddtrace.rb +1 -0
  35. data/lib/ddtrace/configuration.rb +39 -13
  36. data/lib/ddtrace/configuration/components.rb +85 -3
  37. data/lib/ddtrace/configuration/settings.rb +31 -0
  38. data/lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb +30 -0
  39. data/lib/ddtrace/contrib/active_record/configuration/resolver.rb +9 -3
  40. data/lib/ddtrace/contrib/resque/configuration/settings.rb +17 -1
  41. data/lib/ddtrace/contrib/resque/patcher.rb +4 -4
  42. data/lib/ddtrace/contrib/resque/resque_job.rb +22 -1
  43. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +1 -0
  44. data/lib/ddtrace/contrib/shoryuken/tracer.rb +7 -3
  45. data/lib/ddtrace/diagnostics/environment_logger.rb +1 -1
  46. data/lib/ddtrace/error.rb +2 -0
  47. data/lib/ddtrace/ext/profiling.rb +52 -0
  48. data/lib/ddtrace/ext/transport.rb +1 -0
  49. data/lib/ddtrace/metrics.rb +4 -0
  50. data/lib/ddtrace/profiling.rb +54 -0
  51. data/lib/ddtrace/profiling/backtrace_location.rb +32 -0
  52. data/lib/ddtrace/profiling/buffer.rb +41 -0
  53. data/lib/ddtrace/profiling/collectors/stack.rb +253 -0
  54. data/lib/ddtrace/profiling/encoding/profile.rb +31 -0
  55. data/lib/ddtrace/profiling/event.rb +13 -0
  56. data/lib/ddtrace/profiling/events/stack.rb +102 -0
  57. data/lib/ddtrace/profiling/exporter.rb +23 -0
  58. data/lib/ddtrace/profiling/ext/cpu.rb +54 -0
  59. data/lib/ddtrace/profiling/ext/cthread.rb +134 -0
  60. data/lib/ddtrace/profiling/ext/forking.rb +97 -0
  61. data/lib/ddtrace/profiling/flush.rb +41 -0
  62. data/lib/ddtrace/profiling/pprof/builder.rb +121 -0
  63. data/lib/ddtrace/profiling/pprof/converter.rb +85 -0
  64. data/lib/ddtrace/profiling/pprof/message_set.rb +12 -0
  65. data/lib/ddtrace/profiling/pprof/payload.rb +18 -0
  66. data/lib/ddtrace/profiling/pprof/pprof.proto +212 -0
  67. data/lib/ddtrace/profiling/pprof/pprof_pb.rb +81 -0
  68. data/lib/ddtrace/profiling/pprof/stack_sample.rb +90 -0
  69. data/lib/ddtrace/profiling/pprof/string_table.rb +10 -0
  70. data/lib/ddtrace/profiling/pprof/template.rb +114 -0
  71. data/lib/ddtrace/profiling/preload.rb +3 -0
  72. data/lib/ddtrace/profiling/profiler.rb +28 -0
  73. data/lib/ddtrace/profiling/recorder.rb +87 -0
  74. data/lib/ddtrace/profiling/scheduler.rb +84 -0
  75. data/lib/ddtrace/profiling/tasks/setup.rb +77 -0
  76. data/lib/ddtrace/profiling/transport/client.rb +12 -0
  77. data/lib/ddtrace/profiling/transport/http.rb +122 -0
  78. data/lib/ddtrace/profiling/transport/http/api.rb +43 -0
  79. data/lib/ddtrace/profiling/transport/http/api/endpoint.rb +90 -0
  80. data/lib/ddtrace/profiling/transport/http/api/instance.rb +36 -0
  81. data/lib/ddtrace/profiling/transport/http/api/spec.rb +40 -0
  82. data/lib/ddtrace/profiling/transport/http/builder.rb +28 -0
  83. data/lib/ddtrace/profiling/transport/http/client.rb +33 -0
  84. data/lib/ddtrace/profiling/transport/http/response.rb +21 -0
  85. data/lib/ddtrace/profiling/transport/io.rb +30 -0
  86. data/lib/ddtrace/profiling/transport/io/client.rb +27 -0
  87. data/lib/ddtrace/profiling/transport/io/response.rb +16 -0
  88. data/lib/ddtrace/profiling/transport/parcel.rb +17 -0
  89. data/lib/ddtrace/profiling/transport/request.rb +15 -0
  90. data/lib/ddtrace/profiling/transport/response.rb +8 -0
  91. data/lib/ddtrace/runtime/container.rb +11 -3
  92. data/lib/ddtrace/sampling/rule_sampler.rb +3 -9
  93. data/lib/ddtrace/tasks/exec.rb +48 -0
  94. data/lib/ddtrace/tasks/help.rb +14 -0
  95. data/lib/ddtrace/tracer.rb +21 -0
  96. data/lib/ddtrace/transport/io/client.rb +15 -8
  97. data/lib/ddtrace/transport/parcel.rb +4 -0
  98. data/lib/ddtrace/version.rb +3 -1
  99. data/lib/ddtrace/workers/runtime_metrics.rb +14 -1
  100. metadata +70 -9
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.47.0
4
+ version: 0.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-29 00:00:00.000000000 Z
11
+ date: 2021-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -24,13 +24,28 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ffi
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
27
41
  description: |
28
42
  ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
29
43
  as they flow across web servers, databases and microservices so that developers
30
44
  have great visiblity into bottlenecks and troublesome requests.
31
45
  email:
32
46
  - dev@datadoghq.com
33
- executables: []
47
+ executables:
48
+ - ddtracerb
34
49
  extensions: []
35
50
  extra_rdoc_files: []
36
51
  files:
@@ -72,10 +87,12 @@ files:
72
87
  - Rakefile
73
88
  - benchmarks/postgres_database.yml
74
89
  - benchmarks/sidekiq_test.rb
90
+ - bin/ddtracerb
75
91
  - ddtrace.gemspec
76
92
  - docker-compose.yml
77
93
  - docs/DevelopmentGuide.md
78
94
  - docs/GettingStarted.md
95
+ - docs/ProfilingDevelopment.md
79
96
  - integration/README.md
80
97
  - integration/apps/rack/.dockerignore
81
98
  - integration/apps/rack/.envrc.sample
@@ -260,6 +277,7 @@ files:
260
277
  - lib/ddtrace/contrib/active_model_serializers/ext.rb
261
278
  - lib/ddtrace/contrib/active_model_serializers/integration.rb
262
279
  - lib/ddtrace/contrib/active_model_serializers/patcher.rb
280
+ - lib/ddtrace/contrib/active_record/configuration/makara_resolver.rb
263
281
  - lib/ddtrace/contrib/active_record/configuration/resolver.rb
264
282
  - lib/ddtrace/contrib/active_record/configuration/settings.rb
265
283
  - lib/ddtrace/contrib/active_record/event.rb
@@ -546,6 +564,7 @@ files:
546
564
  - lib/ddtrace/ext/metrics.rb
547
565
  - lib/ddtrace/ext/net.rb
548
566
  - lib/ddtrace/ext/priority.rb
567
+ - lib/ddtrace/ext/profiling.rb
549
568
  - lib/ddtrace/ext/runtime.rb
550
569
  - lib/ddtrace/ext/sampling.rb
551
570
  - lib/ddtrace/ext/sql.rb
@@ -577,6 +596,47 @@ files:
577
596
  - lib/ddtrace/pipeline.rb
578
597
  - lib/ddtrace/pipeline/span_filter.rb
579
598
  - lib/ddtrace/pipeline/span_processor.rb
599
+ - lib/ddtrace/profiling.rb
600
+ - lib/ddtrace/profiling/backtrace_location.rb
601
+ - lib/ddtrace/profiling/buffer.rb
602
+ - lib/ddtrace/profiling/collectors/stack.rb
603
+ - lib/ddtrace/profiling/encoding/profile.rb
604
+ - lib/ddtrace/profiling/event.rb
605
+ - lib/ddtrace/profiling/events/stack.rb
606
+ - lib/ddtrace/profiling/exporter.rb
607
+ - lib/ddtrace/profiling/ext/cpu.rb
608
+ - lib/ddtrace/profiling/ext/cthread.rb
609
+ - lib/ddtrace/profiling/ext/forking.rb
610
+ - lib/ddtrace/profiling/flush.rb
611
+ - lib/ddtrace/profiling/pprof/builder.rb
612
+ - lib/ddtrace/profiling/pprof/converter.rb
613
+ - lib/ddtrace/profiling/pprof/message_set.rb
614
+ - lib/ddtrace/profiling/pprof/payload.rb
615
+ - lib/ddtrace/profiling/pprof/pprof.proto
616
+ - lib/ddtrace/profiling/pprof/pprof_pb.rb
617
+ - lib/ddtrace/profiling/pprof/stack_sample.rb
618
+ - lib/ddtrace/profiling/pprof/string_table.rb
619
+ - lib/ddtrace/profiling/pprof/template.rb
620
+ - lib/ddtrace/profiling/preload.rb
621
+ - lib/ddtrace/profiling/profiler.rb
622
+ - lib/ddtrace/profiling/recorder.rb
623
+ - lib/ddtrace/profiling/scheduler.rb
624
+ - lib/ddtrace/profiling/tasks/setup.rb
625
+ - lib/ddtrace/profiling/transport/client.rb
626
+ - lib/ddtrace/profiling/transport/http.rb
627
+ - lib/ddtrace/profiling/transport/http/api.rb
628
+ - lib/ddtrace/profiling/transport/http/api/endpoint.rb
629
+ - lib/ddtrace/profiling/transport/http/api/instance.rb
630
+ - lib/ddtrace/profiling/transport/http/api/spec.rb
631
+ - lib/ddtrace/profiling/transport/http/builder.rb
632
+ - lib/ddtrace/profiling/transport/http/client.rb
633
+ - lib/ddtrace/profiling/transport/http/response.rb
634
+ - lib/ddtrace/profiling/transport/io.rb
635
+ - lib/ddtrace/profiling/transport/io/client.rb
636
+ - lib/ddtrace/profiling/transport/io/response.rb
637
+ - lib/ddtrace/profiling/transport/parcel.rb
638
+ - lib/ddtrace/profiling/transport/request.rb
639
+ - lib/ddtrace/profiling/transport/response.rb
580
640
  - lib/ddtrace/propagation/grpc_propagator.rb
581
641
  - lib/ddtrace/propagation/http_propagator.rb
582
642
  - lib/ddtrace/quantization/hash.rb
@@ -598,6 +658,8 @@ files:
598
658
  - lib/ddtrace/sampling/rule_sampler.rb
599
659
  - lib/ddtrace/span.rb
600
660
  - lib/ddtrace/sync_writer.rb
661
+ - lib/ddtrace/tasks/exec.rb
662
+ - lib/ddtrace/tasks/help.rb
601
663
  - lib/ddtrace/tracer.rb
602
664
  - lib/ddtrace/transport/http.rb
603
665
  - lib/ddtrace/transport/http/adapters/net.rb
@@ -660,7 +722,7 @@ licenses:
660
722
  - BSD-3-Clause
661
723
  metadata:
662
724
  allowed_push_host: https://rubygems.org
663
- post_install_message:
725
+ post_install_message:
664
726
  rdoc_options: []
665
727
  require_paths:
666
728
  - lib
@@ -675,9 +737,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
675
737
  - !ruby/object:Gem::Version
676
738
  version: 2.0.0
677
739
  requirements: []
678
- rubyforge_project:
679
- rubygems_version: 2.5.2.3
680
- signing_key:
740
+ rubygems_version: 3.2.3
741
+ signing_key:
681
742
  specification_version: 4
682
743
  summary: Datadog tracing code for your Ruby applications
683
744
  test_files: []