appoptics_apm-zearn 4.13.1

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 (145) hide show
  1. checksums.yaml +7 -0
  2. data/.dockerignore +5 -0
  3. data/.github/ISSUE_TEMPLATE/bug-or-feature-request.md +16 -0
  4. data/.github/workflows/build_and_release_gem.yml +103 -0
  5. data/.github/workflows/build_for_packagecloud.yml +70 -0
  6. data/.github/workflows/docker-images.yml +47 -0
  7. data/.github/workflows/run_cpluplus_tests.yml +73 -0
  8. data/.github/workflows/run_tests.yml +168 -0
  9. data/.github/workflows/scripts/test_install.rb +23 -0
  10. data/.github/workflows/swig/swig-v4.0.2.tar.gz +0 -0
  11. data/.github/workflows/test_on_4_linux.yml +159 -0
  12. data/.gitignore +36 -0
  13. data/.rubocop.yml +29 -0
  14. data/.travis.yml +130 -0
  15. data/.yardopts +6 -0
  16. data/CHANGELOG.md +769 -0
  17. data/CONFIG.md +33 -0
  18. data/Gemfile +14 -0
  19. data/LICENSE +202 -0
  20. data/README.md +393 -0
  21. data/appoptics_apm.gemspec +70 -0
  22. data/bin/appoptics_apm_config +15 -0
  23. data/examples/prepend.rb +13 -0
  24. data/examples/sdk_examples.rb +158 -0
  25. data/ext/oboe_metal/README.md +69 -0
  26. data/ext/oboe_metal/extconf.rb +151 -0
  27. data/ext/oboe_metal/lib/.keep +0 -0
  28. data/ext/oboe_metal/lib/liboboe-1.0-alpine-x86_64.so.0.0.0.sha256 +1 -0
  29. data/ext/oboe_metal/lib/liboboe-1.0-x86_64.so.0.0.0.sha256 +1 -0
  30. data/ext/oboe_metal/noop/noop.c +8 -0
  31. data/ext/oboe_metal/src/README.md +6 -0
  32. data/ext/oboe_metal/src/VERSION +2 -0
  33. data/ext/oboe_metal/src/bson/bson.h +220 -0
  34. data/ext/oboe_metal/src/bson/platform_hacks.h +91 -0
  35. data/ext/oboe_metal/src/frames.cc +246 -0
  36. data/ext/oboe_metal/src/frames.h +40 -0
  37. data/ext/oboe_metal/src/init_appoptics_apm.cc +21 -0
  38. data/ext/oboe_metal/src/logging.cc +95 -0
  39. data/ext/oboe_metal/src/logging.h +35 -0
  40. data/ext/oboe_metal/src/oboe.h +1156 -0
  41. data/ext/oboe_metal/src/oboe_api.cpp +652 -0
  42. data/ext/oboe_metal/src/oboe_api.hpp +431 -0
  43. data/ext/oboe_metal/src/oboe_debug.h +59 -0
  44. data/ext/oboe_metal/src/oboe_swig_wrap.cc +7329 -0
  45. data/ext/oboe_metal/src/profiling.cc +435 -0
  46. data/ext/oboe_metal/src/profiling.h +78 -0
  47. data/ext/oboe_metal/test/CMakeLists.txt +53 -0
  48. data/ext/oboe_metal/test/FindGMock.cmake +43 -0
  49. data/ext/oboe_metal/test/README.md +56 -0
  50. data/ext/oboe_metal/test/frames_test.cc +164 -0
  51. data/ext/oboe_metal/test/profiling_test.cc +93 -0
  52. data/ext/oboe_metal/test/ruby_inc_dir.rb +8 -0
  53. data/ext/oboe_metal/test/ruby_prefix.rb +8 -0
  54. data/ext/oboe_metal/test/ruby_test_helper.rb +67 -0
  55. data/ext/oboe_metal/test/test.h +11 -0
  56. data/ext/oboe_metal/test/test_main.cc +32 -0
  57. data/init.rb +4 -0
  58. data/lib/appoptics_apm/api/layerinit.rb +41 -0
  59. data/lib/appoptics_apm/api/logging.rb +381 -0
  60. data/lib/appoptics_apm/api/memcache.rb +37 -0
  61. data/lib/appoptics_apm/api/metrics.rb +63 -0
  62. data/lib/appoptics_apm/api/tracing.rb +57 -0
  63. data/lib/appoptics_apm/api/util.rb +120 -0
  64. data/lib/appoptics_apm/api.rb +21 -0
  65. data/lib/appoptics_apm/base.rb +231 -0
  66. data/lib/appoptics_apm/config.rb +299 -0
  67. data/lib/appoptics_apm/frameworks/grape.rb +98 -0
  68. data/lib/appoptics_apm/frameworks/padrino.rb +78 -0
  69. data/lib/appoptics_apm/frameworks/rails/inst/action_controller.rb +104 -0
  70. data/lib/appoptics_apm/frameworks/rails/inst/action_controller4.rb +48 -0
  71. data/lib/appoptics_apm/frameworks/rails/inst/action_controller5.rb +50 -0
  72. data/lib/appoptics_apm/frameworks/rails/inst/action_controller6.rb +50 -0
  73. data/lib/appoptics_apm/frameworks/rails/inst/action_controller_api.rb +50 -0
  74. data/lib/appoptics_apm/frameworks/rails/inst/action_view.rb +88 -0
  75. data/lib/appoptics_apm/frameworks/rails/inst/active_record.rb +27 -0
  76. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
  77. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql2.rb +29 -0
  78. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/postgresql.rb +31 -0
  79. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils.rb +119 -0
  80. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb +114 -0
  81. data/lib/appoptics_apm/frameworks/rails/inst/logger_formatters.rb +27 -0
  82. data/lib/appoptics_apm/frameworks/rails.rb +100 -0
  83. data/lib/appoptics_apm/frameworks/sinatra.rb +96 -0
  84. data/lib/appoptics_apm/inst/bunny-client.rb +148 -0
  85. data/lib/appoptics_apm/inst/bunny-consumer.rb +89 -0
  86. data/lib/appoptics_apm/inst/curb.rb +332 -0
  87. data/lib/appoptics_apm/inst/dalli.rb +85 -0
  88. data/lib/appoptics_apm/inst/delayed_job.rb +92 -0
  89. data/lib/appoptics_apm/inst/em-http-request.rb +101 -0
  90. data/lib/appoptics_apm/inst/excon.rb +125 -0
  91. data/lib/appoptics_apm/inst/faraday.rb +106 -0
  92. data/lib/appoptics_apm/inst/graphql.rb +240 -0
  93. data/lib/appoptics_apm/inst/grpc_client.rb +159 -0
  94. data/lib/appoptics_apm/inst/grpc_server.rb +120 -0
  95. data/lib/appoptics_apm/inst/http.rb +81 -0
  96. data/lib/appoptics_apm/inst/httpclient.rb +174 -0
  97. data/lib/appoptics_apm/inst/logger_formatter.rb +50 -0
  98. data/lib/appoptics_apm/inst/logging_log_event.rb +28 -0
  99. data/lib/appoptics_apm/inst/lumberjack_formatter.rb +13 -0
  100. data/lib/appoptics_apm/inst/memcached.rb +86 -0
  101. data/lib/appoptics_apm/inst/mongo.rb +246 -0
  102. data/lib/appoptics_apm/inst/mongo2.rb +225 -0
  103. data/lib/appoptics_apm/inst/moped.rb +466 -0
  104. data/lib/appoptics_apm/inst/rack.rb +182 -0
  105. data/lib/appoptics_apm/inst/rack_cache.rb +35 -0
  106. data/lib/appoptics_apm/inst/redis.rb +274 -0
  107. data/lib/appoptics_apm/inst/resque.rb +151 -0
  108. data/lib/appoptics_apm/inst/rest-client.rb +48 -0
  109. data/lib/appoptics_apm/inst/sequel.rb +178 -0
  110. data/lib/appoptics_apm/inst/sidekiq-client.rb +55 -0
  111. data/lib/appoptics_apm/inst/sidekiq-worker.rb +66 -0
  112. data/lib/appoptics_apm/inst/twitter-cassandra.rb +294 -0
  113. data/lib/appoptics_apm/inst/typhoeus.rb +108 -0
  114. data/lib/appoptics_apm/instrumentation.rb +22 -0
  115. data/lib/appoptics_apm/loading.rb +65 -0
  116. data/lib/appoptics_apm/logger.rb +14 -0
  117. data/lib/appoptics_apm/noop/README.md +9 -0
  118. data/lib/appoptics_apm/noop/context.rb +27 -0
  119. data/lib/appoptics_apm/noop/metadata.rb +25 -0
  120. data/lib/appoptics_apm/noop/profiling.rb +21 -0
  121. data/lib/appoptics_apm/oboe_init_options.rb +211 -0
  122. data/lib/appoptics_apm/ruby.rb +35 -0
  123. data/lib/appoptics_apm/sdk/current_trace.rb +77 -0
  124. data/lib/appoptics_apm/sdk/custom_metrics.rb +94 -0
  125. data/lib/appoptics_apm/sdk/logging.rb +37 -0
  126. data/lib/appoptics_apm/sdk/tracing.rb +434 -0
  127. data/lib/appoptics_apm/support/profiling.rb +18 -0
  128. data/lib/appoptics_apm/support/transaction_metrics.rb +67 -0
  129. data/lib/appoptics_apm/support/transaction_settings.rb +219 -0
  130. data/lib/appoptics_apm/support/x_trace_options.rb +110 -0
  131. data/lib/appoptics_apm/support_report.rb +119 -0
  132. data/lib/appoptics_apm/test.rb +95 -0
  133. data/lib/appoptics_apm/thread_local.rb +26 -0
  134. data/lib/appoptics_apm/util.rb +326 -0
  135. data/lib/appoptics_apm/version.rb +16 -0
  136. data/lib/appoptics_apm/xtrace.rb +115 -0
  137. data/lib/appoptics_apm.rb +77 -0
  138. data/lib/joboe_metal.rb +212 -0
  139. data/lib/oboe.rb +7 -0
  140. data/lib/oboe_metal.rb +172 -0
  141. data/lib/rails/generators/appoptics_apm/install_generator.rb +47 -0
  142. data/lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb +425 -0
  143. data/log/.keep +0 -0
  144. data/yardoc_frontpage.md +26 -0
  145. metadata +231 -0
data/.gitignore ADDED
@@ -0,0 +1,36 @@
1
+ !.keep
2
+ *.gem
3
+ *.lock
4
+ *.log
5
+ *.swp
6
+ *~
7
+ .*byebug*
8
+ .bundle/
9
+ .env
10
+ .irb_history
11
+ .irbrc
12
+ .ruby-version
13
+ .yardoc/
14
+ app/
15
+ builds/
16
+ coverage/
17
+ doc/
18
+ ext/oboe_metal/*.o
19
+ ext/oboe_metal/Makefile
20
+ ext/oboe_metal/lib/liboboe*so*
21
+ ext/oboe_metal/mkmf.log
22
+ ext/oboe_metal/oboe_metal.so
23
+ ext/oboe_metal/oboe_noop.so
24
+ ext/oboe_metal/src/bson/
25
+ ext/oboe_metal/src/oboe_api.cpp
26
+ ext/oboe_metal/src/oboe.h
27
+ ext/oboe_metal/src/oboe_api.hpp
28
+ ext/oboe_metal/src/oboe_debug.h
29
+ ext/oboe_metal/src/oboe_swig_wrap.cc
30
+ ext/oboe_metal/test/build/
31
+ ext/oboe_metal/test/MakeFile
32
+ gemfiles/*.lock
33
+ gemfiles/.bundle/
34
+ gemfiles/vendor*
35
+ lib/libappoptics_apm.so
36
+ vendor/
data/.rubocop.yml ADDED
@@ -0,0 +1,29 @@
1
+ Style/StringLiterals:
2
+ Description: 'Checks if uses of quotes match the configured preference.'
3
+ StyleGuide: '#consistent-string-literals'
4
+ Enabled: false
5
+
6
+ Layout/LineLength:
7
+ Description: 'Limit lines to 80 characters.'
8
+ Enabled: false
9
+
10
+ Naming/VariableNumber:
11
+ Description: 'Use the configured style when numbering variables.'
12
+ Enabled: false
13
+
14
+ Style/FrozenStringLiteralComment:
15
+ Description: >-
16
+ Add the frozen_string_literal comment to the top of files
17
+ to help transition to frozen string literals by default.
18
+ Enabled: false
19
+
20
+ Style/Documentation:
21
+ Description: 'Document classes and non-namespace modules.'
22
+ Enabled: false
23
+
24
+ Style/WordArray:
25
+ EnforcedStyle: brackets
26
+
27
+ Metrics/BlockLength:
28
+ Exclude:
29
+ - test/*/*_test.rb
data/.travis.yml ADDED
@@ -0,0 +1,130 @@
1
+ language: ruby
2
+
3
+ cache:
4
+ bundler: true
5
+ directories:
6
+ - vendor/bundle
7
+
8
+ env:
9
+ - DBTYPE=postgresql
10
+ - DBTYPE=mysql2
11
+
12
+ rvm:
13
+ - 3.0.2
14
+ - 2.7.4
15
+ - 2.6.8
16
+ - 2.5.8
17
+ - 2.4.10
18
+ # - ruby-head
19
+ # - jruby-9.0.5.0
20
+
21
+ gemfile:
22
+ - gemfiles/libraries.gemfile
23
+ - gemfiles/unit.gemfile
24
+ - gemfiles/instrumentation_mocked.gemfile
25
+ - gemfiles/instrumentation_mocked_oldgems.gemfile
26
+ - gemfiles/frameworks.gemfile
27
+ - gemfiles/rails60.gemfile
28
+ - gemfiles/rails52.gemfile
29
+ - gemfiles/rails42.gemfile
30
+ - gemfiles/profiling.gemfile
31
+ - gemfiles/delayed_job.gemfile
32
+ - gemfiles/noop.gemfile
33
+
34
+ matrix:
35
+ exclude:
36
+ - rvm: 3.0.2
37
+ gemfile: gemfiles/rails42.gemfile
38
+ - rvm: 3.0.2
39
+ gemfile: gemfiles/rails52.gemfile
40
+ - rvm: 2.7.4
41
+ gemfile: gemfiles/rails42.gemfile
42
+ - rvm: 2.6.8
43
+ gemfile: gemfiles/rails42.gemfile
44
+ - rvm: 2.4.10
45
+ gemfile: gemfiles/rails60.gemfile
46
+ - rvm: 2.4.10 # excluding because of new sprockets version (4.0.0)
47
+ gemfile: gemfiles/rails52.gemfile
48
+
49
+ - gemfile: gemfiles/unit.gemfile
50
+ env: DBTYPE=mysql2
51
+ - gemfile: gemfiles/noop.gemfile
52
+ env: DBTYPE=mysql2
53
+ - gemfile: gemfiles/libraries.gemfile
54
+ env: DBTYPE=mysql2
55
+ - gemfile: gemfiles/instrumentation_mocked.gemfile
56
+ env: DBTYPE=mysql2
57
+ - gemfile: gemfiles/instrumentation_mocked_oldgems.gemfile
58
+ env: DBTYPE=mysql2
59
+ - gemfile: gemfiles/frameworks.gemfile
60
+ env: DBTYPE=mysql2
61
+ - gemfile: gemfiles/profiling.gemfile
62
+ env: DBTYPE=mysql2
63
+ - gemfile: gemfiles/delayed_job.gemfile
64
+ env: DBTYPE=mysql2
65
+ allow_failures:
66
+ - rvm: ruby-head
67
+
68
+ # FIXME: No cassandra tests for now
69
+ # ____ Figure out if this is still an issue when reviving cassandra
70
+ # Attempt Travis/Cassandra fix re: https://github.com/travis-ci/travis-ci/issues/1484
71
+ # Updated Cassandra: https://github.com/travis-ci/travis-ci/issues/1650
72
+
73
+ # the following is not working anymore on travis
74
+ # commenting it out as per AO-13532 as we currently don't have instrumentation
75
+ # for cassandra
76
+ #before_install:
77
+ # - sudo service cassandra stop
78
+ # - sudo sh -c "echo 'JVM_OPTS=\"\${JVM_OPTS} -Djava.net.preferIPv4Stack=false\"' >> /etc/cassandra/cassandra-env.sh"
79
+ # - echo "127.0.0.1 localhost" | sudo tee /etc/hosts
80
+ # - echo "127.0.0.1 " `hostname` | sudo tee -a /etc/hosts
81
+ # - sudo service cassandra start
82
+
83
+ install:
84
+ - curl -LO http://kent.dl.sourceforge.net/project/swig/swig/swig-4.0.2/swig-4.0.2.tar.gz
85
+ - tar xzf swig-4.0.2.tar.gz
86
+ - pushd swig-4.0.2
87
+ - ./configure && make && sudo make install
88
+ - popd
89
+
90
+ # use swig from git in case fixes haven't been released
91
+ # - git clone https://github.com/swig/swig.git
92
+ # - pushd swig
93
+ # - ./autogen.sh
94
+ # - ./configure && make && sudo make install
95
+ # - popd
96
+
97
+ before_script:
98
+ - export APPOPTICS_GEM_TEST=true
99
+ - export APPOPTICS_REPORTER=file
100
+ - export APPOPTICS_COLLECTOR=/tmp/appoptics_traces.bson
101
+ - export APPOPTICS_REPORTER_FILE_SINGLE=false
102
+ # - export APPOPTICS_TOKEN_BUCKET_CAPACITY=1000
103
+ # - export APPOPTICS_TOKEN_BUCKET_RATE=1000
104
+ - export APPOPTICS_FROM_S3=true
105
+ # - export OBOE_WIP=true
106
+ # - export OBOE_VERSION=10.0.1
107
+
108
+ # - bundle update --jobs=3 --retry=3
109
+ - ./.travis/bundle.sh
110
+ - bundle exec rake distclean fetch compile
111
+ - psql -c 'create database travis_ci_test;' -U postgres
112
+ - mysql -e 'create database travis_ci_test;'
113
+ - redis-server --requirepass secret_pass &
114
+ - sleep 10
115
+
116
+ script: "bundle exec rake test"
117
+
118
+ services:
119
+ - mongodb
120
+ - memcached
121
+ - mysql
122
+ # - cassandra
123
+ - postgresql
124
+ # - redis-server
125
+ - rabbitmq
126
+
127
+ addons:
128
+ apt:
129
+ packages:
130
+ - rabbitmq-server
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --no-private
2
+ --readme yardoc_frontpage.md
3
+ lib/appoptics_apm/sdk/logging.rb
4
+ lib/appoptics_apm/sdk/tracing.rb
5
+ lib/appoptics_apm/sdk/custom_metrics.rb
6
+ lib/appoptics_apm/sdk/current_trace.rb