instana 1.195.3 → 1.198.0.pre1

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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -2
  3. data/Rakefile +1 -1
  4. data/instana.gemspec +3 -7
  5. data/lib/instana.rb +3 -0
  6. data/lib/instana/activator.rb +2 -0
  7. data/lib/instana/backend/agent.rb +62 -0
  8. data/lib/instana/backend/gc_snapshot.rb +41 -0
  9. data/lib/instana/backend/host_agent.rb +74 -0
  10. data/lib/instana/backend/host_agent_activation_observer.rb +97 -0
  11. data/lib/instana/backend/host_agent_lookup.rb +57 -0
  12. data/lib/instana/backend/host_agent_reporting_observer.rb +106 -0
  13. data/lib/instana/backend/process_info.rb +64 -0
  14. data/lib/instana/backend/request_client.rb +74 -0
  15. data/lib/instana/backend/serverless_agent.rb +113 -0
  16. data/lib/instana/base.rb +10 -27
  17. data/lib/instana/config.rb +8 -22
  18. data/lib/instana/instrumentation/excon.rb +17 -8
  19. data/lib/instana/instrumentation/instrumented_request.rb +62 -7
  20. data/lib/instana/instrumentation/net-http.rb +7 -5
  21. data/lib/instana/instrumentation/rack.rb +12 -7
  22. data/lib/instana/logger_delegator.rb +31 -0
  23. data/lib/instana/{opentracing → open_tracing}/carrier.rb +0 -0
  24. data/lib/instana/open_tracing/instana_tracer.rb +99 -0
  25. data/lib/instana/secrets.rb +6 -2
  26. data/lib/instana/serverless.rb +133 -0
  27. data/lib/instana/setup.rb +23 -11
  28. data/lib/instana/snapshot/deltable.rb +25 -0
  29. data/lib/instana/snapshot/docker_container.rb +151 -0
  30. data/lib/instana/snapshot/fargate_container.rb +88 -0
  31. data/lib/instana/snapshot/fargate_process.rb +67 -0
  32. data/lib/instana/snapshot/fargate_task.rb +72 -0
  33. data/lib/instana/snapshot/lambda_function.rb +39 -0
  34. data/lib/instana/snapshot/ruby_process.rb +48 -0
  35. data/lib/instana/tracer.rb +25 -143
  36. data/lib/instana/tracing/processor.rb +14 -22
  37. data/lib/instana/tracing/span.rb +33 -36
  38. data/lib/instana/tracing/span_context.rb +15 -10
  39. data/lib/instana/util.rb +8 -69
  40. data/lib/instana/version.rb +1 -1
  41. data/lib/opentracing.rb +26 -3
  42. data/test/backend/agent_test.rb +67 -0
  43. data/test/backend/gc_snapshot_test.rb +11 -0
  44. data/test/backend/host_agent_activation_observer_test.rb +72 -0
  45. data/test/backend/host_agent_lookup_test.rb +78 -0
  46. data/test/backend/host_agent_reporting_observer_test.rb +192 -0
  47. data/test/backend/host_agent_test.rb +47 -0
  48. data/test/backend/process_info_test.rb +63 -0
  49. data/test/backend/request_client_test.rb +39 -0
  50. data/test/backend/serverless_agent_test.rb +73 -0
  51. data/test/config_test.rb +10 -0
  52. data/test/instana_test.rb +11 -4
  53. data/test/instrumentation/excon_test.rb +15 -1
  54. data/test/instrumentation/rack_instrumented_request_test.rb +5 -2
  55. data/test/instrumentation/rack_test.rb +2 -14
  56. data/test/secrets_test.rb +41 -22
  57. data/test/serverless_test.rb +323 -0
  58. data/test/snapshot/deltable_test.rb +17 -0
  59. data/test/snapshot/docker_container_test.rb +82 -0
  60. data/test/snapshot/fargate_container_test.rb +82 -0
  61. data/test/snapshot/fargate_process_test.rb +35 -0
  62. data/test/snapshot/fargate_task_test.rb +49 -0
  63. data/test/snapshot/lambda_function_test.rb +37 -0
  64. data/test/snapshot/ruby_process_test.rb +14 -0
  65. data/test/support/mock_timer.rb +20 -0
  66. data/test/test_helper.rb +16 -4
  67. data/test/tracing/custom_test.rb +1 -3
  68. data/test/tracing/id_management_test.rb +8 -0
  69. data/test/tracing/opentracing_test.rb +15 -2
  70. data/test/tracing/processor_test.rb +58 -0
  71. data/test/tracing/span_context_test.rb +22 -0
  72. data/test/tracing/span_test.rb +136 -0
  73. data/test/tracing/tracer_async_test.rb +29 -0
  74. data/test/tracing/tracer_test.rb +82 -16
  75. data/test/util_test.rb +10 -0
  76. metadata +78 -45
  77. data/lib/instana/agent.rb +0 -508
  78. data/lib/instana/agent/helpers.rb +0 -87
  79. data/lib/instana/agent/hooks.rb +0 -44
  80. data/lib/instana/agent/tasks.rb +0 -51
  81. data/lib/instana/collector.rb +0 -119
  82. data/lib/instana/collectors/gc.rb +0 -60
  83. data/lib/instana/collectors/memory.rb +0 -37
  84. data/lib/instana/collectors/thread.rb +0 -33
  85. data/lib/instana/eum/eum-test.js.erb +0 -17
  86. data/lib/instana/eum/eum.js.erb +0 -17
  87. data/lib/instana/helpers.rb +0 -47
  88. data/lib/instana/opentracing/tracer.rb +0 -21
  89. data/lib/instana/thread_local.rb +0 -18
  90. data/lib/oj_check.rb +0 -19
  91. data/test/agent/agent_test.rb +0 -151
@@ -0,0 +1,58 @@
1
+ # (c) Copyright IBM Corp. 2021
2
+ # (c) Copyright Instana Inc. 2021
3
+
4
+ require 'test_helper'
5
+
6
+ class ProcessorTest < Minitest::Test
7
+ def test_queued_spans_empty
8
+ subject = Instana::Processor.new
9
+ assert_equal [], subject.queued_spans
10
+ end
11
+
12
+ def test_queued_spans_valid_level
13
+ clear_all!
14
+ subject = Instana::Processor.new
15
+
16
+ span_context = Instana::SpanContext.new('9', '8', 0)
17
+ span = Instana::Span.new(:rack, parent_ctx: span_context)
18
+ span2 = Instana::Span.new(:"net-http")
19
+
20
+ subject.add_span(span)
21
+ subject.add_span(span2)
22
+
23
+ spans = subject.queued_spans
24
+ valid_span, = spans
25
+
26
+ assert_equal 1, spans.length
27
+ assert_equal :"net-http", valid_span[:n]
28
+ end
29
+
30
+ def test_queued_spans_invalid_type
31
+ subject = Instana::Processor.new
32
+ subject.add_span(false)
33
+
34
+ assert_equal [], subject.queued_spans
35
+ end
36
+
37
+ def test_send
38
+ ENV['INSTANA_TEST'] = nil
39
+
40
+ subject = Instana::Processor.new
41
+ span = Instana::Span.new(:rack)
42
+ subject.add_span(span)
43
+
44
+ was_invoked = false
45
+
46
+ subject.send do |spans|
47
+ was_invoked = true
48
+ rack_span, = spans
49
+
50
+ assert_equal 1, spans.length
51
+ assert_equal :rack, rack_span[:n]
52
+ end
53
+
54
+ assert was_invoked
55
+ ensure
56
+ ENV['INSTANA_TEST'] = 'true'
57
+ end
58
+ end
@@ -0,0 +1,22 @@
1
+ # (c) Copyright IBM Corp. 2021
2
+ # (c) Copyright Instana Inc. 2021
3
+
4
+ require 'test_helper'
5
+
6
+ class SpanContextTest < Minitest::Test
7
+ def test_to_hash
8
+ subject = Instana::SpanContext.new('trace', 'span')
9
+ assert_equal({trace_id: 'trace', span_id: 'span'}, subject.to_hash)
10
+ end
11
+
12
+ def test_invalid
13
+ subject = Instana::SpanContext.new(nil, nil)
14
+ refute subject.valid?
15
+ end
16
+
17
+ def test_flags_level_zero
18
+ subject = Instana::SpanContext.new('trace', 'span', 0, {external_state: 'cn=test'})
19
+ assert_equal '00-000000000000000000000000000trace-000000000000span-00', subject.trace_parent_header
20
+ assert_equal 'cn=test', subject.trace_state_header
21
+ end
22
+ end
@@ -0,0 +1,136 @@
1
+ # (c) Copyright IBM Corp. 2021
2
+ # (c) Copyright Instana Inc. 2021
3
+
4
+ require 'test_helper'
5
+
6
+ class SpanTest < Minitest::Test
7
+ def test_getters_setters
8
+ span = Instana::Span.new(:test)
9
+
10
+ assert_equal span[:s], span.id
11
+ assert_equal span[:t], span.trace_id
12
+ assert_equal span[:p], span.parent_id
13
+ assert_equal span[:d], span.duration
14
+
15
+ span.parent_id = 'test'
16
+ assert_equal 'test', span.parent_id
17
+
18
+ span.name = 'test'
19
+ assert_equal 'test', span[:data][:sdk][:name]
20
+
21
+ span[:t] = 'test'
22
+ assert span.key?(:t)
23
+ assert_equal 'test', span[:t]
24
+
25
+ assert span.inspect
26
+ end
27
+
28
+ def test_builtin_span_rename
29
+ span = Instana::Span.new(:"net-http")
30
+ assert_equal :"net-http", span.name
31
+
32
+ span.name = 'test'
33
+ assert_equal 'test', span.name
34
+ end
35
+
36
+ def test_exit_span
37
+ span = Instana::Span.new(:"net-http")
38
+ assert span.exit_span?
39
+ end
40
+
41
+ def test_span_from_contetx
42
+ context = Instana::SpanContext.new('test', 'test', 0)
43
+ span = Instana::Span.new(:test, parent_ctx: context)
44
+
45
+ assert_equal 'test', span.parent_id
46
+ assert_equal 'test', span.trace_id
47
+ end
48
+
49
+ def test_span_from_contetx_invalid
50
+ context = Instana::SpanContext.new(nil, nil, 1)
51
+ span = Instana::Span.new(:test, parent_ctx: context)
52
+
53
+ assert_nil span.parent_id
54
+ refute_equal context.span_id, span.trace_id
55
+ assert_equal 1, span.context.level
56
+ end
57
+
58
+ def test_span_collect_backtraces
59
+ Instana.config[:collect_backtraces] = true
60
+ span = Instana::Span.new(:excon)
61
+ assert span[:stack]
62
+ ensure
63
+ Instana.config[:collect_backtraces] = false
64
+ end
65
+
66
+ def test_span_stack_over_limit
67
+ def inner(depth = 50, &blk) # rubocop:disable Lint/NestedMethodDefinition
68
+ return blk.call if depth.zero?
69
+
70
+ inner(depth - 1, &blk)
71
+ end
72
+
73
+ inner do
74
+ span = Instana::Span.new(:excon)
75
+ span.add_stack(limit: 500)
76
+ assert_equal 40, span[:stack].length
77
+ end
78
+ end
79
+
80
+ def test_multiple_errors
81
+ span = Instana::Span.new(:activerecord)
82
+ span.set_tag(:activerecord, {})
83
+
84
+ span.add_error(StandardError.new('Test1'))
85
+ span.add_error(StandardError.new('Test2'))
86
+
87
+ assert_equal 2, span[:ec]
88
+ assert_equal 'Test2', span[:data][:activerecord][:error]
89
+ end
90
+
91
+ def test_add_error_nil
92
+ span = Instana::Span.new(:activerecord)
93
+ span.add_error(nil)
94
+
95
+ assert_equal 1, span[:ec]
96
+ end
97
+
98
+ def test_set_tag_merge
99
+ span = Instana::Span.new(:excon)
100
+ span.set_tag(1024, {a: 1})
101
+ span.set_tag(1024, {b: 2})
102
+
103
+ assert_equal({'1024' => {a: 1, b: 2}}, span[:data])
104
+ end
105
+
106
+ def test_set_tags_non_hash
107
+ span = Instana::Span.new(:excon)
108
+ assert_nil span.set_tags(0)
109
+ end
110
+
111
+ def test_tags_standard
112
+ span = Instana::Span.new(:excon)
113
+ span.set_tag(:test, {a: 1})
114
+
115
+ assert_equal({test: {a: 1}}, span.tags)
116
+ assert_equal({a: 1}, span.tags(:test))
117
+ end
118
+
119
+ def test_log_standard
120
+ span = Instana::Span.new(:excon)
121
+ span.log(:test, Time.now, a: 1)
122
+
123
+ assert_equal({log: {a: 1}}, span.tags)
124
+ end
125
+
126
+ def test_log_error
127
+ time = Minitest::Mock.new
128
+ time.expect(:to_f, nil)
129
+
130
+ span = Instana::Span.new(:sdk)
131
+ span.log(:test, time, a: 1)
132
+
133
+ assert_equal({}, span.tags)
134
+ time.verify
135
+ end
136
+ end
@@ -198,4 +198,33 @@ class TracerAsyncTest < Minitest::Test
198
198
  assert_equal 3, fourth_span[:data][:sdk][:custom][:tags][:entry_kv]
199
199
  assert_equal 3, fourth_span[:data][:sdk][:custom][:tags][:exit_kv]
200
200
  end
201
+
202
+ def test_async_helpers
203
+ clear_all!
204
+ ::Instana.tracer.log_start_or_continue(:rack)
205
+
206
+ span = ::Instana.tracer.log_async_entry(:async, {})
207
+ ::Instana.tracer.log_async_info({a: 1}, span)
208
+ ::Instana.tracer.log_async_error(StandardError.new('Error'), span)
209
+ ::Instana.tracer.log_async_exit(nil, {}, span)
210
+
211
+ spans = ::Instana.processor.queued_spans
212
+ span, = spans
213
+
214
+ assert_equal({a: 1}, span[:data][:sdk][:custom][:tags])
215
+ assert_equal(1, span[:ec])
216
+ end
217
+
218
+ def test_async_helpers_tag_exit
219
+ clear_all!
220
+ ::Instana.tracer.log_start_or_continue(:rack)
221
+
222
+ span = ::Instana.tracer.log_async_entry(:async, {})
223
+ ::Instana.tracer.log_async_exit(nil, {a: 1}, span)
224
+
225
+ spans = ::Instana.processor.queued_spans
226
+ span, = spans
227
+
228
+ assert_equal({a: 1}, span[:data][:sdk][:custom][:tags])
229
+ end
201
230
  end
@@ -22,7 +22,6 @@ class TracerTest < Minitest::Test
22
22
  ::Instana.config[:tracing][:enabled] = true
23
23
  end
24
24
 
25
-
26
25
  def test_basic_trace_block
27
26
  clear_all!
28
27
 
@@ -44,9 +43,7 @@ class TracerTest < Minitest::Test
44
43
  assert first_span.key?(:data)
45
44
  assert_equal 1, first_span[:data][:one]
46
45
  assert first_span.key?(:f)
47
- assert first_span[:f].key?(:e)
48
- assert first_span[:f].key?(:h)
49
- assert_equal ::Instana.agent.agent_uuid, first_span[:f][:h]
46
+ assert_equal ::Instana.agent.source, first_span[:f]
50
47
  end
51
48
 
52
49
  def test_exotic_tag_types
@@ -75,9 +72,7 @@ class TracerTest < Minitest::Test
75
72
  assert first_span[:data].key?(:ipaddr)
76
73
  assert first_span[:data][:ipaddr].is_a?(String)
77
74
  assert first_span.key?(:f)
78
- assert first_span[:f].key?(:e)
79
- assert first_span[:f].key?(:h)
80
- assert_equal ::Instana.agent.agent_uuid, first_span[:f][:h]
75
+ assert_equal ::Instana.agent.source, first_span[:f]
81
76
  end
82
77
 
83
78
  def test_errors_are_properly_propagated
@@ -105,9 +100,7 @@ class TracerTest < Minitest::Test
105
100
  assert first_span.key?(:data)
106
101
  assert_equal 1, first_span[:data][:one]
107
102
  assert first_span.key?(:f)
108
- assert first_span[:f].key?(:e)
109
- assert first_span[:f].key?(:h)
110
- assert_equal ::Instana.agent.agent_uuid, first_span[:f][:h]
103
+ assert_equal ::Instana.agent.source, first_span[:f]
111
104
  assert_equal first_span[:error], true
112
105
  assert_equal first_span[:ec], 1
113
106
  end
@@ -222,9 +215,7 @@ class TracerTest < Minitest::Test
222
215
  assert_equal rack_span[:data][:close_one], 1
223
216
 
224
217
  assert rack_span.key?(:f)
225
- assert rack_span[:f].key?(:e)
226
- assert rack_span[:f].key?(:h)
227
- assert_equal ::Instana.agent.agent_uuid, rack_span[:f][:h]
218
+ assert_equal ::Instana.agent.source, rack_span[:f]
228
219
 
229
220
  assert_equal sdk_span[:n], :sdk
230
221
  assert_equal sdk_span[:data][:sdk][:name], :sub_task
@@ -239,7 +230,9 @@ class TracerTest < Minitest::Test
239
230
  exception_raised = false
240
231
  begin
241
232
  ::Instana.tracer.start_or_continue_trace(:test_trace, {:one => 1}) do
242
- raise Exception.new("Block exception test error")
233
+ ::Instana.tracer.trace(:test_trace_two) do
234
+ raise Exception.new("Block exception test error")
235
+ end
243
236
  end
244
237
  rescue Exception
245
238
  exception_raised = true
@@ -248,9 +241,9 @@ class TracerTest < Minitest::Test
248
241
  assert exception_raised
249
242
 
250
243
  spans = ::Instana.processor.queued_spans
251
- assert_equal 1, spans.length
244
+ assert_equal 2, spans.length
252
245
 
253
- sdk_span = spans[0]
246
+ sdk_span = spans.last
254
247
 
255
248
  assert_equal sdk_span[:n], :sdk
256
249
  assert_equal sdk_span[:data][:sdk][:name], :test_trace
@@ -285,4 +278,77 @@ class TracerTest < Minitest::Test
285
278
  assert_equal sdk_span[:ec], 1
286
279
  assert_equal sdk_span.key?(:stack), false
287
280
  end
281
+
282
+ def test_nil_returns
283
+ clear_all!
284
+
285
+ refute ::Instana.tracer.tracing?
286
+ assert_nil ::Instana.tracer.log_entry(nil)
287
+ assert_nil ::Instana.tracer.log_info(nil)
288
+ assert_nil ::Instana.tracer.log_error(nil)
289
+ assert_nil ::Instana.tracer.log_exit(nil)
290
+ assert_nil ::Instana.tracer.log_end(nil)
291
+ assert_nil ::Instana.tracer.log_async_entry(nil, nil)
292
+ assert_nil ::Instana.tracer.context
293
+ end
294
+
295
+ def test_tracing_span
296
+ clear_all!
297
+
298
+ refute ::Instana.tracer.tracing_span?(:rack)
299
+ ::Instana.tracer.log_start_or_continue(:rack)
300
+ assert ::Instana.tracer.tracing_span?(:rack)
301
+ end
302
+
303
+ def test_log_exit_warn_span_name
304
+ logger = Minitest::Mock.new
305
+ logger.expect(:warn, true, [String])
306
+ subject = Instana::Tracer.new(logger: logger)
307
+
308
+ subject.log_start_or_continue(:sample)
309
+ subject.log_exit(:roda)
310
+
311
+ logger.verify
312
+ end
313
+
314
+ def test_log_end_warn_span_name
315
+ clear_all!
316
+
317
+ logger = Minitest::Mock.new
318
+ logger.expect(:warn, true, [String])
319
+ subject = Instana::Tracer.new(logger: logger)
320
+
321
+ subject.log_start_or_continue(:sample)
322
+ subject.log_end(:roda)
323
+
324
+ logger.verify
325
+ end
326
+
327
+ def test_log_entry_span
328
+ clear_all!
329
+
330
+ subject = Instana::Tracer.new
331
+ span = Instana::Span.new(:rack)
332
+
333
+ subject.log_entry(:sample, {}, ::Instana::Util.now_in_ms, span)
334
+ assert subject.tracing?
335
+ assert subject.current_span.parent, span
336
+ end
337
+
338
+ def test_log_entry_span_context
339
+ clear_all!
340
+
341
+ subject = Instana::Tracer.new
342
+ span_context = Instana::SpanContext.new('test', 'test')
343
+
344
+ subject.log_entry(:sample, {}, ::Instana::Util.now_in_ms, span_context)
345
+ assert subject.tracing?
346
+ assert subject.current_span.context, span_context
347
+ end
348
+
349
+ def test_missing_class_super
350
+ assert_raises NoMethodError do
351
+ Instana::Tracer.invalid
352
+ end
353
+ end
288
354
  end
data/test/util_test.rb ADDED
@@ -0,0 +1,10 @@
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
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.195.3
4
+ version: 1.198.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Giacomo Lombardo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-23 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,47 +67,47 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sys-proctable
70
+ name: fakefs
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.2.2
76
- type: :runtime
75
+ version: '0'
76
+ type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 1.2.2
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: get_process_mem
84
+ name: concurrent-ruby
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.2.1
89
+ version: '1.1'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 0.2.1
96
+ version: '1.1'
97
97
  - !ruby/object:Gem::Dependency
98
- name: timers
98
+ name: sys-proctable
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 4.0.4
103
+ version: 1.2.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 4.0.4
110
+ version: 1.2.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: oj
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 3.0.11
125
- - !ruby/object:Gem::Dependency
126
- name: ffi
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: 1.0.11
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: 1.0.11
139
125
  description: The Instana gem is a zero configuration tool that will automatically
140
126
  collect key metrics and distributed traces from your Ruby processes. Just install
141
127
  and go.
@@ -228,23 +214,21 @@ files:
228
214
  - lib/instana/activators/sidekiq_client.rb
229
215
  - lib/instana/activators/sidekiq_worker.rb
230
216
  - lib/instana/activators/sinatra.rb
231
- - lib/instana/agent.rb
232
- - lib/instana/agent/helpers.rb
233
- - lib/instana/agent/hooks.rb
234
- - lib/instana/agent/tasks.rb
217
+ - lib/instana/backend/agent.rb
218
+ - lib/instana/backend/gc_snapshot.rb
219
+ - lib/instana/backend/host_agent.rb
220
+ - lib/instana/backend/host_agent_activation_observer.rb
221
+ - lib/instana/backend/host_agent_lookup.rb
222
+ - lib/instana/backend/host_agent_reporting_observer.rb
223
+ - lib/instana/backend/process_info.rb
224
+ - lib/instana/backend/request_client.rb
225
+ - lib/instana/backend/serverless_agent.rb
235
226
  - lib/instana/base.rb
236
- - lib/instana/collector.rb
237
- - lib/instana/collectors/gc.rb
238
- - lib/instana/collectors/memory.rb
239
- - lib/instana/collectors/thread.rb
240
227
  - lib/instana/config.rb
241
- - lib/instana/eum/eum-test.js.erb
242
- - lib/instana/eum/eum.js.erb
243
228
  - lib/instana/frameworks/cuba.rb
244
229
  - lib/instana/frameworks/rails.rb
245
230
  - lib/instana/frameworks/roda.rb
246
231
  - lib/instana/frameworks/sinatra.rb
247
- - lib/instana/helpers.rb
248
232
  - lib/instana/instrumentation/action_cable.rb
249
233
  - lib/instana/instrumentation/action_controller.rb
250
234
  - lib/instana/instrumentation/action_view.rb
@@ -266,23 +250,38 @@ files:
266
250
  - lib/instana/instrumentation/shoryuken.rb
267
251
  - lib/instana/instrumentation/sidekiq-client.rb
268
252
  - lib/instana/instrumentation/sidekiq-worker.rb
269
- - lib/instana/opentracing/carrier.rb
270
- - lib/instana/opentracing/tracer.rb
253
+ - lib/instana/logger_delegator.rb
254
+ - lib/instana/open_tracing/carrier.rb
255
+ - lib/instana/open_tracing/instana_tracer.rb
271
256
  - lib/instana/rack.rb
272
257
  - lib/instana/secrets.rb
258
+ - lib/instana/serverless.rb
273
259
  - lib/instana/setup.rb
274
- - lib/instana/thread_local.rb
260
+ - lib/instana/snapshot/deltable.rb
261
+ - lib/instana/snapshot/docker_container.rb
262
+ - lib/instana/snapshot/fargate_container.rb
263
+ - lib/instana/snapshot/fargate_process.rb
264
+ - lib/instana/snapshot/fargate_task.rb
265
+ - lib/instana/snapshot/lambda_function.rb
266
+ - lib/instana/snapshot/ruby_process.rb
275
267
  - lib/instana/tracer.rb
276
268
  - lib/instana/tracing/processor.rb
277
269
  - lib/instana/tracing/span.rb
278
270
  - lib/instana/tracing/span_context.rb
279
271
  - lib/instana/util.rb
280
272
  - lib/instana/version.rb
281
- - lib/oj_check.rb
282
273
  - lib/opentracing.rb
283
274
  - log/.keep
284
275
  - test/activator_test.rb
285
- - test/agent/agent_test.rb
276
+ - test/backend/agent_test.rb
277
+ - test/backend/gc_snapshot_test.rb
278
+ - test/backend/host_agent_activation_observer_test.rb
279
+ - test/backend/host_agent_lookup_test.rb
280
+ - test/backend/host_agent_reporting_observer_test.rb
281
+ - test/backend/host_agent_test.rb
282
+ - test/backend/process_info_test.rb
283
+ - test/backend/request_client_test.rb
284
+ - test/backend/serverless_agent_test.rb
286
285
  - test/benchmarks/bench_id_generation.rb
287
286
  - test/benchmarks/bench_opentracing.rb
288
287
  - test/config_test.rb
@@ -309,6 +308,14 @@ files:
309
308
  - test/instrumentation/sidekiq-client_test.rb
310
309
  - test/instrumentation/sidekiq-worker_test.rb
311
310
  - test/secrets_test.rb
311
+ - test/serverless_test.rb
312
+ - test/snapshot/deltable_test.rb
313
+ - test/snapshot/docker_container_test.rb
314
+ - test/snapshot/fargate_container_test.rb
315
+ - test/snapshot/fargate_process_test.rb
316
+ - test/snapshot/fargate_task_test.rb
317
+ - test/snapshot/lambda_function_test.rb
318
+ - test/snapshot/ruby_process_test.rb
312
319
  - test/support/apps/active_record/active_record.rb
313
320
  - test/support/apps/grpc/boot.rb
314
321
  - test/support/apps/grpc/grpc_server.rb
@@ -324,12 +331,17 @@ files:
324
331
  - test/support/apps/sidekiq/jobs/sidekiq_job_2.rb
325
332
  - test/support/apps/sidekiq/worker.rb
326
333
  - test/support/helpers.rb
334
+ - test/support/mock_timer.rb
327
335
  - test/test_helper.rb
328
336
  - test/tracing/custom_test.rb
329
337
  - test/tracing/id_management_test.rb
330
338
  - test/tracing/opentracing_test.rb
339
+ - test/tracing/processor_test.rb
340
+ - test/tracing/span_context_test.rb
341
+ - test/tracing/span_test.rb
331
342
  - test/tracing/tracer_async_test.rb
332
343
  - test/tracing/tracer_test.rb
344
+ - test/util_test.rb
333
345
  homepage: https://www.instana.com/
334
346
  licenses:
335
347
  - MIT
@@ -349,9 +361,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
349
361
  version: '2.1'
350
362
  required_rubygems_version: !ruby/object:Gem::Requirement
351
363
  requirements:
352
- - - ">="
364
+ - - ">"
353
365
  - !ruby/object:Gem::Version
354
- version: '0'
366
+ version: 1.3.1
355
367
  requirements: []
356
368
  rubygems_version: 3.2.6
357
369
  signing_key:
@@ -359,13 +371,32 @@ specification_version: 4
359
371
  summary: Ruby Distributed Tracing & Metrics Sensor for Instana
360
372
  test_files:
361
373
  - test/config_test.rb
374
+ - test/serverless_test.rb
362
375
  - test/activator_test.rb
376
+ - test/tracing/span_context_test.rb
377
+ - test/tracing/span_test.rb
363
378
  - test/tracing/id_management_test.rb
364
379
  - test/tracing/tracer_test.rb
365
380
  - test/tracing/custom_test.rb
366
381
  - test/tracing/opentracing_test.rb
367
382
  - test/tracing/tracer_async_test.rb
368
- - test/agent/agent_test.rb
383
+ - test/tracing/processor_test.rb
384
+ - test/snapshot/docker_container_test.rb
385
+ - test/snapshot/fargate_process_test.rb
386
+ - test/snapshot/deltable_test.rb
387
+ - test/snapshot/fargate_task_test.rb
388
+ - test/snapshot/ruby_process_test.rb
389
+ - test/snapshot/lambda_function_test.rb
390
+ - test/snapshot/fargate_container_test.rb
391
+ - test/backend/host_agent_activation_observer_test.rb
392
+ - test/backend/host_agent_reporting_observer_test.rb
393
+ - test/backend/gc_snapshot_test.rb
394
+ - test/backend/host_agent_lookup_test.rb
395
+ - test/backend/serverless_agent_test.rb
396
+ - test/backend/process_info_test.rb
397
+ - test/backend/agent_test.rb
398
+ - test/backend/host_agent_test.rb
399
+ - test/backend/request_client_test.rb
369
400
  - test/secrets_test.rb
370
401
  - test/instrumentation/graphql_test.rb
371
402
  - test/instrumentation/sidekiq-client_test.rb
@@ -385,7 +416,9 @@ test_files:
385
416
  - test/instrumentation/excon_test.rb
386
417
  - test/instrumentation/grpc_test.rb
387
418
  - test/instrumentation/aws_test.rb
419
+ - test/util_test.rb
388
420
  - test/support/helpers.rb
421
+ - test/support/mock_timer.rb
389
422
  - test/support/apps/sidekiq/boot.rb
390
423
  - test/support/apps/sidekiq/jobs/sidekiq_job_2.rb
391
424
  - test/support/apps/sidekiq/jobs/sidekiq_job_1.rb