instana 2.0.0 → 2.2.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 (192) hide show
  1. checksums.yaml +4 -4
  2. data/lib/instana/instrumentation/instrumented_request.rb +2 -0
  3. data/lib/instana/instrumentation/net-http.rb +2 -1
  4. data/lib/instana/instrumentation/rack.rb +86 -66
  5. data/lib/instana/setup.rb +1 -0
  6. data/lib/instana/span_filtering/condition.rb +134 -0
  7. data/lib/instana/span_filtering/configuration.rb +262 -0
  8. data/lib/instana/span_filtering/filter_rule.rb +31 -0
  9. data/lib/instana/span_filtering.rb +62 -0
  10. data/lib/instana/trace/span.rb +5 -3
  11. data/lib/instana/trace/span_context.rb +10 -2
  12. data/lib/instana/trace/tracer.rb +0 -21
  13. data/lib/instana/util.rb +13 -0
  14. data/lib/instana/version.rb +1 -1
  15. metadata +7 -258
  16. data/.circleci/config.yml +0 -361
  17. data/.codeclimate.yml +0 -23
  18. data/.editorconfig +0 -10
  19. data/.fasterer.yml +0 -23
  20. data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
  21. data/.github/ISSUE_TEMPLATE/config.yml +0 -8
  22. data/.github/workflows/pr_commits_signed_off.yml +0 -16
  23. data/.github/workflows/release-notification-on-slack.yml +0 -34
  24. data/.gitignore +0 -19
  25. data/.rubocop.yml +0 -34
  26. data/.rubocop_todo.yml +0 -1140
  27. data/.tekton/.currency/docs/report.md +0 -20
  28. data/.tekton/.currency/resources/requirements.txt +0 -4
  29. data/.tekton/.currency/resources/table.json +0 -100
  30. data/.tekton/.currency/scripts/generate_report.py +0 -308
  31. data/.tekton/README.md +0 -278
  32. data/.tekton/github-interceptor-secret.yaml +0 -8
  33. data/.tekton/github-pr-eventlistener.yaml +0 -104
  34. data/.tekton/github-pr-pipeline.yaml.part +0 -38
  35. data/.tekton/github-set-status-task.yaml +0 -43
  36. data/.tekton/github-webhook-ingress.yaml +0 -20
  37. data/.tekton/pipeline.yaml +0 -484
  38. data/.tekton/pipelinerun.yaml +0 -21
  39. data/.tekton/prepuller-restart-service-account.yaml +0 -31
  40. data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
  41. data/.tekton/ruby-tracer-prepuller.yaml +0 -88
  42. data/.tekton/run_unittests.sh +0 -87
  43. data/.tekton/scheduled-eventlistener.yaml +0 -108
  44. data/.tekton/task.yaml +0 -453
  45. data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
  46. data/Appraisals +0 -124
  47. data/CONTRIBUTING.md +0 -86
  48. data/Gemfile +0 -22
  49. data/LICENSE +0 -22
  50. data/MAINTAINERS.md +0 -3
  51. data/Rakefile +0 -49
  52. data/bin/announce_release_on_slack.py +0 -103
  53. data/docker-compose.yml +0 -20
  54. data/download.sh +0 -85
  55. data/examples/otel.rb +0 -98
  56. data/examples/tracing.rb +0 -85
  57. data/extras/license_header.rb +0 -44
  58. data/gemfiles/.bundle/config +0 -2
  59. data/gemfiles/aws_30.gemfile +0 -21
  60. data/gemfiles/aws_60.gemfile +0 -16
  61. data/gemfiles/cuba_30.gemfile +0 -16
  62. data/gemfiles/cuba_40.gemfile +0 -13
  63. data/gemfiles/dalli_20.gemfile +0 -15
  64. data/gemfiles/dalli_30.gemfile +0 -12
  65. data/gemfiles/dalli_32.gemfile +0 -12
  66. data/gemfiles/excon_0100.gemfile +0 -14
  67. data/gemfiles/excon_021.gemfile +0 -17
  68. data/gemfiles/excon_079.gemfile +0 -17
  69. data/gemfiles/excon_100.gemfile +0 -14
  70. data/gemfiles/graphql_10.gemfile +0 -16
  71. data/gemfiles/graphql_20.gemfile +0 -15
  72. data/gemfiles/grpc_10.gemfile +0 -15
  73. data/gemfiles/mongo_216.gemfile +0 -15
  74. data/gemfiles/mongo_219.gemfile +0 -12
  75. data/gemfiles/net_http_01.gemfile +0 -17
  76. data/gemfiles/rack_16.gemfile +0 -15
  77. data/gemfiles/rack_20.gemfile +0 -15
  78. data/gemfiles/rack_30.gemfile +0 -13
  79. data/gemfiles/rails_42.gemfile +0 -18
  80. data/gemfiles/rails_50.gemfile +0 -19
  81. data/gemfiles/rails_52.gemfile +0 -19
  82. data/gemfiles/rails_60.gemfile +0 -19
  83. data/gemfiles/rails_61.gemfile +0 -21
  84. data/gemfiles/rails_70.gemfile +0 -18
  85. data/gemfiles/rails_71.gemfile +0 -17
  86. data/gemfiles/rails_80.gemfile +0 -17
  87. data/gemfiles/redis_40.gemfile +0 -15
  88. data/gemfiles/redis_50.gemfile +0 -13
  89. data/gemfiles/redis_51.gemfile +0 -13
  90. data/gemfiles/resque_122.gemfile +0 -16
  91. data/gemfiles/resque_1274_3scale.gemfile +0 -17
  92. data/gemfiles/resque_20.gemfile +0 -16
  93. data/gemfiles/rest_client_16.gemfile +0 -17
  94. data/gemfiles/rest_client_20.gemfile +0 -17
  95. data/gemfiles/roda_20.gemfile +0 -16
  96. data/gemfiles/roda_30.gemfile +0 -16
  97. data/gemfiles/rubocop_162.gemfile +0 -6
  98. data/gemfiles/sequel_56.gemfile +0 -16
  99. data/gemfiles/sequel_57.gemfile +0 -16
  100. data/gemfiles/sequel_58.gemfile +0 -16
  101. data/gemfiles/shoryuken_50.gemfile +0 -16
  102. data/gemfiles/shoryuken_60.gemfile +0 -13
  103. data/gemfiles/sidekiq_42.gemfile +0 -15
  104. data/gemfiles/sidekiq_50.gemfile +0 -15
  105. data/gemfiles/sidekiq_60.gemfile +0 -12
  106. data/gemfiles/sidekiq_65.gemfile +0 -12
  107. data/gemfiles/sidekiq_70.gemfile +0 -12
  108. data/gemfiles/sinatra_14.gemfile +0 -15
  109. data/gemfiles/sinatra_22.gemfile +0 -12
  110. data/gemfiles/sinatra_30.gemfile +0 -12
  111. data/gemfiles/sinatra_40.gemfile +0 -12
  112. data/instana.gemspec +0 -53
  113. data/log/.keep +0 -0
  114. data/sonar-project.properties +0 -9
  115. data/test/activator_test.rb +0 -50
  116. data/test/backend/agent_test.rb +0 -80
  117. data/test/backend/gc_snapshot_test.rb +0 -11
  118. data/test/backend/host_agent_activation_observer_test.rb +0 -73
  119. data/test/backend/host_agent_lookup_test.rb +0 -78
  120. data/test/backend/host_agent_reporting_observer_test.rb +0 -276
  121. data/test/backend/host_agent_test.rb +0 -89
  122. data/test/backend/process_info_test.rb +0 -83
  123. data/test/backend/request_client_test.rb +0 -39
  124. data/test/backend/serverless_agent_test.rb +0 -83
  125. data/test/benchmarks/bench_id_generation.rb +0 -15
  126. data/test/benchmarks/bench_opentracing.rb +0 -16
  127. data/test/config_test.rb +0 -34
  128. data/test/frameworks/cuba_test.rb +0 -61
  129. data/test/frameworks/roda_test.rb +0 -60
  130. data/test/frameworks/sinatra_test.rb +0 -71
  131. data/test/instana_test.rb +0 -37
  132. data/test/instrumentation/aws_test.rb +0 -241
  133. data/test/instrumentation/dalli_test.rb +0 -325
  134. data/test/instrumentation/excon_test.rb +0 -204
  135. data/test/instrumentation/graphql_test.rb +0 -289
  136. data/test/instrumentation/grpc_test.rb +0 -420
  137. data/test/instrumentation/mongo_test.rb +0 -68
  138. data/test/instrumentation/net_http_test.rb +0 -220
  139. data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
  140. data/test/instrumentation/rack_test.rb +0 -415
  141. data/test/instrumentation/rails_action_cable_test.rb +0 -135
  142. data/test/instrumentation/rails_action_controller_test.rb +0 -218
  143. data/test/instrumentation/rails_action_mailer_test.rb +0 -66
  144. data/test/instrumentation/rails_action_view_test.rb +0 -154
  145. data/test/instrumentation/rails_active_job_test.rb +0 -65
  146. data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
  147. data/test/instrumentation/rails_active_record_test.rb +0 -116
  148. data/test/instrumentation/redis_test.rb +0 -152
  149. data/test/instrumentation/resque_test.rb +0 -188
  150. data/test/instrumentation/rest_client_test.rb +0 -106
  151. data/test/instrumentation/sequel_test.rb +0 -111
  152. data/test/instrumentation/shoryuken_test.rb +0 -47
  153. data/test/instrumentation/sidekiq-client_test.rb +0 -169
  154. data/test/instrumentation/sidekiq-worker_test.rb +0 -180
  155. data/test/secrets_test.rb +0 -112
  156. data/test/serverless_test.rb +0 -369
  157. data/test/snapshot/deltable_test.rb +0 -17
  158. data/test/snapshot/docker_container_test.rb +0 -82
  159. data/test/snapshot/fargate_container_test.rb +0 -82
  160. data/test/snapshot/fargate_process_test.rb +0 -35
  161. data/test/snapshot/fargate_task_test.rb +0 -49
  162. data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
  163. data/test/snapshot/google_cloud_run_process_test.rb +0 -33
  164. data/test/snapshot/lambda_function_test.rb +0 -37
  165. data/test/snapshot/ruby_process_test.rb +0 -32
  166. data/test/support/apps/active_record/active_record.rb +0 -24
  167. data/test/support/apps/grpc/boot.rb +0 -23
  168. data/test/support/apps/grpc/grpc_server.rb +0 -84
  169. data/test/support/apps/http_endpoint/boot.rb +0 -28
  170. data/test/support/apps/rails/boot.rb +0 -219
  171. data/test/support/apps/rails/models/block.rb +0 -21
  172. data/test/support/apps/rails/models/block6.rb +0 -21
  173. data/test/support/apps/resque/boot.rb +0 -5
  174. data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
  175. data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
  176. data/test/support/apps/sidekiq/boot.rb +0 -25
  177. data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
  178. data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
  179. data/test/support/apps/sidekiq/worker.rb +0 -37
  180. data/test/support/helpers.rb +0 -85
  181. data/test/support/mock_timer.rb +0 -20
  182. data/test/test_helper.rb +0 -69
  183. data/test/trace/custom_test.rb +0 -233
  184. data/test/trace/id_management_test.rb +0 -78
  185. data/test/trace/instrumented_logger_test.rb +0 -39
  186. data/test/trace/processor_test.rb +0 -58
  187. data/test/trace/span_context_test.rb +0 -22
  188. data/test/trace/span_test.rb +0 -179
  189. data/test/trace/tracer_async_test.rb +0 -243
  190. data/test/trace/tracer_provider_test.rb +0 -148
  191. data/test/trace/tracer_test.rb +0 -363
  192. data/test/util_test.rb +0 -10
@@ -1,363 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2016
3
-
4
- require 'test_helper'
5
-
6
- class TracerTest < Minitest::Test
7
- def test_that_it_has_a_valid_tracer
8
- refute_nil ::Instana.tracer
9
- assert ::Instana.tracer.is_a?(::Instana::Tracer)
10
- end
11
-
12
- def test_obey_tracing_config
13
- clear_all!
14
-
15
- ::Instana.config[:tracing][:enabled] = false
16
- assert_equal false, ::Instana.tracer.tracing?
17
-
18
- ::Instana.tracer.in_span(:rack, attributes: {:one => 1}) do
19
- assert_equal false, ::Instana.tracer.tracing?
20
- end
21
-
22
- ::Instana.config[:tracing][:enabled] = true
23
- end
24
-
25
- def test_basic_trace_block
26
- clear_all!
27
-
28
- assert_equal false, ::Instana.tracer.tracing?
29
-
30
- ::Instana.tracer.in_span(:rack, attributes: {:one => 1}) do
31
- assert_equal true, ::Instana.tracer.tracing?
32
- sleep 0.1
33
- end
34
-
35
- spans = ::Instana.processor.queued_spans
36
- assert_equal 1, spans.length
37
-
38
- first_span = spans.first
39
- assert_equal :rack, first_span[:n]
40
- assert first_span[:ts].is_a?(Integer)
41
- assert first_span[:d].is_a?(Integer)
42
- assert first_span[:d].between?(100, 130)
43
- assert first_span.key?(:data)
44
- assert_equal 1, first_span[:data][:one]
45
- assert first_span.key?(:f)
46
- assert_equal ::Instana.agent.source, first_span[:f]
47
- end
48
-
49
- def test_exotic_tag_types
50
- clear_all!
51
-
52
- assert_equal false, ::Instana.tracer.tracing?
53
-
54
- ipv4 = '111.111.111.111'
55
-
56
- ::Instana.tracer.in_span(:rack, attributes: {:ipaddr => ipv4}) do
57
- assert_equal true, ::Instana.tracer.tracing?
58
- sleep 0.1
59
- end
60
-
61
- spans = ::Instana.processor.queued_spans
62
- assert_equal 1, spans.length
63
-
64
- first_span = spans.first
65
- assert_equal :rack, first_span[:n]
66
- assert first_span[:ts].is_a?(Integer)
67
- assert first_span[:d].is_a?(Integer)
68
- assert first_span[:d].between?(100, 130)
69
- assert first_span.key?(:data)
70
- assert first_span[:data].key?(:ipaddr)
71
- assert first_span[:data][:ipaddr].is_a?(String)
72
- assert first_span.key?(:f)
73
- assert_equal ::Instana.agent.source, first_span[:f]
74
- end
75
-
76
- def test_errors_are_properly_propagated
77
- clear_all!
78
- exception_raised = false
79
- begin
80
- ::Instana.tracer.in_span(:rack, attributes: {:one => 1}) do
81
- raise StandardError, 'Error in block - this should continue to propogate outside of tracing'
82
- end
83
- rescue StandardError
84
- exception_raised = true
85
- end
86
-
87
- assert exception_raised
88
-
89
- spans = ::Instana.processor.queued_spans
90
- assert_equal 1, spans.length
91
-
92
- first_span = spans.first
93
- assert_equal :rack, first_span[:n]
94
- assert first_span[:ts].is_a?(Integer)
95
- assert first_span[:ts].positive?
96
- assert first_span[:d].is_a?(Integer)
97
- assert first_span[:d].between?(0, 5)
98
- assert first_span.key?(:data)
99
- assert_equal 1, first_span[:data][:one]
100
- assert first_span.key?(:f)
101
- assert_equal ::Instana.agent.source, first_span[:f]
102
- assert_equal first_span[:error], true
103
- assert_equal first_span[:ec], 1
104
- end
105
-
106
- def test_complex_trace_block
107
- clear_all!
108
- ::Instana.tracer.in_span(:rack, attributes: {:one => 1}) do
109
- sleep 0.2
110
- ::Instana.tracer.in_span(:sub_block, attributes: {:sub_two => 2}) do
111
- sleep 0.2
112
- end
113
- end
114
-
115
- spans = ::Instana.processor.queued_spans
116
- assert_equal 2, spans.length
117
-
118
- rack_span = find_first_span_by_name(spans, :rack)
119
- sdk_span = find_first_span_by_name(spans, :sub_block)
120
-
121
- assert_equal rack_span[:n], :rack
122
- assert_nil rack_span[:p]
123
- assert_equal rack_span[:t], rack_span[:s]
124
- assert_equal rack_span[:data][:one], 1
125
-
126
- assert_equal sdk_span[:n], :sdk
127
- assert_equal sdk_span[:data][:sdk][:name], :sub_block
128
- assert_equal sdk_span[:data][:sdk][:type], :intermediate
129
- assert_equal sdk_span[:k], 3
130
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:sub_two], 2
131
- end
132
-
133
- def test_custom_complex_trace_block
134
- clear_all!
135
- ::Instana.tracer.in_span(:root_span, attributes: {:one => 1}) do
136
- sleep 0.2
137
- ::Instana.tracer.in_span(:sub_span, attributes: {:sub_two => 2}) do
138
- sleep 0.2
139
- end
140
- end
141
-
142
- spans = ::Instana.processor.queued_spans
143
- assert_equal 2, spans.length
144
-
145
- root_span = find_first_span_by_name(spans, :root_span)
146
- sub_span = find_first_span_by_name(spans, :sub_span)
147
-
148
- assert_equal root_span[:n], :sdk
149
- assert_equal root_span[:data][:sdk][:name], :root_span
150
- assert_equal root_span[:data][:sdk][:type], :entry
151
- assert_equal root_span[:k], 1
152
- assert_nil root_span[:p]
153
- assert_equal root_span[:t], root_span[:s]
154
- assert_equal root_span[:data][:sdk][:custom][:tags][:one], 1
155
-
156
- assert_equal sub_span[:n], :sdk
157
- assert_equal sub_span[:data][:sdk][:name], :sub_span
158
- assert_equal sub_span[:data][:sdk][:type], :intermediate
159
- assert_equal sub_span[:k], 3
160
- assert_equal sub_span[:p], root_span[:s]
161
- assert_equal sub_span[:t], root_span[:t]
162
- assert_equal sub_span[:data][:sdk][:custom][:tags][:sub_two], 2
163
- end
164
-
165
- def test_basic_low_level_tracing
166
- clear_all!
167
-
168
- assert_equal false, ::Instana.tracer.tracing?
169
- # Start tracing
170
- span = ::Instana.tracer.start_span(:rack, attributes: {:one => 1})
171
- assert_equal true, ::Instana.tracer.tracing?
172
- span.set_tags({:info_logged => 1})
173
- # End tracing
174
- span.set_tags({:close_one => 1})
175
- span.finish
176
- assert_equal false, ::Instana.tracer.tracing?
177
-
178
- spans = ::Instana.processor.queued_spans
179
- assert_equal 1, spans.length
180
- end
181
-
182
- def test_complex_low_level_tracing
183
- clear_all!
184
-
185
- assert_equal false, ::Instana.tracer.tracing?
186
-
187
- # Start tracing
188
- span = ::Instana.tracer.start_span(:rack, attributes: {:one => 1})
189
- assert_equal true, ::Instana.tracer.tracing?
190
- span.set_tags({:info_logged => 1})
191
-
192
- # Start tracing a sub span with context propagation
193
- span1 = ::Instana::Trace.with_span(span) do
194
- ::Instana.tracer.start_span(:sub_task)
195
- end
196
- assert_equal true, ::Instana.tracer.tracing?
197
- span1.set_tags({:sub_task_info => 1})
198
- # Exit from the sub span
199
- span1.set_tags({:sub_task_exit_info => 1})
200
-
201
- span1.finish
202
- assert_equal true, ::Instana.tracer.tracing?
203
-
204
- # End tracing
205
- span.set_tags({:close_one => 1})
206
- span.finish
207
- assert_equal false, ::Instana.tracer.tracing?
208
-
209
- spans = ::Instana.processor.queued_spans
210
- assert_equal 2, spans.length
211
-
212
- rack_span = find_first_span_by_name(spans, :rack)
213
- sdk_span = find_first_span_by_name(spans, :sub_task)
214
-
215
- assert_equal :rack, rack_span[:n]
216
- assert rack_span.key?(:data)
217
- assert_equal rack_span[:data][:one], 1
218
- assert_equal rack_span[:data][:info_logged], 1
219
- assert_equal rack_span[:data][:close_one], 1
220
-
221
- assert rack_span.key?(:f)
222
- assert_equal ::Instana.agent.source, rack_span[:f]
223
-
224
- assert_equal sdk_span[:n], :sdk
225
- assert_equal sdk_span[:data][:sdk][:name], :sub_task
226
- assert_equal sdk_span[:data][:sdk][:type], :intermediate
227
- assert_equal sdk_span[:k], 3
228
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:sub_task_info], 1
229
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:sub_task_exit_info], 1
230
- end
231
-
232
- def test_block_tracing_error_capture
233
- clear_all!
234
- exception_raised = false
235
- begin
236
- ::Instana.tracer.in_span(:test_trace, attributes: {:one => 1}) do
237
- ::Instana.tracer.in_span(:test_trace_two) do
238
- raise StandardError, "Block exception test error"
239
- end
240
- end
241
- rescue StandardError
242
- exception_raised = true
243
- end
244
-
245
- assert exception_raised
246
-
247
- spans = ::Instana.processor.queued_spans
248
- assert_equal 2, spans.length
249
-
250
- sdk_span = spans.last
251
-
252
- assert_equal sdk_span[:n], :sdk
253
- assert_equal sdk_span[:data][:sdk][:name], :test_trace
254
- assert_equal sdk_span[:data][:sdk][:type], :entry
255
- assert_equal sdk_span[:k], 1
256
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:one], 1
257
- assert_equal sdk_span[:error], true
258
- assert_equal sdk_span[:ec], 1
259
- assert_equal sdk_span.key?(:stack), true
260
- end
261
-
262
- def test_low_level_error_logging
263
- clear_all!
264
- span = ::Instana.tracer.start_span(:test_trace, attributes: {:one => 1})
265
- span.set_tags({:info_logged => 1})
266
- span.record_exception(Exception.new("Low level tracing api error"))
267
- span.set_tags({:close_one => 1})
268
- span.finish
269
- # ::Instana.tracer.log_info({:info_logged => 1})
270
- # ::Instana.tracer.log_error(Exception.new("Low level tracing api error"))
271
- # ::Instana.tracer.log_end(:test_trace, {:close_one => 1})
272
-
273
- spans = ::Instana.processor.queued_spans
274
- assert_equal 1, spans.length
275
-
276
- sdk_span = spans[0]
277
-
278
- assert_equal sdk_span[:n], :sdk
279
- assert_equal sdk_span[:data][:sdk][:name], :test_trace
280
- assert_equal sdk_span[:data][:sdk][:type], :entry
281
- assert_equal sdk_span[:k], 1
282
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:one], 1
283
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:info_logged], 1
284
- assert_equal sdk_span[:data][:sdk][:custom][:tags][:close_one], 1
285
- assert_equal sdk_span[:error], true
286
- assert_equal sdk_span[:ec], 1
287
- assert_equal sdk_span.key?(:stack), false
288
- end
289
-
290
- def test_nil_returns
291
- clear_all!
292
-
293
- refute ::Instana.tracer.tracing?
294
- assert_nil ::Instana.tracer.log_entry(nil)
295
- assert_nil ::Instana.tracer.log_info(nil)
296
- assert_nil ::Instana.tracer.log_error(nil)
297
- assert_nil ::Instana.tracer.log_exit(nil)
298
- assert_nil ::Instana.tracer.log_end(nil)
299
- assert_nil ::Instana.tracer.log_async_entry(nil, nil)
300
- assert_nil ::Instana.tracer.context
301
- end
302
-
303
- def test_tracing_span
304
- clear_all!
305
-
306
- refute ::Instana.tracer.tracing_span?(:rack)
307
- ::Instana.tracer.start_span(:rack)
308
- assert ::Instana.tracer.tracing_span?(:rack)
309
- end
310
-
311
- def test_log_exit_warn_span_name
312
- logger = Minitest::Mock.new
313
- logger.expect(:warn, true, [String])
314
-
315
- subject = Instana::Tracer.new(nil, nil, ::Instana::Trace::TracerProvider.new, logger)
316
-
317
- subject.start_span(:sample)
318
- subject.log_exit(:roda)
319
-
320
- logger.verify
321
- end
322
-
323
- def test_log_end_warn_span_name
324
- clear_all!
325
-
326
- logger = Minitest::Mock.new
327
- logger.expect(:warn, true, [String])
328
- subject = Instana::Tracer.new(nil, nil, ::Instana::Trace::TracerProvider.new, logger)
329
-
330
- subject.start_span(:sample)
331
- subject.log_end(:roda)
332
-
333
- logger.verify
334
- end
335
-
336
- def test_log_entry_span
337
- clear_all!
338
-
339
- subject = Instana::Tracer.new(nil, nil, ::Instana::Trace::TracerProvider.new)
340
- span = Instana::Span.new(:rack)
341
-
342
- subject.log_entry(:sample, {}, ::Instana::Util.now_in_ms, span)
343
- assert subject.tracing?
344
- assert subject.current_span.parent, span
345
- end
346
-
347
- def test_log_entry_span_context
348
- clear_all!
349
-
350
- subject = Instana::Tracer.new(nil, nil, nil)
351
- span_context = Instana::SpanContext.new(trace_id: 'test', span_id: 'test')
352
-
353
- subject.log_entry(:sample, {}, ::Instana::Util.now_in_ms, span_context)
354
- assert subject.tracing?
355
- assert subject.current_span.context, span_context
356
- end
357
-
358
- def test_missing_class_super
359
- assert_raises NoMethodError do
360
- Instana::Tracer.invalid
361
- end
362
- end
363
- end
data/test/util_test.rb DELETED
@@ -1,10 +0,0 @@
1
- # (c) Copyright IBM Corp. 2021
2
- # (c) Copyright Instana Inc. 2021
3
-
4
- require 'test_helper'
5
-
6
- class UtilTest < Minitest::Test
7
- def test_get_rb_source_error
8
- assert_equal({ error: "Only Ruby source files are allowed. (*.rb)" }, Instana::Util.get_rb_source('invalid.txt'))
9
- end
10
- end