instana 2.0.0 → 2.1.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/lib/instana/setup.rb +1 -0
  3. data/lib/instana/span_filtering/condition.rb +134 -0
  4. data/lib/instana/span_filtering/configuration.rb +262 -0
  5. data/lib/instana/span_filtering/filter_rule.rb +31 -0
  6. data/lib/instana/span_filtering.rb +62 -0
  7. data/lib/instana/trace/span.rb +5 -3
  8. data/lib/instana/version.rb +1 -1
  9. metadata +7 -258
  10. data/.circleci/config.yml +0 -361
  11. data/.codeclimate.yml +0 -23
  12. data/.editorconfig +0 -10
  13. data/.fasterer.yml +0 -23
  14. data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
  15. data/.github/ISSUE_TEMPLATE/config.yml +0 -8
  16. data/.github/workflows/pr_commits_signed_off.yml +0 -16
  17. data/.github/workflows/release-notification-on-slack.yml +0 -34
  18. data/.gitignore +0 -19
  19. data/.rubocop.yml +0 -34
  20. data/.rubocop_todo.yml +0 -1140
  21. data/.tekton/.currency/docs/report.md +0 -20
  22. data/.tekton/.currency/resources/requirements.txt +0 -4
  23. data/.tekton/.currency/resources/table.json +0 -100
  24. data/.tekton/.currency/scripts/generate_report.py +0 -308
  25. data/.tekton/README.md +0 -278
  26. data/.tekton/github-interceptor-secret.yaml +0 -8
  27. data/.tekton/github-pr-eventlistener.yaml +0 -104
  28. data/.tekton/github-pr-pipeline.yaml.part +0 -38
  29. data/.tekton/github-set-status-task.yaml +0 -43
  30. data/.tekton/github-webhook-ingress.yaml +0 -20
  31. data/.tekton/pipeline.yaml +0 -484
  32. data/.tekton/pipelinerun.yaml +0 -21
  33. data/.tekton/prepuller-restart-service-account.yaml +0 -31
  34. data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
  35. data/.tekton/ruby-tracer-prepuller.yaml +0 -88
  36. data/.tekton/run_unittests.sh +0 -87
  37. data/.tekton/scheduled-eventlistener.yaml +0 -108
  38. data/.tekton/task.yaml +0 -453
  39. data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
  40. data/Appraisals +0 -124
  41. data/CONTRIBUTING.md +0 -86
  42. data/Gemfile +0 -22
  43. data/LICENSE +0 -22
  44. data/MAINTAINERS.md +0 -3
  45. data/Rakefile +0 -49
  46. data/bin/announce_release_on_slack.py +0 -103
  47. data/docker-compose.yml +0 -20
  48. data/download.sh +0 -85
  49. data/examples/otel.rb +0 -98
  50. data/examples/tracing.rb +0 -85
  51. data/extras/license_header.rb +0 -44
  52. data/gemfiles/.bundle/config +0 -2
  53. data/gemfiles/aws_30.gemfile +0 -21
  54. data/gemfiles/aws_60.gemfile +0 -16
  55. data/gemfiles/cuba_30.gemfile +0 -16
  56. data/gemfiles/cuba_40.gemfile +0 -13
  57. data/gemfiles/dalli_20.gemfile +0 -15
  58. data/gemfiles/dalli_30.gemfile +0 -12
  59. data/gemfiles/dalli_32.gemfile +0 -12
  60. data/gemfiles/excon_0100.gemfile +0 -14
  61. data/gemfiles/excon_021.gemfile +0 -17
  62. data/gemfiles/excon_079.gemfile +0 -17
  63. data/gemfiles/excon_100.gemfile +0 -14
  64. data/gemfiles/graphql_10.gemfile +0 -16
  65. data/gemfiles/graphql_20.gemfile +0 -15
  66. data/gemfiles/grpc_10.gemfile +0 -15
  67. data/gemfiles/mongo_216.gemfile +0 -15
  68. data/gemfiles/mongo_219.gemfile +0 -12
  69. data/gemfiles/net_http_01.gemfile +0 -17
  70. data/gemfiles/rack_16.gemfile +0 -15
  71. data/gemfiles/rack_20.gemfile +0 -15
  72. data/gemfiles/rack_30.gemfile +0 -13
  73. data/gemfiles/rails_42.gemfile +0 -18
  74. data/gemfiles/rails_50.gemfile +0 -19
  75. data/gemfiles/rails_52.gemfile +0 -19
  76. data/gemfiles/rails_60.gemfile +0 -19
  77. data/gemfiles/rails_61.gemfile +0 -21
  78. data/gemfiles/rails_70.gemfile +0 -18
  79. data/gemfiles/rails_71.gemfile +0 -17
  80. data/gemfiles/rails_80.gemfile +0 -17
  81. data/gemfiles/redis_40.gemfile +0 -15
  82. data/gemfiles/redis_50.gemfile +0 -13
  83. data/gemfiles/redis_51.gemfile +0 -13
  84. data/gemfiles/resque_122.gemfile +0 -16
  85. data/gemfiles/resque_1274_3scale.gemfile +0 -17
  86. data/gemfiles/resque_20.gemfile +0 -16
  87. data/gemfiles/rest_client_16.gemfile +0 -17
  88. data/gemfiles/rest_client_20.gemfile +0 -17
  89. data/gemfiles/roda_20.gemfile +0 -16
  90. data/gemfiles/roda_30.gemfile +0 -16
  91. data/gemfiles/rubocop_162.gemfile +0 -6
  92. data/gemfiles/sequel_56.gemfile +0 -16
  93. data/gemfiles/sequel_57.gemfile +0 -16
  94. data/gemfiles/sequel_58.gemfile +0 -16
  95. data/gemfiles/shoryuken_50.gemfile +0 -16
  96. data/gemfiles/shoryuken_60.gemfile +0 -13
  97. data/gemfiles/sidekiq_42.gemfile +0 -15
  98. data/gemfiles/sidekiq_50.gemfile +0 -15
  99. data/gemfiles/sidekiq_60.gemfile +0 -12
  100. data/gemfiles/sidekiq_65.gemfile +0 -12
  101. data/gemfiles/sidekiq_70.gemfile +0 -12
  102. data/gemfiles/sinatra_14.gemfile +0 -15
  103. data/gemfiles/sinatra_22.gemfile +0 -12
  104. data/gemfiles/sinatra_30.gemfile +0 -12
  105. data/gemfiles/sinatra_40.gemfile +0 -12
  106. data/instana.gemspec +0 -53
  107. data/log/.keep +0 -0
  108. data/sonar-project.properties +0 -9
  109. data/test/activator_test.rb +0 -50
  110. data/test/backend/agent_test.rb +0 -80
  111. data/test/backend/gc_snapshot_test.rb +0 -11
  112. data/test/backend/host_agent_activation_observer_test.rb +0 -73
  113. data/test/backend/host_agent_lookup_test.rb +0 -78
  114. data/test/backend/host_agent_reporting_observer_test.rb +0 -276
  115. data/test/backend/host_agent_test.rb +0 -89
  116. data/test/backend/process_info_test.rb +0 -83
  117. data/test/backend/request_client_test.rb +0 -39
  118. data/test/backend/serverless_agent_test.rb +0 -83
  119. data/test/benchmarks/bench_id_generation.rb +0 -15
  120. data/test/benchmarks/bench_opentracing.rb +0 -16
  121. data/test/config_test.rb +0 -34
  122. data/test/frameworks/cuba_test.rb +0 -61
  123. data/test/frameworks/roda_test.rb +0 -60
  124. data/test/frameworks/sinatra_test.rb +0 -71
  125. data/test/instana_test.rb +0 -37
  126. data/test/instrumentation/aws_test.rb +0 -241
  127. data/test/instrumentation/dalli_test.rb +0 -325
  128. data/test/instrumentation/excon_test.rb +0 -204
  129. data/test/instrumentation/graphql_test.rb +0 -289
  130. data/test/instrumentation/grpc_test.rb +0 -420
  131. data/test/instrumentation/mongo_test.rb +0 -68
  132. data/test/instrumentation/net_http_test.rb +0 -220
  133. data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
  134. data/test/instrumentation/rack_test.rb +0 -415
  135. data/test/instrumentation/rails_action_cable_test.rb +0 -135
  136. data/test/instrumentation/rails_action_controller_test.rb +0 -218
  137. data/test/instrumentation/rails_action_mailer_test.rb +0 -66
  138. data/test/instrumentation/rails_action_view_test.rb +0 -154
  139. data/test/instrumentation/rails_active_job_test.rb +0 -65
  140. data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
  141. data/test/instrumentation/rails_active_record_test.rb +0 -116
  142. data/test/instrumentation/redis_test.rb +0 -152
  143. data/test/instrumentation/resque_test.rb +0 -188
  144. data/test/instrumentation/rest_client_test.rb +0 -106
  145. data/test/instrumentation/sequel_test.rb +0 -111
  146. data/test/instrumentation/shoryuken_test.rb +0 -47
  147. data/test/instrumentation/sidekiq-client_test.rb +0 -169
  148. data/test/instrumentation/sidekiq-worker_test.rb +0 -180
  149. data/test/secrets_test.rb +0 -112
  150. data/test/serverless_test.rb +0 -369
  151. data/test/snapshot/deltable_test.rb +0 -17
  152. data/test/snapshot/docker_container_test.rb +0 -82
  153. data/test/snapshot/fargate_container_test.rb +0 -82
  154. data/test/snapshot/fargate_process_test.rb +0 -35
  155. data/test/snapshot/fargate_task_test.rb +0 -49
  156. data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
  157. data/test/snapshot/google_cloud_run_process_test.rb +0 -33
  158. data/test/snapshot/lambda_function_test.rb +0 -37
  159. data/test/snapshot/ruby_process_test.rb +0 -32
  160. data/test/support/apps/active_record/active_record.rb +0 -24
  161. data/test/support/apps/grpc/boot.rb +0 -23
  162. data/test/support/apps/grpc/grpc_server.rb +0 -84
  163. data/test/support/apps/http_endpoint/boot.rb +0 -28
  164. data/test/support/apps/rails/boot.rb +0 -219
  165. data/test/support/apps/rails/models/block.rb +0 -21
  166. data/test/support/apps/rails/models/block6.rb +0 -21
  167. data/test/support/apps/resque/boot.rb +0 -5
  168. data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
  169. data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
  170. data/test/support/apps/sidekiq/boot.rb +0 -25
  171. data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
  172. data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
  173. data/test/support/apps/sidekiq/worker.rb +0 -37
  174. data/test/support/helpers.rb +0 -85
  175. data/test/support/mock_timer.rb +0 -20
  176. data/test/test_helper.rb +0 -69
  177. data/test/trace/custom_test.rb +0 -233
  178. data/test/trace/id_management_test.rb +0 -78
  179. data/test/trace/instrumented_logger_test.rb +0 -39
  180. data/test/trace/processor_test.rb +0 -58
  181. data/test/trace/span_context_test.rb +0 -22
  182. data/test/trace/span_test.rb +0 -179
  183. data/test/trace/tracer_async_test.rb +0 -243
  184. data/test/trace/tracer_provider_test.rb +0 -148
  185. data/test/trace/tracer_test.rb +0 -363
  186. 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