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.
- checksums.yaml +4 -4
- data/lib/instana/setup.rb +1 -0
- data/lib/instana/span_filtering/condition.rb +134 -0
- data/lib/instana/span_filtering/configuration.rb +262 -0
- data/lib/instana/span_filtering/filter_rule.rb +31 -0
- data/lib/instana/span_filtering.rb +62 -0
- data/lib/instana/trace/span.rb +5 -3
- data/lib/instana/version.rb +1 -1
- metadata +7 -258
- data/.circleci/config.yml +0 -361
- data/.codeclimate.yml +0 -23
- data/.editorconfig +0 -10
- data/.fasterer.yml +0 -23
- data/.github/ISSUE_TEMPLATE/bug.yml +0 -39
- data/.github/ISSUE_TEMPLATE/config.yml +0 -8
- data/.github/workflows/pr_commits_signed_off.yml +0 -16
- data/.github/workflows/release-notification-on-slack.yml +0 -34
- data/.gitignore +0 -19
- data/.rubocop.yml +0 -34
- data/.rubocop_todo.yml +0 -1140
- data/.tekton/.currency/docs/report.md +0 -20
- data/.tekton/.currency/resources/requirements.txt +0 -4
- data/.tekton/.currency/resources/table.json +0 -100
- data/.tekton/.currency/scripts/generate_report.py +0 -308
- data/.tekton/README.md +0 -278
- data/.tekton/github-interceptor-secret.yaml +0 -8
- data/.tekton/github-pr-eventlistener.yaml +0 -104
- data/.tekton/github-pr-pipeline.yaml.part +0 -38
- data/.tekton/github-set-status-task.yaml +0 -43
- data/.tekton/github-webhook-ingress.yaml +0 -20
- data/.tekton/pipeline.yaml +0 -484
- data/.tekton/pipelinerun.yaml +0 -21
- data/.tekton/prepuller-restart-service-account.yaml +0 -31
- data/.tekton/ruby-tracer-prepuller-cronjob.yaml +0 -20
- data/.tekton/ruby-tracer-prepuller.yaml +0 -88
- data/.tekton/run_unittests.sh +0 -87
- data/.tekton/scheduled-eventlistener.yaml +0 -108
- data/.tekton/task.yaml +0 -453
- data/.tekton/tekton-triggers-eventlistener-serviceaccount.yaml +0 -29
- data/Appraisals +0 -124
- data/CONTRIBUTING.md +0 -86
- data/Gemfile +0 -22
- data/LICENSE +0 -22
- data/MAINTAINERS.md +0 -3
- data/Rakefile +0 -49
- data/bin/announce_release_on_slack.py +0 -103
- data/docker-compose.yml +0 -20
- data/download.sh +0 -85
- data/examples/otel.rb +0 -98
- data/examples/tracing.rb +0 -85
- data/extras/license_header.rb +0 -44
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/aws_30.gemfile +0 -21
- data/gemfiles/aws_60.gemfile +0 -16
- data/gemfiles/cuba_30.gemfile +0 -16
- data/gemfiles/cuba_40.gemfile +0 -13
- data/gemfiles/dalli_20.gemfile +0 -15
- data/gemfiles/dalli_30.gemfile +0 -12
- data/gemfiles/dalli_32.gemfile +0 -12
- data/gemfiles/excon_0100.gemfile +0 -14
- data/gemfiles/excon_021.gemfile +0 -17
- data/gemfiles/excon_079.gemfile +0 -17
- data/gemfiles/excon_100.gemfile +0 -14
- data/gemfiles/graphql_10.gemfile +0 -16
- data/gemfiles/graphql_20.gemfile +0 -15
- data/gemfiles/grpc_10.gemfile +0 -15
- data/gemfiles/mongo_216.gemfile +0 -15
- data/gemfiles/mongo_219.gemfile +0 -12
- data/gemfiles/net_http_01.gemfile +0 -17
- data/gemfiles/rack_16.gemfile +0 -15
- data/gemfiles/rack_20.gemfile +0 -15
- data/gemfiles/rack_30.gemfile +0 -13
- data/gemfiles/rails_42.gemfile +0 -18
- data/gemfiles/rails_50.gemfile +0 -19
- data/gemfiles/rails_52.gemfile +0 -19
- data/gemfiles/rails_60.gemfile +0 -19
- data/gemfiles/rails_61.gemfile +0 -21
- data/gemfiles/rails_70.gemfile +0 -18
- data/gemfiles/rails_71.gemfile +0 -17
- data/gemfiles/rails_80.gemfile +0 -17
- data/gemfiles/redis_40.gemfile +0 -15
- data/gemfiles/redis_50.gemfile +0 -13
- data/gemfiles/redis_51.gemfile +0 -13
- data/gemfiles/resque_122.gemfile +0 -16
- data/gemfiles/resque_1274_3scale.gemfile +0 -17
- data/gemfiles/resque_20.gemfile +0 -16
- data/gemfiles/rest_client_16.gemfile +0 -17
- data/gemfiles/rest_client_20.gemfile +0 -17
- data/gemfiles/roda_20.gemfile +0 -16
- data/gemfiles/roda_30.gemfile +0 -16
- data/gemfiles/rubocop_162.gemfile +0 -6
- data/gemfiles/sequel_56.gemfile +0 -16
- data/gemfiles/sequel_57.gemfile +0 -16
- data/gemfiles/sequel_58.gemfile +0 -16
- data/gemfiles/shoryuken_50.gemfile +0 -16
- data/gemfiles/shoryuken_60.gemfile +0 -13
- data/gemfiles/sidekiq_42.gemfile +0 -15
- data/gemfiles/sidekiq_50.gemfile +0 -15
- data/gemfiles/sidekiq_60.gemfile +0 -12
- data/gemfiles/sidekiq_65.gemfile +0 -12
- data/gemfiles/sidekiq_70.gemfile +0 -12
- data/gemfiles/sinatra_14.gemfile +0 -15
- data/gemfiles/sinatra_22.gemfile +0 -12
- data/gemfiles/sinatra_30.gemfile +0 -12
- data/gemfiles/sinatra_40.gemfile +0 -12
- data/instana.gemspec +0 -53
- data/log/.keep +0 -0
- data/sonar-project.properties +0 -9
- data/test/activator_test.rb +0 -50
- data/test/backend/agent_test.rb +0 -80
- data/test/backend/gc_snapshot_test.rb +0 -11
- data/test/backend/host_agent_activation_observer_test.rb +0 -73
- data/test/backend/host_agent_lookup_test.rb +0 -78
- data/test/backend/host_agent_reporting_observer_test.rb +0 -276
- data/test/backend/host_agent_test.rb +0 -89
- data/test/backend/process_info_test.rb +0 -83
- data/test/backend/request_client_test.rb +0 -39
- data/test/backend/serverless_agent_test.rb +0 -83
- data/test/benchmarks/bench_id_generation.rb +0 -15
- data/test/benchmarks/bench_opentracing.rb +0 -16
- data/test/config_test.rb +0 -34
- data/test/frameworks/cuba_test.rb +0 -61
- data/test/frameworks/roda_test.rb +0 -60
- data/test/frameworks/sinatra_test.rb +0 -71
- data/test/instana_test.rb +0 -37
- data/test/instrumentation/aws_test.rb +0 -241
- data/test/instrumentation/dalli_test.rb +0 -325
- data/test/instrumentation/excon_test.rb +0 -204
- data/test/instrumentation/graphql_test.rb +0 -289
- data/test/instrumentation/grpc_test.rb +0 -420
- data/test/instrumentation/mongo_test.rb +0 -68
- data/test/instrumentation/net_http_test.rb +0 -220
- data/test/instrumentation/rack_instrumented_request_test.rb +0 -211
- data/test/instrumentation/rack_test.rb +0 -415
- data/test/instrumentation/rails_action_cable_test.rb +0 -135
- data/test/instrumentation/rails_action_controller_test.rb +0 -218
- data/test/instrumentation/rails_action_mailer_test.rb +0 -66
- data/test/instrumentation/rails_action_view_test.rb +0 -154
- data/test/instrumentation/rails_active_job_test.rb +0 -65
- data/test/instrumentation/rails_active_record_database_missing_test.rb +0 -44
- data/test/instrumentation/rails_active_record_test.rb +0 -116
- data/test/instrumentation/redis_test.rb +0 -152
- data/test/instrumentation/resque_test.rb +0 -188
- data/test/instrumentation/rest_client_test.rb +0 -106
- data/test/instrumentation/sequel_test.rb +0 -111
- data/test/instrumentation/shoryuken_test.rb +0 -47
- data/test/instrumentation/sidekiq-client_test.rb +0 -169
- data/test/instrumentation/sidekiq-worker_test.rb +0 -180
- data/test/secrets_test.rb +0 -112
- data/test/serverless_test.rb +0 -369
- data/test/snapshot/deltable_test.rb +0 -17
- data/test/snapshot/docker_container_test.rb +0 -82
- data/test/snapshot/fargate_container_test.rb +0 -82
- data/test/snapshot/fargate_process_test.rb +0 -35
- data/test/snapshot/fargate_task_test.rb +0 -49
- data/test/snapshot/google_cloud_run_instance_test.rb +0 -74
- data/test/snapshot/google_cloud_run_process_test.rb +0 -33
- data/test/snapshot/lambda_function_test.rb +0 -37
- data/test/snapshot/ruby_process_test.rb +0 -32
- data/test/support/apps/active_record/active_record.rb +0 -24
- data/test/support/apps/grpc/boot.rb +0 -23
- data/test/support/apps/grpc/grpc_server.rb +0 -84
- data/test/support/apps/http_endpoint/boot.rb +0 -28
- data/test/support/apps/rails/boot.rb +0 -219
- data/test/support/apps/rails/models/block.rb +0 -21
- data/test/support/apps/rails/models/block6.rb +0 -21
- data/test/support/apps/resque/boot.rb +0 -5
- data/test/support/apps/resque/jobs/resque_error_job.rb +0 -22
- data/test/support/apps/resque/jobs/resque_fast_job.rb +0 -23
- data/test/support/apps/sidekiq/boot.rb +0 -25
- data/test/support/apps/sidekiq/jobs/sidekiq_job_1.rb +0 -9
- data/test/support/apps/sidekiq/jobs/sidekiq_job_2.rb +0 -10
- data/test/support/apps/sidekiq/worker.rb +0 -37
- data/test/support/helpers.rb +0 -85
- data/test/support/mock_timer.rb +0 -20
- data/test/test_helper.rb +0 -69
- data/test/trace/custom_test.rb +0 -233
- data/test/trace/id_management_test.rb +0 -78
- data/test/trace/instrumented_logger_test.rb +0 -39
- data/test/trace/processor_test.rb +0 -58
- data/test/trace/span_context_test.rb +0 -22
- data/test/trace/span_test.rb +0 -179
- data/test/trace/tracer_async_test.rb +0 -243
- data/test/trace/tracer_provider_test.rb +0 -148
- data/test/trace/tracer_test.rb +0 -363
- data/test/util_test.rb +0 -10
data/test/trace/tracer_test.rb
DELETED
@@ -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
|