elastic-apm 3.13.0 → 4.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/.jenkins_codecov.yml +1 -1
  3. data/.ci/.jenkins_exclude.yml +59 -61
  4. data/.ci/.jenkins_framework.yml +3 -4
  5. data/.ci/.jenkins_master_framework.yml +1 -1
  6. data/.ci/.jenkins_ruby.yml +1 -4
  7. data/.ci/Jenkinsfile +23 -2
  8. data/.ci/docker/jruby/11-jdk/Dockerfile +2 -1
  9. data/.ci/docker/jruby/12-jdk/Dockerfile +2 -1
  10. data/.ci/docker/jruby/13-jdk/Dockerfile +2 -1
  11. data/.ci/docker/jruby/7-jdk/Dockerfile +2 -1
  12. data/.ci/docker/jruby/8-jdk/Dockerfile +2 -1
  13. data/.github/workflows/addToProject.yml +29 -0
  14. data/.rubocop.yml +1 -8
  15. data/CHANGELOG.asciidoc +72 -0
  16. data/Gemfile +23 -6
  17. data/README.md +12 -0
  18. data/bench/report.rb +1 -1
  19. data/bin/run-bdd +17 -0
  20. data/bin/run-tests +1 -1
  21. data/docs/configuration.asciidoc +72 -140
  22. data/docs/release-notes.asciidoc +1 -0
  23. data/docs/supported-technologies.asciidoc +2 -0
  24. data/docs/upgrading.asciidoc +0 -27
  25. data/lib/elastic_apm.rb +11 -1
  26. data/lib/elastic_apm/agent.rb +6 -2
  27. data/lib/elastic_apm/central_config.rb +4 -4
  28. data/lib/elastic_apm/config.rb +4 -85
  29. data/lib/elastic_apm/config/regexp_list.rb +1 -1
  30. data/lib/elastic_apm/config/wildcard_pattern_list.rb +1 -1
  31. data/lib/elastic_apm/context/response.rb +1 -3
  32. data/lib/elastic_apm/grpc.rb +2 -4
  33. data/lib/elastic_apm/instrumenter.rb +1 -1
  34. data/lib/elastic_apm/metrics/cpu_mem_set.rb +1 -1
  35. data/lib/elastic_apm/naively_hashable.rb +1 -0
  36. data/lib/elastic_apm/normalizers.rb +2 -2
  37. data/lib/elastic_apm/normalizers/rails/active_record.rb +25 -7
  38. data/lib/elastic_apm/opentracing.rb +3 -2
  39. data/lib/elastic_apm/span.rb +8 -1
  40. data/lib/elastic_apm/span/context.rb +12 -3
  41. data/lib/elastic_apm/span/context/destination.rb +59 -14
  42. data/lib/elastic_apm/span/context/http.rb +2 -0
  43. data/lib/elastic_apm/{sql.rb → span/context/message.rb} +16 -12
  44. data/lib/elastic_apm/span_helpers.rb +6 -8
  45. data/lib/elastic_apm/spies/action_dispatch.rb +10 -9
  46. data/lib/elastic_apm/spies/delayed_job.rb +6 -2
  47. data/lib/elastic_apm/spies/dynamo_db.rb +50 -11
  48. data/lib/elastic_apm/spies/elasticsearch.rb +32 -29
  49. data/lib/elastic_apm/spies/faraday.rb +56 -45
  50. data/lib/elastic_apm/spies/http.rb +32 -32
  51. data/lib/elastic_apm/spies/mongo.rb +13 -7
  52. data/lib/elastic_apm/spies/net_http.rb +48 -52
  53. data/lib/elastic_apm/spies/rake.rb +28 -26
  54. data/lib/elastic_apm/spies/redis.rb +11 -10
  55. data/lib/elastic_apm/spies/resque.rb +18 -21
  56. data/lib/elastic_apm/spies/s3.rb +126 -0
  57. data/lib/elastic_apm/spies/sequel.rb +42 -48
  58. data/lib/elastic_apm/spies/sidekiq.rb +13 -15
  59. data/lib/elastic_apm/spies/sinatra.rb +20 -21
  60. data/lib/elastic_apm/spies/sns.rb +132 -0
  61. data/lib/elastic_apm/spies/sqs.rb +238 -0
  62. data/lib/elastic_apm/spies/tilt.rb +10 -9
  63. data/lib/elastic_apm/sql/tokenizer.rb +21 -5
  64. data/lib/elastic_apm/stacktrace_builder.rb +3 -1
  65. data/lib/elastic_apm/trace_context.rb +5 -13
  66. data/lib/elastic_apm/trace_context/traceparent.rb +5 -6
  67. data/lib/elastic_apm/transport/connection.rb +1 -1
  68. data/lib/elastic_apm/transport/connection/http.rb +1 -1
  69. data/lib/elastic_apm/transport/connection/proxy_pipe.rb +1 -2
  70. data/lib/elastic_apm/transport/filters/hash_sanitizer.rb +5 -23
  71. data/lib/elastic_apm/transport/serializers/metadata_serializer.rb +2 -1
  72. data/lib/elastic_apm/transport/serializers/metricset_serializer.rb +2 -2
  73. data/lib/elastic_apm/transport/serializers/span_serializer.rb +32 -6
  74. data/lib/elastic_apm/transport/user_agent.rb +3 -2
  75. data/lib/elastic_apm/transport/worker.rb +1 -1
  76. data/lib/elastic_apm/util/deep_dup.rb +1 -1
  77. data/lib/elastic_apm/version.rb +1 -1
  78. metadata +11 -7
  79. data/lib/elastic_apm/sql_summarizer.rb +0 -53
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49c0c5abfddc19b97d5a0a25f7adeff62bd8ed99a1bdcb97d94ca9b3ff09134f
4
- data.tar.gz: 4e7a68808d904181b3649cc766c075e5b575633b55a370047cd85c4eff53c5ef
3
+ metadata.gz: da1239b00118fb2c21b67f917ba1956eec7fe030a69492b7f1d816d75e756130
4
+ data.tar.gz: 708d649fd0d1b1c27a46e0a9e938f75a81a89586f877d456cdf822d2a354d3b3
5
5
  SHA512:
6
- metadata.gz: 94af89d9a12520b2344f941b85eefdd6d0bd447dc75ac75b220b491611e0b16a47722cce78badf8f065f78cd09496d7a63d5a0e392af3ee939ed86ecef43599b
7
- data.tar.gz: '0790d669dede1e490e290960129488264dc9661224ccb011094c1a3a5a48419ad628f5b7e83ba11ad273c8af1698e9d935cb2d6f3a823197793931f2ec27e7de'
6
+ metadata.gz: a2d683ea3dfcc8ba86eb9e86caf042b3013f2b85cbce87ddf07bd52eff554f2af344ceaf37b3b33bc2ab144e875ded5730b3e6ada3624c3db9fcb5e1942086f1
7
+ data.tar.gz: a345b9b8cc2d03596ce20abe1dce4e5e93391405c25bff926e15dedaf2924ebc8c305b389cf8f838b352385f87bc4d24ed613eaa39c6017fe4152c19d1d47881
@@ -2,4 +2,4 @@
2
2
  # Tuple of ruby version and frameworks which are in charge to send data to codecov.
3
3
  # # is the separator between the ruby version and the framework.
4
4
  ENABLED:
5
- - ruby:2.6#rails-6.0
5
+ - ruby:2.7#rails-6.1
@@ -2,91 +2,92 @@ exclude:
2
2
  # Ruby 2.3
3
3
  # Only includes rails-5.2, sinatra-2.0
4
4
  - RUBY_VERSION: ruby:2.3
5
- FRAMEWORK: rails-6.0
6
- - RUBY_VERSION: ruby:2.3
7
- FRAMEWORK: rails-5.1
5
+ FRAMEWORK: rails-6.1
8
6
  - RUBY_VERSION: ruby:2.3
9
- FRAMEWORK: rails-5.0
7
+ FRAMEWORK: rails-6.0
10
8
  - RUBY_VERSION: ruby:2.3
11
9
  FRAMEWORK: rails-4.2
12
10
  - RUBY_VERSION: ruby:2.3
13
11
  FRAMEWORK: sinatra-1.4
14
12
  - RUBY_VERSION: ruby:2.3
15
- FRAMEWORK: grape-1.3
13
+ FRAMEWORK: grape-1.5
16
14
  - RUBY_VERSION: ruby:2.3
17
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
15
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.0
18
16
  - RUBY_VERSION: ruby:2.3
19
- FRAMEWORK: rails-master
17
+ FRAMEWORK: rails-main
20
18
  - RUBY_VERSION: ruby:2.3
21
19
  FRAMEWORK: sinatra-master
22
20
  - RUBY_VERSION: ruby:2.3
23
21
  FRAMEWORK: grape-master
24
22
 
23
+ # rails-4.2 exclusions
24
+ # Only test on ruby 2.6, 2.5, 2.4, 2.3
25
+ - RUBY_VERSION: ruby:3.0
26
+ FRAMEWORK: rails-4.2
25
27
  - RUBY_VERSION: ruby:2.7
26
28
  FRAMEWORK: rails-4.2
27
29
  - RUBY_VERSION: jruby:9.2
28
30
  FRAMEWORK: rails-4.2
29
- - RUBY_VERSION: jruby:9.1
30
- FRAMEWORK: rails-4.2
31
31
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
32
32
  FRAMEWORK: rails-4.2
33
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-12-jdk
34
- FRAMEWORK: rails-4.2
35
33
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
36
34
  FRAMEWORK: rails-4.2
37
35
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
38
36
  FRAMEWORK: rails-4.2
39
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
40
- FRAMEWORK: rails-4.2
37
+ # sinatra-1.4 exclusions
38
+ - RUBY_VERSION: ruby:3.0
39
+ FRAMEWORK: sinatra-1.4
40
+ - RUBY_VERSION: ruby:2.7
41
+ FRAMEWORK: sinatra-1.4
42
+ - RUBY_VERSION: jruby:9.2
43
+ FRAMEWORK: sinatra-1.4
44
+ - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
45
+ FRAMEWORK: sinatra-1.4
46
+ - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
47
+ FRAMEWORK: sinatra-1.4
48
+ - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
49
+ FRAMEWORK: sinatra-1.4
41
50
 
51
+ # rails-6.0 and rails-6.1 exclusions
52
+ # Don't test on ruby 2.4
53
+ - RUBY_VERSION: ruby:2.4
54
+ FRAMEWORK: rails-6.1
42
55
  - RUBY_VERSION: ruby:2.4
43
- FRAMEWORK: rails-6.0
44
- - RUBY_VERSION: jruby:9.1
45
- FRAMEWORK: rails-6.0
46
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
47
56
  FRAMEWORK: rails-6.0
48
57
 
49
- # Only test master on newest ruby
58
+ # Only test rails master on ruby 2.7 and ruby 3.0
50
59
  - RUBY_VERSION: ruby:2.6
51
- FRAMEWORK: rails-master
60
+ FRAMEWORK: rails-main
52
61
  - RUBY_VERSION: ruby:2.5
53
- FRAMEWORK: rails-master
62
+ FRAMEWORK: rails-main
54
63
  - RUBY_VERSION: ruby:2.4
55
- FRAMEWORK: rails-master
64
+ FRAMEWORK: rails-main
56
65
  - RUBY_VERSION: jruby:9.2
57
- FRAMEWORK: rails-master
58
- - RUBY_VERSION: jruby:9.1
59
- FRAMEWORK: rails-master
66
+ FRAMEWORK: rails-main
60
67
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
61
- FRAMEWORK: rails-master
62
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-12-jdk
63
- FRAMEWORK: rails-master
68
+ FRAMEWORK: rails-main
64
69
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
65
- FRAMEWORK: rails-master
70
+ FRAMEWORK: rails-main
66
71
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
67
- FRAMEWORK: rails-master
68
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
69
- FRAMEWORK: rails-master
72
+ FRAMEWORK: rails-main
70
73
 
74
+ # Only test sinatra master on ruby 2.7 and ruby 3.0
75
+ - RUBY_VERSION: ruby:2.6
76
+ FRAMEWORK: sinatra-master
71
77
  - RUBY_VERSION: ruby:2.5
72
78
  FRAMEWORK: sinatra-master
73
79
  - RUBY_VERSION: ruby:2.4
74
80
  FRAMEWORK: sinatra-master
75
81
  - RUBY_VERSION: jruby:9.2
76
82
  FRAMEWORK: sinatra-master
77
- - RUBY_VERSION: jruby:9.1
78
- FRAMEWORK: sinatra-master
79
83
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
80
84
  FRAMEWORK: sinatra-master
81
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-12-jdk
82
- FRAMEWORK: sinatra-master
83
85
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
84
86
  FRAMEWORK: sinatra-master
85
87
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
86
88
  FRAMEWORK: sinatra-master
87
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
88
- FRAMEWORK: sinatra-master
89
89
 
90
+ # Only test grape master on ruby 2.7 and ruby 3.0
90
91
  - RUBY_VERSION: ruby:2.6
91
92
  FRAMEWORK: grape-master
92
93
  - RUBY_VERSION: ruby:2.5
@@ -95,42 +96,39 @@ exclude:
95
96
  FRAMEWORK: grape-master
96
97
  - RUBY_VERSION: jruby:9.2
97
98
  FRAMEWORK: grape-master
98
- - RUBY_VERSION: jruby:9.1
99
- FRAMEWORK: grape-master
100
99
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
101
100
  FRAMEWORK: grape-master
102
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-12-jdk
103
- FRAMEWORK: grape-master
104
101
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
105
102
  FRAMEWORK: grape-master
106
103
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
107
104
  FRAMEWORK: grape-master
108
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
109
- FRAMEWORK: grape-master
110
105
 
111
- # Unsupported
112
- - RUBY_VERSION: jruby:9.1
113
- FRAMEWORK: grape-1.3
114
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
115
- FRAMEWORK: grape-1.3
106
+ # grape 1.5 doesn't support ruby 3.0
107
+ - RUBY_VERSION: ruby:3.0
108
+ FRAMEWORK: grape-1.5
109
+ - RUBY_VERSION: ruby:3.0
110
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
116
111
 
112
+ # only test ruby 3.0 with rails 6.0 and rails 6.1
113
+ - RUBY_VERSION: ruby:3.0
114
+ FRAMEWORK: rails-5.2
115
+ - RUBY_VERSION: ruby:3.0
116
+ FRAMEWORK: rails-5.1
117
+
118
+ # Unsupported
117
119
  - RUBY_VERSION: ruby:2.6
118
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
120
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
119
121
  - RUBY_VERSION: ruby:2.5
120
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
122
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
121
123
  - RUBY_VERSION: ruby:2.4
122
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
124
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
125
+ - RUBY_VERSION: ruby:2.3
126
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
123
127
  - RUBY_VERSION: jruby:9.2
124
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
125
- - RUBY_VERSION: jruby:9.1
126
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
128
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
127
129
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
128
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
129
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-12-jdk
130
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
130
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
131
131
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
132
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
132
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
133
133
  - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
134
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
135
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.1-7-jdk
136
- FRAMEWORK: grape-1.3,sinatra-2.0,rails-6.0
134
+ FRAMEWORK: grape-1.5,sinatra-2.0,rails-6.1
@@ -1,13 +1,12 @@
1
1
  FRAMEWORK:
2
+ - rails-6.1
2
3
  - rails-6.0
3
4
  - rails-5.2
4
- - rails-5.1
5
- - rails-5.0
6
5
  - rails-4.2
7
6
 
8
7
  - sinatra-2.0
9
8
  - sinatra-1.4
10
9
 
11
- - grape-1.3
10
+ - grape-1.5
12
11
 
13
- - grape-1.3,sinatra-2.0,rails-6.0
12
+ - grape-1.5,sinatra-2.0,rails-6.1
@@ -1,4 +1,4 @@
1
1
  FRAMEWORK:
2
- - rails-master
2
+ - rails-main
3
3
  - sinatra-master
4
4
  - grape-master
@@ -1,13 +1,10 @@
1
1
  RUBY_VERSION:
2
+ - ruby:3.0
2
3
  - ruby:2.7
3
4
  - ruby:2.6
4
5
  - ruby:2.5
5
6
  - ruby:2.4
6
- - ruby:2.3
7
7
  - jruby:9.2
8
- - jruby:9.1
9
8
  - docker.elastic.co/observability-ci/jruby:9.2-13-jdk
10
- - docker.elastic.co/observability-ci/jruby:9.2-12-jdk
11
9
  - docker.elastic.co/observability-ci/jruby:9.2-11-jdk
12
10
  - docker.elastic.co/observability-ci/jruby:9.2-8-jdk
13
- - docker.elastic.co/observability-ci/jruby:9.1-7-jdk
data/.ci/Jenkinsfile CHANGED
@@ -26,6 +26,7 @@ pipeline {
26
26
  RELEASE_SECRET = 'secret/apm-team/ci/apm-agent-ruby-rubygems-release'
27
27
  OPBEANS_REPO = 'opbeans-ruby'
28
28
  REFERENCE_REPO = '/var/lib/jenkins/.git-references/apm-agent-ruby.git'
29
+ SLACK_CHANNEL = '#apm-agent-ruby'
29
30
  }
30
31
  options {
31
32
  timeout(time: 2, unit: 'HOURS')
@@ -206,6 +207,12 @@ pipeline {
206
207
  tag pattern: 'v\\d+.*', comparator: 'REGEXP'
207
208
  }
208
209
  stages {
210
+ stage('Notify') {
211
+ steps {
212
+ notifyStatus(slackStatus: 'warning', subject: "[${env.REPO}] Release *${env.TAG_NAME}* ready to be pushed",
213
+ body: "(<${env.RUN_DISPLAY_URL}|Open>).\n Changes: ${env.TAG_NAME}")
214
+ }
215
+ }
209
216
  stage('Release') {
210
217
  steps {
211
218
  deleteDir()
@@ -226,9 +233,13 @@ pipeline {
226
233
  }
227
234
  }
228
235
  post {
236
+ success {
237
+ notifyStatus(slackStatus: 'good', subject: "[${env.REPO}] Release *${env.TAG_NAME}* published",
238
+ body: "Great news, the release has been done successfully. (<${env.RUN_DISPLAY_URL}|Open>).")
239
+ }
229
240
  unsuccessful {
230
- emailext subject: "[${env.REPO}] Syncup post-release stage failed.", to: "${NOTIFY_TO}",
231
- body: "Please go to ${env.BUILD_URL} to review the logs. Most likely you need to update the branch manually."
241
+ notifyStatus(slackStatus: 'warning', subject: "[${env.REPO}] Release *${env.TAG_NAME}* has some sync-up post-release failures.",
242
+ body: "Please go to ${env.BUILD_URL} to review the logs. Most likely you need to update the branch manually. (<${env.RUN_DISPLAY_URL}|Open>)")
232
243
  }
233
244
  }
234
245
  }
@@ -378,6 +389,7 @@ def runScript(Map params = [:]){
378
389
  dir("${BASE_DIR}"){
379
390
  sleep randomNumber(min:10, max: 30)
380
391
  dockerLogin(secret: "${DOCKER_SECRET}", registry: "${DOCKER_REGISTRY}")
392
+ sh(label: "Run BDD tests", script: "./spec/scripts/features.sh ${ruby}")
381
393
  sh("./spec/scripts/spec.sh ${ruby} ${framework}")
382
394
  }
383
395
  }
@@ -417,3 +429,12 @@ def prepareRelease(Closure body){
417
429
  def normalise(def what) {
418
430
  return what.replaceAll('.*/', '').replaceAll(':', '-')
419
431
  }
432
+
433
+ def notifyStatus(def args = [:]) {
434
+ releaseNotification(slackChannel: "${env.SLACK_CHANNEL}",
435
+ slackColor: args.slackStatus,
436
+ slackCredentialsId: 'jenkins-slack-integration-token',
437
+ to: "${env.NOTIFY_TO}",
438
+ subject: args.subject,
439
+ body: args.body)
440
+ }
@@ -2,6 +2,7 @@ FROM openjdk:11-jdk
2
2
 
3
3
  RUN apt-get update \
4
4
  && apt-get install -y libc6-dev --no-install-recommends \
5
+ && apt-get install -y gcc \
5
6
  && rm -rf /var/lib/apt/lists/*
6
7
 
7
8
  ENV JRUBY_VERSION 9.2.10.0
@@ -37,4 +38,4 @@ ENV PATH $BUNDLE_BIN:$PATH
37
38
  RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
38
39
  && chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
39
40
 
40
- CMD [ "irb" ]
41
+ CMD [ "irb" ]
@@ -2,6 +2,7 @@ FROM adoptopenjdk:12-jdk-openj9
2
2
 
3
3
  RUN apt-get update \
4
4
  && apt-get install -y libc6-dev git tcc netbase --no-install-recommends \
5
+ && apt-get install -y gcc \
5
6
  && rm -rf /var/lib/apt/lists/*
6
7
 
7
8
  ENV JRUBY_VERSION 9.2.10.0
@@ -37,4 +38,4 @@ ENV PATH $BUNDLE_BIN:$PATH
37
38
  RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
38
39
  && chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
39
40
 
40
- CMD [ "irb" ]
41
+ CMD [ "irb" ]
@@ -2,6 +2,7 @@ FROM openjdk:13-jdk-slim
2
2
 
3
3
  RUN apt-get update \
4
4
  && apt-get install -y libc6-dev git tcc curl netbase --no-install-recommends \
5
+ && apt-get install -y gcc \
5
6
  && rm -rf /var/lib/apt/lists/*
6
7
 
7
8
  ENV JRUBY_VERSION 9.2.10.0
@@ -37,4 +38,4 @@ ENV PATH $BUNDLE_BIN:$PATH
37
38
  RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
38
39
  && chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
39
40
 
40
- CMD [ "irb" ]
41
+ CMD [ "irb" ]
@@ -2,6 +2,7 @@ FROM openjdk:7-jdk
2
2
 
3
3
  RUN apt-get update \
4
4
  && apt-get install -y libc6-dev --no-install-recommends \
5
+ && apt-get install -y gcc \
5
6
  && rm -rf /var/lib/apt/lists/*
6
7
 
7
8
  ENV JRUBY_VERSION 9.1.17.0
@@ -37,4 +38,4 @@ ENV PATH $BUNDLE_BIN:$PATH
37
38
  RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
38
39
  && chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
39
40
 
40
- CMD [ "irb" ]
41
+ CMD [ "irb" ]
@@ -2,6 +2,7 @@ FROM openjdk:8-jdk
2
2
 
3
3
  RUN apt-get update \
4
4
  && apt-get install -y libc6-dev --no-install-recommends \
5
+ && apt-get install -y gcc \
5
6
  && rm -rf /var/lib/apt/lists/*
6
7
 
7
8
  ENV JRUBY_VERSION 9.2.10.0
@@ -37,4 +38,4 @@ ENV PATH $BUNDLE_BIN:$PATH
37
38
  RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \
38
39
  && chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
39
40
 
40
- CMD [ "irb" ]
41
+ CMD [ "irb" ]
@@ -0,0 +1,29 @@
1
+ name: Auto Assign to Project(s)
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, edited, milestoned]
6
+ pull_request_target:
7
+ types: [opened, edited, milestoned]
8
+ env:
9
+ MY_GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }}
10
+
11
+ jobs:
12
+ assign_one_project:
13
+ runs-on: ubuntu-latest
14
+ name: Assign milestoned to Project
15
+ steps:
16
+ - name: Assign issues with milestones to project
17
+ uses: elastic/assign-one-project-github-action@1.2.2
18
+ if: github.event.issue && github.event.issue.milestone
19
+ with:
20
+ project: 'https://github.com/orgs/elastic/projects/454'
21
+ project_id: '5882982'
22
+ column_name: 'Planned'
23
+ - name: Assign new pull requests to project
24
+ uses: elastic/assign-one-project-github-action@1.2.2
25
+ if: github.event.action == 'opened' && github.event.pull_request
26
+ with:
27
+ project: 'https://github.com/orgs/elastic/projects/454'
28
+ project_id: '5882982'
29
+ column_name: 'In Progress'
data/.rubocop.yml CHANGED
@@ -7,7 +7,7 @@ AllCops:
7
7
  - 'bench/*'
8
8
  - 'spec/support/helloworld_pb.rb'
9
9
  - 'spec/support/helloworld_services_pb.rb'
10
- - 'features/step_definitions/stepdefs.rb'
10
+ - 'features/**/*'
11
11
 
12
12
  require:
13
13
  - rubocop-performance
@@ -132,10 +132,3 @@ Style/StringConcatenation:
132
132
 
133
133
  Style/DocumentDynamicEvalDefinition:
134
134
  Enabled: false
135
-
136
- # Applies to > ruby 2.3, enable when 2.3 support is dropped
137
- Performance/RegexpMatch:
138
- Enabled: false
139
-
140
- Style/HashTransformValues:
141
- Enabled: false
data/CHANGELOG.asciidoc CHANGED
@@ -32,9 +32,81 @@ endif::[]
32
32
  ==== Unreleased
33
33
  ////
34
34
 
35
+ [[release-notes-4.x]]
36
+ === Ruby Agent version 4.x
37
+
38
+ [[release-notes-4.0.0]]
39
+
40
+ [float]
41
+ ==== 4.0.0.beta.2
42
+
43
+ [float]
44
+ ===== Added
45
+
46
+ - Added `set_service` API {pull}1006[#1006]
47
+
48
+ [float]
49
+ ===== Fixed
50
+
51
+ - AWS S3 spy accepts symbol bucket names {pull}998[#998]
52
+ - AWS S3 spy passing on blocks {pull}998[#998]
53
+ - SQL scanner now recognizes CQL style comments {pull}1004[#1004]
54
+
55
+ [float]
56
+ ==== 4.0.0.beta.1
57
+
58
+ [float]
59
+ ===== Removed
60
+
61
+ - Removed support for Ruby 2.3 and JRuby 9.1 {pull}901[#901]
62
+ - Config option `active`, see `enabled` {pull}900[#900]
63
+ - Config option `custom_key_filters`, see `sanitize_field_names` {pull}900[#900]
64
+ - Config option `default_tags`, see `global_labels` {pull}900[#900]
65
+ - Config option `default_labels`, see `global_labels` {pull}900[#900]
66
+ - Config option `ignore_url_patterns`, see `transaction_ignore_urls` {pull}900[#900]
67
+ - Config option `use_legacy_sql_parser`, legacy parser no longer included {pull}900[#900]
68
+
69
+ [float]
70
+ ===== Changed
71
+
72
+ - Integrations (Spies) use Module#prepend over class_eval {pull}890[#890]
73
+ - The secrets filter no longer filters based on values, see `sanitize_field_names` {pull}900[#900]
74
+ - The secrets filter is aligned with other agents, see `sanitize_field_names` {pull}900[#900]
75
+
35
76
  [[release-notes-3.x]]
36
77
  === Ruby Agent version 3.x
37
78
 
79
+ [[release-notes-3.15.0]]
80
+ ==== 3.15.0 (2021-03-22)
81
+
82
+ [float]
83
+ ===== Changed
84
+
85
+ - Changed DynamoDB instrumentation to match spec. Span names now follow the format `DynamoDB
86
+ Operation [table]` {pull}976[#976]
87
+
88
+ [float]
89
+ ===== Added
90
+ - Support for AWS S3 {pull}977[#977]
91
+ - Support for AWS SQS {pull}978[#978]
92
+ - Support for AWS SNS {pull}978[#978]
93
+
94
+ [[release-notes-3.14.0]]
95
+ ==== 3.14.0 (2021-03-17)
96
+
97
+ [float]
98
+ ===== Added
99
+
100
+ - Expanded support for extracting ActiveRecord adapter name from notification payload when using
101
+ ActiveRecord versions before 6.0 {pull}953[#953]
102
+
103
+ [float]
104
+ ===== Fixed
105
+
106
+ - Fixed setting outcome in Mongo spy when not traced {pull}937[#937]
107
+ - Fixed missing container metadata in payloads {pull}942[#942]
108
+ - Fixed outgoing HTTP request spans with no Host {pull}962[#962]
109
+
38
110
  [[release-notes-3.13.0]]
39
111
  ==== 3.13.0 (2020-12-22)
40
112