stackify-ruby-apm 1.10.4 → 1.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stackify_apm/agent.rb +0 -2
  3. data/lib/stackify_apm/config.rb +36 -6
  4. data/lib/stackify_apm/context.rb +4 -1
  5. data/lib/stackify_apm/context/prefix.rb +30 -0
  6. data/lib/stackify_apm/context/request/headers.rb +30 -0
  7. data/lib/stackify_apm/context_builder.rb +1 -0
  8. data/lib/stackify_apm/helper/database_helper.rb +39 -0
  9. data/lib/stackify_apm/instrumenter_helper.rb +87 -0
  10. data/lib/stackify_apm/logger/logger_high_version.rb +5 -1
  11. data/lib/stackify_apm/logger/logger_lower_version.rb +5 -1
  12. data/lib/stackify_apm/middleware.rb +21 -3
  13. data/lib/stackify_apm/normalizers/active_record.rb +27 -8
  14. data/lib/stackify_apm/root_info.rb +6 -0
  15. data/lib/stackify_apm/serializers/transactions.rb +5 -0
  16. data/lib/stackify_apm/span/context.rb +42 -1
  17. data/lib/stackify_apm/spies.rb +4 -2
  18. data/lib/stackify_apm/spies/action_dispatch.rb +6 -1
  19. data/lib/stackify_apm/spies/curb.rb +41 -20
  20. data/lib/stackify_apm/spies/curb/easy.rb +220 -92
  21. data/lib/stackify_apm/spies/curb/multi.rb +26 -12
  22. data/lib/stackify_apm/spies/custom_instrumenter.rb +25 -4
  23. data/lib/stackify_apm/spies/dynamo_db.rb +51 -0
  24. data/lib/stackify_apm/spies/faraday.rb +87 -0
  25. data/lib/stackify_apm/spies/httparty.rb +45 -24
  26. data/lib/stackify_apm/spies/httpclient.rb +41 -20
  27. data/lib/stackify_apm/spies/httprb.rb +39 -18
  28. data/lib/stackify_apm/spies/log4r.rb +60 -0
  29. data/lib/stackify_apm/spies/logger.rb +117 -0
  30. data/lib/stackify_apm/spies/logging.rb +66 -0
  31. data/lib/stackify_apm/spies/mongo.rb +3 -1
  32. data/lib/stackify_apm/spies/net_http.rb +38 -20
  33. data/lib/stackify_apm/spies/redis.rb +39 -30
  34. data/lib/stackify_apm/spies/sequel.rb +28 -11
  35. data/lib/stackify_apm/spies/sinatra_activerecord/mysql_adapter.rb +48 -25
  36. data/lib/stackify_apm/spies/sinatra_activerecord/postgresql_adapter.rb +35 -24
  37. data/lib/stackify_apm/spies/sinatra_activerecord/sqlite_adapter.rb +18 -8
  38. data/lib/stackify_apm/spies/stackify_logger.rb +28 -16
  39. data/lib/stackify_apm/spies/sucker_punch.rb +39 -0
  40. data/lib/stackify_apm/spies/yell.rb +65 -0
  41. data/lib/stackify_apm/util.rb +10 -9
  42. data/lib/stackify_apm/version.rb +1 -1
  43. metadata +11 -2
@@ -8,15 +8,6 @@ module StackifyRubyAPM
8
8
  target.to_i * 1_000_000 + target.usec
9
9
  end
10
10
 
11
- #
12
- # This method will check if there is any rake task is running.
13
- # If rake task is detected we set instrument=false and don't load the spies.
14
- #
15
- def self.apm_disabled_in_rake
16
- cmd_rake = ($PROGRAM_NAME =~ /rake$/)
17
- StackifyRubyAPM.agent.config.instrument = false if cmd_rake
18
- end
19
-
20
11
  def self.host_os
21
12
  host_os = RbConfig::CONFIG['host_os']
22
13
  case host_os
@@ -34,6 +25,16 @@ module StackifyRubyAPM
34
25
  "UNKNOWN #{host_os}"
35
26
  end
36
27
  end
28
+
29
+ # Push the element to existing array of object with incremented index(key/value pair)
30
+ # We get the prepared statement values ['J.K. Rowling', 'Harry Potter', ...] and restructure it.
31
+ # Example structured: [{'1': 'J.K. Rowling'},{'2': 'Harry Potter'}, ..., {n: 'other data'}]
32
+ def self.pushToAryIndex(ary, idx, val)
33
+ obj = {}
34
+ i = idx + 1
35
+ obj[i] = val.to_s
36
+ ary.push(obj)
37
+ end
37
38
  end
38
39
  end
39
40
  require 'stackify_apm/util/inspector'
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Sets the version of the APM
4
4
  module StackifyRubyAPM
5
- VERSION = '1.10.4'.freeze
5
+ VERSION = '1.14.0'.freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackify-ruby-apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.4
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stackify
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-09 00:00:00.000000000 Z
11
+ date: 2020-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -433,7 +433,9 @@ files:
433
433
  - lib/stackify_apm/agent.rb
434
434
  - lib/stackify_apm/config.rb
435
435
  - lib/stackify_apm/context.rb
436
+ - lib/stackify_apm/context/prefix.rb
436
437
  - lib/stackify_apm/context/request.rb
438
+ - lib/stackify_apm/context/request/headers.rb
437
439
  - lib/stackify_apm/context/request/socket.rb
438
440
  - lib/stackify_apm/context/request/url.rb
439
441
  - lib/stackify_apm/context/response.rb
@@ -472,9 +474,14 @@ files:
472
474
  - lib/stackify_apm/spies/curb/multi.rb
473
475
  - lib/stackify_apm/spies/custom_instrumenter.rb
474
476
  - lib/stackify_apm/spies/delayed_job.rb
477
+ - lib/stackify_apm/spies/dynamo_db.rb
478
+ - lib/stackify_apm/spies/faraday.rb
475
479
  - lib/stackify_apm/spies/httparty.rb
476
480
  - lib/stackify_apm/spies/httpclient.rb
477
481
  - lib/stackify_apm/spies/httprb.rb
482
+ - lib/stackify_apm/spies/log4r.rb
483
+ - lib/stackify_apm/spies/logger.rb
484
+ - lib/stackify_apm/spies/logging.rb
478
485
  - lib/stackify_apm/spies/mongo.rb
479
486
  - lib/stackify_apm/spies/net_http.rb
480
487
  - lib/stackify_apm/spies/redis.rb
@@ -485,7 +492,9 @@ files:
485
492
  - lib/stackify_apm/spies/sinatra_activerecord/postgresql_adapter.rb
486
493
  - lib/stackify_apm/spies/sinatra_activerecord/sqlite_adapter.rb
487
494
  - lib/stackify_apm/spies/stackify_logger.rb
495
+ - lib/stackify_apm/spies/sucker_punch.rb
488
496
  - lib/stackify_apm/spies/tilt.rb
497
+ - lib/stackify_apm/spies/yell.rb
489
498
  - lib/stackify_apm/stacktrace.rb
490
499
  - lib/stackify_apm/stacktrace/frame.rb
491
500
  - lib/stackify_apm/stacktrace_builder.rb