elastic-apm 4.7.3 → 4.8.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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/.exclude.yml +21 -82
  3. data/.ci/.framework.yml +1 -4
  4. data/.ci/.ruby.yml +1 -1
  5. data/.ci/updatecli/values.d/apm-data-spec.yml +1 -0
  6. data/.ci/updatecli/values.d/apm-gherkin.yml +1 -0
  7. data/.ci/updatecli/values.d/apm-json-specs.yml +1 -0
  8. data/.ci/updatecli/values.d/scm.yml +10 -0
  9. data/.ci/updatecli/values.d/update-compose.yml +3 -0
  10. data/.github/PULL_REQUEST_TEMPLATE.md +2 -2
  11. data/.github/dependabot.yml +24 -19
  12. data/.github/workflows/README.md +1 -2
  13. data/.github/workflows/addToProject.yml +16 -2
  14. data/.github/workflows/ci.yml +6 -6
  15. data/.github/workflows/docs-build.yml +19 -0
  16. data/.github/workflows/docs-cleanup.yml +14 -0
  17. data/.github/workflows/github-commands-comment.yml +38 -0
  18. data/.github/workflows/microbenchmark.yml +7 -24
  19. data/.github/workflows/release.yml +39 -24
  20. data/.github/workflows/run-matrix.yml +21 -12
  21. data/.github/workflows/test-reporter.yml +4 -3
  22. data/.github/workflows/updatecli.yml +45 -13
  23. data/Gemfile +13 -0
  24. data/bin/dev +2 -2
  25. data/docs/docset.yml +9 -0
  26. data/docs/reference/advanced-topics.md +12 -0
  27. data/docs/reference/api-reference.md +422 -0
  28. data/docs/reference/configuration.md +734 -0
  29. data/docs/{context.asciidoc → reference/context.md} +21 -21
  30. data/docs/reference/custom-instrumentation.md +72 -0
  31. data/docs/{getting-started-rack.asciidoc → reference/getting-started-rack.md} +20 -29
  32. data/docs/reference/getting-started-rails.md +27 -0
  33. data/docs/reference/graphql.md +21 -0
  34. data/docs/reference/index.md +24 -0
  35. data/docs/{logs.asciidoc → reference/logs.md} +38 -56
  36. data/docs/reference/metrics.md +199 -0
  37. data/docs/reference/opentracing-api.md +70 -0
  38. data/docs/reference/performance-tuning.md +71 -0
  39. data/docs/reference/set-up-apm-ruby-agent.md +16 -0
  40. data/docs/reference/supported-technologies.md +128 -0
  41. data/docs/reference/toc.yml +22 -0
  42. data/docs/reference/upgrading.md +19 -0
  43. data/docs/release-notes/index.md +166 -0
  44. data/docs/release-notes/known-issues.md +24 -0
  45. data/docs/release-notes/toc.yml +3 -0
  46. data/lib/elastic_apm/context_builder.rb +5 -2
  47. data/lib/elastic_apm/spies/sidekiq.rb +2 -1
  48. data/lib/elastic_apm/stacktrace_builder.rb +3 -3
  49. data/lib/elastic_apm/version.rb +1 -1
  50. data/updatecli-compose.yaml +23 -0
  51. metadata +37 -36
  52. data/.ci/snapshoty.yml +0 -33
  53. data/.ci/updatecli/updatecli.d/update-gherkin-specs.yml +0 -84
  54. data/.ci/updatecli/updatecli.d/update-json-specs.yml +0 -84
  55. data/.ci/updatecli/updatecli.d/update-specs.yml +0 -86
  56. data/.ci/updatecli/values.yml +0 -14
  57. data/.github/workflows/coverage-reporter.yml +0 -34
  58. data/.github/workflows/opentelemetry.yml +0 -22
  59. data/.github/workflows/snapshoty.yml +0 -35
  60. data/CHANGELOG.asciidoc +0 -990
  61. data/docs/advanced.asciidoc +0 -14
  62. data/docs/api.asciidoc +0 -487
  63. data/docs/configuration.asciidoc +0 -889
  64. data/docs/custom-instrumentation.asciidoc +0 -80
  65. data/docs/debugging.asciidoc +0 -44
  66. data/docs/getting-started-rails.asciidoc +0 -30
  67. data/docs/graphql.asciidoc +0 -23
  68. data/docs/index.asciidoc +0 -38
  69. data/docs/introduction.asciidoc +0 -36
  70. data/docs/metrics.asciidoc +0 -235
  71. data/docs/opentracing.asciidoc +0 -94
  72. data/docs/performance-tuning.asciidoc +0 -106
  73. data/docs/redirects.asciidoc +0 -9
  74. data/docs/release-notes.asciidoc +0 -15
  75. data/docs/set-up.asciidoc +0 -19
  76. data/docs/supported-technologies.asciidoc +0 -157
  77. data/docs/upgrading.asciidoc +0 -18
  78. /data/docs/{images → reference/images}/dynamic-config.svg +0 -0
data/CHANGELOG.asciidoc DELETED
@@ -1,990 +0,0 @@
1
- ifdef::env-github[]
2
- NOTE: Release notes are best read in our documentation at
3
- https://www.elastic.co/guide/en/apm/agent/ruby/current/release-notes.html[elastic.co]
4
- endif::[]
5
-
6
- ////
7
- [[release-notes-x.x.x]]
8
- ==== x.x.x (YYYY-MM-DD)
9
-
10
- [float]
11
- ===== Breaking changes
12
- - Breaking change
13
-
14
- [float]
15
- ===== Deprecated
16
- - Deprecation {pull}2526[#2526]
17
-
18
- [float]
19
- ===== Added
20
- - Feature {pull}2526[#2526]
21
-
22
- [float]
23
- ===== Changed
24
- - Change {pull}2526[#2526]
25
-
26
- [float]
27
- ===== Fixed
28
-
29
- [float]
30
- [[unreleased]]
31
- ==== Unreleased
32
- ////
33
-
34
- [[release-notes-4.x]]
35
- === Ruby Agent version 4.x
36
-
37
- [[release-notes-4.7.3]
38
- ==== 4.7.3
39
-
40
- [float]
41
- ===== Fixed
42
- - Address a bug where if `capture_headers` is false, `ContextBuilder` will raise `"undefined method 'has_key?' for nil:NilClass"` {pull}1449[#1449]
43
-
44
- [[release-notes-4.7.2]
45
- ==== 4.7.2
46
-
47
- [float]
48
- ===== Fixed
49
- - Address machineType not being returned in GCP metadata {pull}1435[#1435]
50
-
51
- [[release-notes-4.7.1]
52
- ==== 4.7.1
53
-
54
- [float]
55
- ===== Fixed
56
- - Skip capturing cookie header when it's set separately {pull}1405[#1405]
57
- - Changes/fixes to metadata.cloud.* fields collected for GCP {pull}1415[#1415]
58
- - Pin version of bigdecimal for ruby 2.4 {pull}1417[#1417]
59
- - Use response method on Faraday error for older versions of the library {pull}1419[#1419]
60
- - Fix ActionDispatchSpy#render_exception for Rails 7.1 {pull}1423[#1423]
61
- - Use graphql < 2.1 when Ruby < 2.7 {pull}1425[#1425]
62
- - Guard against various Faraday exception response formats {pull}1428[#1428]
63
-
64
- [[release-notes-4.7.0]]
65
- ==== 4.7.0
66
-
67
- [float]
68
- ===== Fixed
69
- - Handle Faraday response being nil {pull}1382[#1382]
70
- - Fix error with invalid %-encoding {pull}1400[#1400]
71
-
72
- [float]
73
- ===== Added
74
- - Add keyword args for span_method helper {pull}1395[#1395]
75
-
76
- [[release-notes-4.6.2]]
77
- ==== 4.6.2
78
-
79
- [float]
80
- ===== Fixed
81
- - Fix Faraday::RackBuilder::StackLocked {pull}1371[#1371]
82
-
83
- [[release-notes-4.6.1]]
84
- ==== 4.6.1
85
-
86
- [float]
87
- ===== Fixed
88
-
89
- - Fix growing number of open file descriptors when HTTP request to APM is never sent {pull}1351[#1351]
90
- - Fix setting span http status code when Faraday Middleware is used {pull}1368[#1368]
91
- - Handle whitespace when splitting tracestate entries {pull}1353[#1353]
92
-
93
- [[release-notes-4.6.0]]
94
- ==== 4.6.0
95
-
96
- [float]
97
- ===== Added
98
-
99
- - Added transaction_name to reported error to allow grouping by transaction name {pull}1267[#1267]
100
- - Added ability to query server for version (useful in the future) {pull}1278[#1278]
101
- - Added instrumentation for https://github.com/zendesk/racecar/ Racecar Kafka library {pull}1284[#1284]
102
-
103
- ===== Changed
104
-
105
- - Expanded filtering to sanitize any key that contains the string 'auth' {pull}1266[#1266]
106
- - Rename `log_ecs_formatting` option to `log_ecs_reformatting`, deprecate old option name {pull}1248[#1248]
107
- - When the configuration value for `log_path` is set, override the `logger` to point to that path instead of using e.g. Rails logger {pull}1247[#1247]
108
- - Only send tracestate header for distributed tracing when it has content {pull}1277[#1277]
109
- - Use the hostname as the Kubernetes pod name in the Container Info metadata if the pod id is parsed from cgroup {pull}1314[#1314]
110
-
111
- ====== Fixed
112
-
113
- - Small change to Sidekiq tests to handle new configuration passing method {pull}1283[#1283]
114
- - Set transaction sample rate to 0 when it's unsampled {pull}1339[#1339]
115
- - Don't send unsampled transactions to APM server >= 8.0 {pull}1341[#1341]
116
-
117
- [[release-notes-4.5.1]]
118
- ==== 4.5.1
119
-
120
- [float]
121
- ===== Changed
122
-
123
- - Update elasticsearch spy to use new transport gem name {pull}1257[#1257]
124
- - Standardize placeholder for phone numbers as [PHONENUMBER] per https://github.com/elastic/apm/blob/main/specs/agents/tracing-instrumentation-aws.md {pull}1246[#1246]
125
-
126
- ===== Fixed
127
-
128
- - Fixed dependencies to allow CI to build successfully {pull}1259[#1259]
129
- - Fixed warnings related to TimeTask timeouts {pull}1255[#1255]
130
-
131
- [[release-notes-4.5.0]]
132
- ==== 4.5.0
133
-
134
- [float]
135
- ===== Changed
136
-
137
- - Stop collecting the field `http.request.socket.encrypted` {pull}1181[#1181]
138
-
139
- [float]
140
- ===== Fixed
141
-
142
- - Fixed MongoDB spy thread safety {pull}1202[#1202]
143
- - Fixed span context fields for DynamoDB instrumentation {pull}1178[#1178]
144
- - Fixed span context fields for S3 instrumentation {pull}1179[#1179]
145
- - Update user agent info to match spec {pull}1182[#1182]
146
-
147
- [[release-notes-4.4.0]]
148
- ==== 4.4.0
149
-
150
- [float]
151
- ===== Added
152
- - Optional span to be ended instead of current span {pull}1039[#1039]
153
- - Config option `log_ecs_formatting` {pull}1053[#1053]
154
-
155
- [float]
156
- ===== Fixed
157
- - Fixed detecting Linux on Alpine for CPU/MEM metrics {pull}1057[#1057]
158
-
159
- [[release-notes-4.3.0]]
160
- ==== 4.3.0
161
-
162
- [float]
163
- ===== Added
164
-
165
- - Add JVM memory metrics {pull}1040[#1040]
166
-
167
- [[release-notes-4.2.0]]
168
- ==== 4.2.0
169
-
170
- [float]
171
- ===== Added
172
-
173
- - Add support for AWS Storage Table/CosmosDB {pull}999[#999]
174
-
175
- [float]
176
- ===== Fixed
177
-
178
- - Align HTTP span types/subtypes with spec {pull}1014[#1014]
179
- - Passing a full URL as a path to `Net::HTTP` {pull}1029[#1029]
180
- - Fix growing number of open file descriptors {pull}1033[#1033]
181
-
182
- [[release-notes-4.1.0]]
183
- ==== 4.1.0
184
-
185
- [float]
186
- ===== Added
187
-
188
- - Azure App Services instance metadata {pull}1007[#1007]
189
-
190
- [float]
191
- ===== Changed
192
-
193
- - `hostname` is now reported split by `configured_hostname` and `detected_hostname` {pull}1009[#1009]
194
-
195
- [float]
196
- ===== Fixed
197
- - `service_node_name` is now correctly reported as `service.node.configured_name` {pull}1009[#1009]
198
- - Fix JSON parsing when using yajl-ruby {pull}1012[#1012]
199
- - Fix SpanHelpers when methods take blocks {pull}1013[#1013]
200
- - Fix missing `environment` param when fetching from Central Config {pull}1014[#1014]
201
-
202
- [[release-notes-4.0.0]]
203
- ==== 4.0.0
204
-
205
- [float]
206
- ===== Upgrading
207
-
208
- Be aware that this release changes the agent's general approach to instrumenting third
209
- party libraries.
210
- It now uses `Module#prepend` over alias method chaining.
211
-
212
- This doesn't necessarily impact your application but it could if you are using other gems
213
- that use the old approach to patch the same method.
214
- Mixing the two approaches can lead to infinite recursion.
215
-
216
- [float]
217
- ===== Removed
218
-
219
- - Removed support for Ruby 2.3 and JRuby 9.1 {pull}901[#901]
220
- - Config option `active`, see `enabled` {pull}900[#900]
221
- - Config option `custom_key_filters`, see `sanitize_field_names` {pull}900[#900]
222
- - Config option `default_tags`, see `global_labels` {pull}900[#900]
223
- - Config option `default_labels`, see `global_labels` {pull}900[#900]
224
- - Config option `ignore_url_patterns`, see `transaction_ignore_urls` {pull}900[#900]
225
- - Config option `use_legacy_sql_parser`, legacy parser no longer included {pull}900[#900]
226
-
227
- [float]
228
- ===== Changed
229
-
230
- - Integrations (Spies) use Module#prepend over class_eval {pull}890[#890]
231
- - The secrets filter no longer filters based on values, see `sanitize_field_names` {pull}900[#900]
232
- - The secrets filter is aligned with other agents, see `sanitize_field_names` {pull}900[#900]
233
-
234
- [float]
235
- ===== Added
236
-
237
- - Added `set_service` API {pull}1006[#1006]
238
-
239
- [float]
240
- ===== Fixed
241
-
242
- - AWS S3 spy accepts symbol bucket names {pull}998[#998]
243
- - AWS S3 spy passing on blocks {pull}998[#998]
244
- - SQL scanner now recognizes CQL style comments {pull}1004[#1004]
245
-
246
- [[release-notes-3.x]]
247
- === Ruby Agent version 3.x
248
-
249
- [[release-notes-3.15.0]]
250
- ==== 3.15.0 (2021-03-22)
251
-
252
- [float]
253
- ===== Changed
254
-
255
- - Changed DynamoDB instrumentation to match spec. Span names now follow the format `DynamoDB
256
- Operation [table]` {pull}976[#976]
257
-
258
- [float]
259
- ===== Added
260
- - Support for AWS S3 {pull}977[#977]
261
- - Support for AWS SQS {pull}978[#978]
262
- - Support for AWS SNS {pull}978[#978]
263
-
264
- [[release-notes-3.14.0]]
265
- ==== 3.14.0 (2021-03-17)
266
-
267
- [float]
268
- ===== Added
269
-
270
- - Expanded support for extracting ActiveRecord adapter name from notification payload when using
271
- ActiveRecord versions before 6.0 {pull}953[#953]
272
-
273
- [float]
274
- ===== Fixed
275
-
276
- - Fixed setting outcome in Mongo spy when not traced {pull}937[#937]
277
- - Fixed missing container metadata in payloads {pull}942[#942]
278
- - Fixed outgoing HTTP request spans with no Host {pull}962[#962]
279
-
280
- [[release-notes-3.13.0]]
281
- ==== 3.13.0 (2020-12-22)
282
-
283
- [float]
284
- ===== Fixed
285
-
286
- - Handle invalid utf-8 byte sequences in sql summarizer and DB statement {pull}896[#896]
287
- - Expand Kubernetes metadata discovery {pull}916[#916]
288
- - Fix fetching cloud info on Http.rb 3.x versions {pull}919[#919]
289
-
290
- [float]
291
- ===== Added
292
-
293
- - Support both integer and string log levels, and extra central config values {pull}902[#902]
294
-
295
- [float]
296
- ===== Changed
297
-
298
- - Rename server_ca_cert to server_ca_cert_file {pull}908[#908]
299
-
300
- [[release-notes-3.12.1]]
301
- ==== 3.12.1 (2020-11-16)
302
-
303
- [float]
304
- ===== Fixed
305
-
306
- - `capture_elasticsearch_queries` no longer modifies the original query {pull}894[#894]
307
-
308
- [[release-notes-3.12.0]]
309
- ==== 3.12.0 (2020-11-10)
310
-
311
- [float]
312
- ===== Added
313
-
314
- - Add outcome to transactions and spans {pull}883[#883]
315
-
316
- [[release-notes-3.11.1]]
317
- ==== 3.11.1 (2020-11-05)
318
-
319
- [float]
320
- ===== Fixed
321
-
322
- - Fix reporting from Kubernetes based deploys to APM Server 7.9.x {pull}885[#885]
323
-
324
- [[release-notes-3.11.0]]
325
- ==== 3.11.0 (2020-10-27)
326
-
327
- [float]
328
- ===== Added
329
-
330
- - Add and read sampling info from Tracestate headers {pull}858[#858]
331
- - Add information about cloud hosting environment if available {pull}871[#871]
332
-
333
- [float]
334
- ===== Changed
335
-
336
- - Align the default value of `sanitize_field_names` with other agents {pull}867[#867]
337
- - Ensure max 4 digits of precision for `sample_rate` as per agent spec {pull}880[#880]
338
-
339
- [float]
340
- ===== Fixed
341
-
342
- - Fix Delayed::Job class names when used through ActiveJob {pull}869[#869]
343
- - Fix Delayed::Job when run without the agent running {pull}874[#874]
344
- - Fix Kubernetes related metadata {pull}882[#882]
345
-
346
- [[release-notes-3.10.1]]
347
- ==== 3.10.1 (2020-08-26)
348
-
349
- [float]
350
- ===== Fixed
351
-
352
- - Remove secrets from cookies in errors {pull}863[#863]
353
- - Silence deprecation warning when setting `ignore_url_patterns` to default {pull}865[#865]
354
-
355
- [[release-notes-3.10.0]]
356
- ==== 3.10.0 (2020-08-26)
357
-
358
- [float]
359
- ===== Added
360
-
361
- - Config option `transaction_ignore_urls` to replace `ignore_url_patterns` {pull}844[#844]
362
- - Prepend `(?-i)` to patterns to make them case-sensitive {pull}846[#846]
363
-
364
- [float]
365
- ===== Fixed
366
-
367
- - Reverted {pull}839[#839]
368
- - Improved Kubernetes pod ID detection {pull}859[#859]
369
-
370
- [[release-notes-3.9.0]]
371
- ==== 3.9.0 (2020-08-04)
372
-
373
- [float]
374
- ===== Fixed
375
- - Scrub request body of illegal UTF-8 characters {pull}832[#832]
376
-
377
- [float]
378
- ===== Added
379
-
380
- - Support for DynamoDB {pull}827[#827]
381
-
382
- [float]
383
- ===== Fixed
384
-
385
- - Fix Rails Engine views' paths being reported as absolute {pull}839[#839]
386
- - Fix an issue when using Elasticsearch spy without a running agent {pull}830[#830]
387
-
388
- [[release-notes-3.8.0]]
389
- ==== 3.8.0 (2020-06-18)
390
-
391
- [float]
392
- ===== Added
393
-
394
- - Add the option `capture_elasticsearch_queries` {pull}789[#789]
395
- - Add option to skip patching Kernal#require {pull}812[#812]
396
- - Add option `service_node_name` {pull}820[#820]
397
-
398
- [float]
399
- ===== Fixed
400
-
401
- - Allow underscores in hostnames in Net::HTTP spy {pull}804[#804]
402
- - Don't change log level on logger object via remote config {pull}809[#809]
403
- - Update and fix the Opentracing bridge {pull}791[#791]
404
-
405
- [[release-notes-3.7.0]]
406
- ==== 3.7.0 (2020-05-14)
407
-
408
- [float]
409
- ===== Changed
410
-
411
- - Make config values dynamic so they can be changed via the remote config {pull}747[#747]
412
- - Log the updated options from central config in addition to cumulative modifications {pull}758[#758]
413
-
414
- [float]
415
- ===== Fixed
416
-
417
- - Ensure that the log level is updated for the config's logger when value is changed {pull}755[#755]
418
- - Set config `false` values to `false`, not `nil` {pull}761[#761]
419
- - Ensure that the previously running agent's config is used in `ElasticAPM.restart` {pull}763[#763]
420
- - Handle the Resque spy's payload class value being a String or Class and update docs {pull}768[#768]
421
- - Add finalizer on ProxyPipe::Write so Zlib::GzipWriter is properly closed {pull}787[#787]
422
-
423
- [float]
424
- ===== Added
425
-
426
- - Add enabled config option, replacing active {pull}669[#669]
427
- - Add recording config option {pull}765[#765]
428
- - Add support for `SuckerPunch` {pull}775[#775]
429
- - Support forking: Detect forking and restart agent tasks and background threads {pull}783[#783]
430
-
431
- [[release-notes-3.6.0]]
432
- ==== 3.6.0 (2020-03-10)
433
-
434
- [float]
435
- ===== Added
436
-
437
- - Support for gRPC using the `grpc` gem (Experimental) {pull}669[#669]
438
- - GraphQL support (experimental) {pull}721[#721]
439
- - Add `span.context.destination.address` and `span.context.destination.port` when available. {pull}722[#722]
440
- - Add support for Resque. {pull}729[#729]
441
-
442
- [float]
443
- ===== Changed
444
-
445
- - The new SQL parser is used by default {pull}730[#730]
446
-
447
- [[release-notes-3.5.0]]
448
- ==== 3.5.0 (2020-02-12)
449
-
450
- [float]
451
- ===== Added
452
-
453
- - Pass along tracestate headers and add prefixless Traceparent header {pull}694[#694]
454
- - Add sanitize_field_names to replace custom_key_filters {pull}708[#708]
455
- - Add `rows_affected` to database related spans (Sequel only for now) {pull}668[#668]
456
-
457
- [float]
458
- ===== Changed
459
-
460
- - Rename disabled_instrumentations to disable_instrumentations {pull}695[#695]
461
-
462
- [float]
463
- ===== Fixed
464
-
465
- - Fix thread race condition in metrics collection (JRuby) {pull}669[#669]
466
-
467
- [[release-notes-3.4.0]]
468
- ==== 3.4.0 (2020-01-10)
469
-
470
- [float]
471
- ===== Added
472
-
473
- - Add `span.context.destination` fields {pull}647[#647]
474
- - Add more precise (experimental) SQL summarizer {pull}640[#640]
475
- - Add support for Shoryuken (AWS SQS) {pull}674[#674]
476
- - Add support for Sneakers (Experimental) {pull}676[#676]
477
- - Add option `api_key` (experimental) to specify an Api key to use with the apm server {pull}655[#655]
478
-
479
- [float]
480
- ===== Changed
481
-
482
- - Allow action dispatch spy to be disabled via `disabled_instrumentations` {pull}657[#657]
483
-
484
- [float]
485
- ===== Fixed
486
-
487
- - Fix Rails Console detection when top-level `Console` constant defined {pull}664[#664]
488
- - Fix Ruby 2.7 related deprecation warnings {pull}667[#667]
489
- - Fix HTTP response header values not being converted to strings {pull}675[#675]
490
-
491
- [[release-notes-3.3.0]]
492
- ==== 3.3.0 (2019-12-05)
493
-
494
- [float]
495
- ===== Added
496
-
497
- - Add option `disable_metrics` {pull}625[#625]
498
-
499
- [float]
500
- ===== Fixed
501
-
502
- - Make Filters thread-safe {pull}624[#624]
503
- - Omit passwords in outgoing urls {pull}629[#629]
504
- - Add missing mutex to Counter metrics {pull}636[#636]
505
- - Correct span context collection name for Mongo getMore commands {pull}637[#637]
506
-
507
- [[release-notes-3.2.0]]
508
- ==== 3.2.0 (2019-11-19)
509
-
510
- [float]
511
- ===== Added
512
-
513
- - Add Grape support. {pull}562[#562]
514
- - Add Breakdown Metrics {pull}526[#526]
515
-
516
- [float]
517
- ===== Changes
518
-
519
- - Set remote_addr to immediate socket {pull}615[#615]
520
-
521
- [float]
522
- ===== Fixed
523
-
524
- - Fixed pulling config from Kibana {pull}594[#594]
525
- - Fixed a bug where the agent would alter the original cookies hash {pull}616[#616]
526
-
527
- [[release-notes-3.1.0]]
528
- ==== 3.1.0 (2019-10-21)
529
-
530
- [float]
531
- ===== Added
532
-
533
- - Add `ElasticAPM::Sinatra.start` API. {pull}556[#566]
534
-
535
- [float]
536
- ===== Changes
537
-
538
- - Log 404s from CentralConfig on debug level {pull}553[#553]
539
-
540
- [float]
541
- ===== Fixed
542
-
543
- - Fix Central Config url path {pull}578[#578]
544
-
545
- [[release-notes-3.0.0]]
546
- ==== 3.0.0 (2019-10-08)
547
-
548
- [float]
549
- ===== Breaking Changes
550
-
551
- The following changes are breaking, as they may change the way data is grouped or shown in Kibana or how your app
552
- defines agent settings.
553
-
554
- - Decrease stack_trace_limit to 50 {pull}515[#515]
555
- - Errors' `message` no longer include their `type` {pull}323[#323]
556
- - External request spans now have type `external.http.{library}` {pull}514[#514]
557
- - Durations are measured using monotonic time {pull}550[#550]
558
- - Rename set_tag to set_label {pull}543[#543]
559
- - Rename disabled_spies to disabled_instrumentations {pull}539[#539]
560
-
561
- [[release-notes-2.x]]
562
- === Ruby Agent version 2.x
563
-
564
- [[release-notes-2.12.0]]
565
- ==== 2.12.0 (2019-10-01)
566
-
567
- [float]
568
- ===== Changed
569
-
570
- - `disabled_spies` renamed to `disabled_instrumentations` with fallback {pull}539[#539]
571
- - Rename `set_tag` to `set_label` and deprecate `set_tag` {pull}543[#543]
572
- - Allow non-String label values {pull}543[#543]
573
-
574
- [float]
575
- ===== Fixed
576
-
577
- - Handles a case where stacktrace frames are empty {pull}538[#538]
578
-
579
- [float]
580
- ===== Deprecated
581
-
582
- - Deprecate `set_tag` {pull}543[#543]
583
-
584
- [[release-notes-2.11.0]]
585
- ==== 2.11.0 (2019-09-23)
586
-
587
- [float]
588
- ===== Added
589
-
590
- - Add `Rails` module with `#start` method to run Rails setup explicitly {pull}522[#522]
591
- - Support for log/trace correlation {pull}527[#527]
592
-
593
- [float]
594
- ===== Changed
595
-
596
- - Split dot-separated `span.type` into `.type`, `.subtype` and `.action` (auto-upgrades dot style) {pull}531[#531]
597
-
598
- [[release-notes-2.10.1]]
599
- ==== 2.10.1
600
-
601
- [float]
602
- ===== Fixed
603
-
604
- - Fixed loading options from a config file specified by `ELASTIC_APM_CONFIG_FILE` {pull}518[#518]
605
- - Fixed an issue with CentralConfig polling not starting {pull}525[#525]
606
-
607
- [float]
608
- ===== Added
609
-
610
- - Support for chained exceptions {pull}488[#488]
611
-
612
- [[release-notes-2.10.0]]
613
- ==== 2.10.0
614
-
615
- [float]
616
- ===== Added
617
-
618
- - Add Ruby specific metrics {pull}437[#437]
619
- - Support for APM Agent Configuration via Kibana {pull}464[#464]
620
- - Change span name format and add command to context's db.statement for `MongoSpy` {pull}488[#488]
621
-
622
- [float]
623
- ===== Changed
624
-
625
- - `ElasticAPM.report` and `ElasticAPM.report_message` return the string ID of the generated `Error` objects {pull}507[#507]
626
-
627
- [[release-notes-2.9.1]]
628
- ==== 2.9.1 (2019-06-28)
629
-
630
- [float]
631
- ===== Fixed
632
-
633
- - Use system CA certificate if none is specified {pull}460[#460]
634
-
635
- [[release-notes-2.9.0]]
636
- ==== 2.9.0 (2019-06-25)
637
-
638
- [float]
639
- ===== Security
640
-
641
- - **NB:** If you are using a custom CA cert via `server_ca_cert`, versions of the agent prior to 2.9.0 may not have validated the certificate of APM Server correctly.
642
-
643
- [float]
644
- ===== Added
645
-
646
- - Add `transaction.type` to errors {pull}434[#434]
647
- - Add cookies to `request.cookies` {pull}448[#448]
648
-
649
- [float]
650
- ===== Fixed
651
-
652
- - Fix support for older versions of Http.rb {pull}438[#438]
653
- - Strip `Cookie` and `Set-Cookie` from headers {pull}448[#448]
654
- - Fix disabling SSL verification {pull}449[#449]
655
-
656
- [[release-notes-2.8.1]]
657
- ==== 2.8.1 (2019-05-29)
658
-
659
- [float]
660
- ===== Fixed
661
-
662
- - Database statements are properly truncated {pull}431[#431]
663
-
664
- [[release-notes-2.8.0]]
665
- ==== 2.8.0 (2019-05-20)
666
-
667
- [float]
668
- ===== Added
669
-
670
- - The option `stack_trace_limit` {pull}424[#424]
671
-
672
- [float]
673
- ===== Changed
674
-
675
- - Use standardized User-Agent {pull}419[#419]
676
-
677
- [float]
678
- ===== Fixed
679
-
680
- - `error.culprit` is properly truncated to 1024 characters {pull}418[#418]
681
- - Force convert `transaction.context.response.status_code` to integer {pull}423[#423]
682
-
683
- [[release-notes-2.7.0]]
684
- ==== 2.7.0 (2019-05-07)
685
-
686
- [float]
687
- ===== Added
688
-
689
- - Added `disable_start_message` for those wanting complete silence on boot {pull}397[#397]
690
-
691
- [float]
692
- ===== Changed
693
-
694
- - Attempt to strip secrets from `request.env` {pull}410[#410]
695
-
696
- [float]
697
- ===== Fixed
698
-
699
- - Rewritten most of the internal transport code, streaming events to APM Server {pull}372[#372]
700
- - Re-added `default_tags` {pull}395[#395]
701
- - A bug in the Faraday spy when disabling the Net::HTTP spy {pull}396[#396]
702
- - Fix disabling the ActionDispatch spy {pull}399[#399]
703
-
704
- [[release-notes-2.6.1]]
705
- ==== 2.6.1 (2019-03-28)
706
-
707
- [float]
708
- ===== Fixed
709
-
710
- - Setting `config_file` via `ELASTIC_APM_CONFIG_FILE` {pull}363[#363]
711
- - Stopping the Metrics collector when it is disabled {pull}357[#357]
712
- - HTTP proxy settings can now be set by ENV variable {pull}367[#367]
713
-
714
- [[release-notes-2.6.0]]
715
- ==== 2.6.0 (2019-03-19)
716
-
717
- [float]
718
- ===== Deprecated
719
-
720
- - `ElasticAPM.build_context` now takes two keyword arguments instead of a single, normal argument. https://www.elastic.co/guide/en/apm/agent/ruby/2.x/api.html#api-agent-build-context[Docs].
721
- - The option `capture_body` has a string value instead of boolean. https://www.elastic.co/guide/en/apm/agent/ruby/2.x/configuration.html#config-capture-body[Docs].
722
-
723
- Both APIs are backwards compatible with fallbacks and deprecation warnings, scheduled for removal in next major release.
724
-
725
- [float]
726
- ===== Added
727
-
728
- - Configuration options to use an HTTP proxy {pull}352[#352]
729
-
730
- [float]
731
- ===== Changed
732
-
733
- - Errors get their own contexts, perhaps leading to slightly different (but more correct) results. {pull}335[#335]
734
- - The agent no longer starts automatically inside Rails' console {pull}343[#343]
735
-
736
- [float]
737
- ===== Fixed
738
-
739
- - Fixed reading available memory on older Linux kernels {pull}351[#351]
740
- - Don't apply filters to original response headers {pull}354[#354]
741
-
742
- [[release-notes-2.5.0]]
743
- ==== 2.5.0 (2019-03-01)
744
-
745
- [float]
746
- ===== Added
747
-
748
- - Added the option `active` that will prevent the agent from starting if set to `false` {pull}338[#338]
749
-
750
- [float]
751
- ===== Fixed
752
-
753
- - Fix error with `capture_body` and nested request bodies {pull}339[#339]
754
-
755
- [[release-notes-2.4.0]]
756
- ==== 2.4.0 (2019-02-27)
757
-
758
- [float]
759
- ===== Added
760
-
761
- - Added option to specify a custom server CA certificate {pull}315[#315]
762
-
763
- [float]
764
- ===== Changed
765
-
766
- - **NB:** Default value of option `capture_body` flipped to `false` to align with other agents. Set `capture_body: true` in your configuration to get them back. {pull}324[#324]
767
-
768
- [float]
769
- ===== Fixed
770
-
771
- - Reading CPU stats from `/proc/stat` on RHEL {pull}312[#312]
772
- - Change TraceContext to differentiate between `id` and `parent_id` {pull}326[#326]
773
- - `capture_body` will now force encode text bodies to utf-8 when possible {pull}332[#332]
774
-
775
- [[release-notes-2.3.1]]
776
- ==== 2.3.1 (2019-01-31)
777
-
778
- [float]
779
- ===== Added
780
-
781
- - Read container info from Docker or Kupernetes {pull}303[#303]
782
-
783
- [float]
784
- ===== Fixed
785
-
786
- - Fix logging exceptions when booting via Railtie {pull}306[#306]
787
-
788
- [[release-notes-2.3.0]]
789
- ==== 2.3.0 (2019-01-29)
790
-
791
- [float]
792
- ===== Added
793
-
794
- - Support for Metrics {pull}276[#276]
795
-
796
- [[release-notes-2.2.0]]
797
- ==== 2.2.0 (2019-01-22)
798
-
799
- [float]
800
- ===== Added
801
-
802
- - Support for https://opentracing.io[OpenTracing] {pull}273[#273]
803
- - Add capture\_\* options {pull}279[#279]
804
- - Evaluate the config file as ERB {pull}288[#288]
805
-
806
- [float]
807
- ===== Changed
808
-
809
- - Rename `Traceparent` object to `TraceContext` {pull}271[#271]
810
-
811
- [float]
812
- ===== Fixed
813
-
814
- - An issue where Spans would not get Stacktraces attached {pull}282[#282]
815
- - Skip `caller` unless needed {pull}287[#287]
816
-
817
- [[release-notes-2.1.2]]
818
- ==== 2.1.2 (2018-12-07)
819
-
820
- [float]
821
- ===== Fixed
822
-
823
- - Fix truncation of `transaction.request.url` values {pull}267[#267]
824
- - Fix Faraday calls with `url_prefix` {pull}263[#263]
825
- - Force `span.context.http.status_code` to be an integer
826
-
827
- [[release-notes-2.1.1]]
828
- ==== 2.1.1 (2018-12-04)
829
-
830
- [float]
831
- ===== Fixed
832
-
833
- - Set traceparent span.id to transaction id when span is missing {pull}261[#261]
834
-
835
- [[release-notes-2.1.0]]
836
- ==== 2.1.0 (2018-12-04)
837
-
838
- [float]
839
- ===== Added
840
-
841
- - Support for Faraday {pull}249[#249]
842
-
843
- [float]
844
- ===== Fixed
845
-
846
- - Truncate keyword fields to 1024 chars {pull}240[#240]
847
- - Lazy boot worker threads on first event. Fixes apps using Puma's `preload_app!` {pull}239[#239]
848
- - Fix missing `disable_send` implementation {pull}257[#257]
849
- - Add warnings for invalid config options {pull}254[#254]
850
-
851
- [[release-notes-2.0.1]]
852
- ==== 2.0.1 (2018-11-15)
853
-
854
- [float]
855
- ===== Fixed
856
-
857
- - Stop sending `span.start` {pull}234[#234]
858
-
859
- [[release-notes-2.0.0]]
860
- ==== 2.0.0 (2018-11-14)
861
-
862
- Version adds support for APM Server 6.5 and needs at least that.
863
-
864
- [float]
865
- ===== Added
866
-
867
- - Support for APM Server 6.5 (Intake v2)
868
- - Support for Distributed Tracing (beta)
869
- - Support for RUM Agent correlation (Distributed Tracing)
870
- - Support for https://github.com/httprb/http[HTTP.rb] (Instrumentation + Distributed Tracing)
871
-
872
- [float]
873
- ===== Changed
874
-
875
- - Custom instrumentation APIs {pull}209[#209]
876
- - Tag keys will convert disallowed chars to `_`
877
- - Default log level changed to `info`
878
- - Laxed version requirement of concurrent-ruby
879
- - Change `log_level` to only concern agent log
880
-
881
- [float]
882
- ===== Deprecated
883
-
884
- *APIs:*
885
-
886
- - `ElasticAPM.transaction`
887
- - `ElasticAPM.span`
888
-
889
- *Options:*
890
-
891
- - `compression_level`
892
- - `compression_minimum_size`
893
- - `debug_http`
894
- - `debug_transactions`
895
- - `flush_interval`
896
- - `http_open_timeout`
897
- - `http_read_timeout`
898
- - `enabled_environments`
899
- - `disable_environment_warning`
900
-
901
- Some options that used to take a certain unit for granted now expects explicit units – but will fall back to old default.
902
-
903
- [float]
904
- ===== Removed
905
-
906
- - Support for APM Server versions prior to 6.5.
907
- - Support for Ruby 2.2 (eol)
908
-
909
- [[release-notes-1.x]]
910
- === Ruby Agent version 1.x
911
-
912
- [[release-notes-1.1.0]]
913
- ==== 1.1.0 (2018-09-07)
914
-
915
- [float]
916
- ===== Added
917
-
918
- - Rake task instrumentation {pull}192[#192]
919
- - `default_tags` option {pull}183[#183]
920
-
921
- [float]
922
- ===== Fixed
923
-
924
- - Fallback from missing JRUBY_VERSION {pull}180[#180]
925
-
926
- [[release-notes-1.0.2]]
927
- ==== 1.0.2 (2018-09-07)
928
-
929
- Should've been a minor release -- see 1.1.0
930
-
931
- [[release-notes-1.0.1]]
932
- ==== 1.0.1 (2018-07-30)
933
-
934
- [float]
935
- ===== Fixed
936
-
937
- - Fixed internal LRU cache to be threadsafe {pull}178[#178]
938
-
939
- [[release-notes-1.0.0]]
940
- ==== 1.0.0 (2018-06-29)
941
-
942
- [float]
943
- ===== Added
944
-
945
- - Added config.disable_send {pull}156[#156]
946
-
947
- [float]
948
- ===== Changed
949
-
950
- - Set the default `span_frame_min_duration` to 5ms
951
-
952
- [float]
953
- ===== Fixed
954
-
955
- - Fixed some Elasticsearch spans not validating JSON Schema {pull}157[#157]
956
-
957
- [[release-notes-0.x]]
958
- === Ruby Agent version 0.x
959
-
960
- [[release-notes-0.8.0]]
961
- ==== 0.8.0 (2018-06-13)
962
-
963
- [float]
964
- ===== Added
965
-
966
- - Added an option to disable metrics collection {pull}145[#145]
967
- - Filters can cancel the entire payload by returning `nil` {pull}148[#148]
968
- - Added `ENV` version of the logging options {pull}146[#146]
969
- - Added `config.ignore_url_patterns` {pull}151[#151]
970
-
971
- [float]
972
- ===== Changed
973
-
974
- - Use concurrent-ruby's TimerTask instead of `Thread#sleep`. Adds dependency on `concurrent-ruby`. {pull}141[#141]
975
-
976
- [float]
977
- ===== Fixed
978
-
979
- - Remove newline on `hostname`
980
- - Fixed ActionMailer spans renaming their transaction
981
-
982
- [[release-notes-0.7.4]]
983
- ==== 0.7.4 - 2018-06-07
984
-
985
- Beginning of this document
986
-
987
- [float]
988
- ===== Fixed
989
-
990
- - Fix overwriting custom logger with Rails'