solarwinds_apm 6.0.0.preV4 → 6.0.0.preV5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/oboe_metal.rb +5 -2
  3. data/lib/rails/generators/solarwinds_apm/install_generator.rb +5 -2
  4. data/lib/rails/generators/solarwinds_apm/templates/solarwinds_apm_initializer.rb +7 -3
  5. data/lib/solarwinds_apm/api/current_trace_info.rb +6 -4
  6. data/lib/solarwinds_apm/api/custom_metrics.rb +93 -0
  7. data/lib/solarwinds_apm/api/opentelemetry.rb +6 -0
  8. data/lib/solarwinds_apm/api/tracing.rb +32 -5
  9. data/lib/solarwinds_apm/api/transaction_name.rb +30 -14
  10. data/lib/solarwinds_apm/api.rb +7 -2
  11. data/lib/solarwinds_apm/base.rb +5 -2
  12. data/lib/solarwinds_apm/config.rb +5 -2
  13. data/lib/solarwinds_apm/constants.rb +6 -0
  14. data/lib/solarwinds_apm/logger.rb +5 -2
  15. data/lib/solarwinds_apm/noop/context.rb +5 -2
  16. data/lib/solarwinds_apm/noop/metadata.rb +5 -2
  17. data/lib/solarwinds_apm/oboe_init_options.rb +11 -3
  18. data/lib/solarwinds_apm/opentelemetry/solarwinds_exporter.rb +6 -1
  19. data/lib/solarwinds_apm/opentelemetry/solarwinds_processor.rb +9 -0
  20. data/lib/solarwinds_apm/opentelemetry/solarwinds_propagator.rb +6 -0
  21. data/lib/solarwinds_apm/opentelemetry/solarwinds_response_propagator.rb +6 -0
  22. data/lib/solarwinds_apm/opentelemetry/solarwinds_sampler.rb +6 -0
  23. data/lib/solarwinds_apm/opentelemetry.rb +6 -0
  24. data/lib/solarwinds_apm/otel_config.rb +6 -0
  25. data/lib/solarwinds_apm/support/logger_formatter.rb +5 -2
  26. data/lib/solarwinds_apm/support/logging_log_event.rb +5 -2
  27. data/lib/solarwinds_apm/support/lumberjack_formatter.rb +5 -2
  28. data/lib/solarwinds_apm/support/oboe_tracing_mode.rb +6 -0
  29. data/lib/solarwinds_apm/support/swomarginalia/README.md +1 -1
  30. data/lib/solarwinds_apm/support/swomarginalia/comment.rb +1 -1
  31. data/lib/solarwinds_apm/support/swomarginalia/load_swomarginalia.rb +6 -0
  32. data/lib/solarwinds_apm/support/transaction_cache.rb +6 -0
  33. data/lib/solarwinds_apm/support/transaction_settings.rb +5 -2
  34. data/lib/solarwinds_apm/support/txn_name_manager.rb +6 -0
  35. data/lib/solarwinds_apm/support/utils.rb +6 -0
  36. data/lib/solarwinds_apm/support/x_trace_options.rb +5 -2
  37. data/lib/solarwinds_apm/support.rb +5 -3
  38. data/lib/solarwinds_apm/support_report.rb +6 -3
  39. data/lib/solarwinds_apm/thread_local.rb +5 -2
  40. data/lib/solarwinds_apm/version.rb +6 -3
  41. data/lib/solarwinds_apm.rb +7 -4
  42. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 713296dd9c5976499e32444e7746b7c340aa49a8cbd34df63308451f39c83615
4
- data.tar.gz: 8efaffed12d27beb7144ea55e3180bd49eedf10075f77573591272645fe975ea
3
+ metadata.gz: b23156203ec3589196c343c4d16ba3fb44018e94ea34e585e7b62a03fd909832
4
+ data.tar.gz: de12c6839abf0ecfb195ebf78f259c778aa05769b3f3fe48541c05707b67ab03
5
5
  SHA512:
6
- metadata.gz: 9c2a125a6991e69089af608f6d8c37d2716b083bd47f28c4c7d9610f8d02be31e6024107e91ad09a4e78c6200b9d608de9bd56d5b67b098a8a4a7cdd4a2a1c19
7
- data.tar.gz: 61d4b4e5805eefe3dee96567509c4eb2378c226f38df35dabc93df999ec3a209ac8a61a4d578d7710819618e21af2701f8acb327bb684b641d2f5ede6878cbdb
6
+ metadata.gz: 8fdb15ee558dea8d3f6737180e8542485c3a0bbeedd71372ab63f0fac552d0d1aac01c07f0076e95e691d9f1c97ce1013f22b76fd235d77fcf3d4422c5b4f6b5
7
+ data.tar.gz: 7cce1f862385ce15655ede15071c429aced9e4f4af744c2496978fba2873642620520a7b3325a2945abfc127c720cea4bcae2c18320e83c88280b2ae0c612c04
data/lib/oboe_metal.rb CHANGED
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  # Disable docs and Camelcase warns since we're implementing
5
8
  # an interface here. See OboeBase for details.
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  module SolarWindsAPM
5
8
  # InstallGenerator
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2019 SolarWinds, LLC.
4
- # All rights reserved.
3
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
8
 
6
9
  # SolarWindsAPM Configuration for the Ruby Agent aka solarwinds_apm gem
7
10
  # https://cloud.solarwinds.com/
@@ -33,7 +36,8 @@ if defined?(SolarWindsAPM::Config)
33
36
  # SolarWindsAPM::Config[:hostname_alias] = 'alias_name'
34
37
 
35
38
  #
36
- # Set Proxy for SolarWinds # This setting will be overridden if SW_APM_PROXY is set as an environment variable.
39
+ # Set Proxy for SolarWinds
40
+ # This setting will be overridden if SW_APM_PROXY is set as an environment variable.
37
41
  #
38
42
  # Please configure http_proxy if a proxy needs to be used to communicate with
39
43
  # the SolarWinds APM collector.
@@ -1,7 +1,9 @@
1
- #--
2
- # Copyright (c) SolarWinds, LLC.
3
- # All rights reserved.
4
- #++
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
5
7
  module SolarWindsAPM
6
8
  module API
7
9
  module CurrentTraceInfo
@@ -0,0 +1,93 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
7
+ module SolarWindsAPM
8
+ module API
9
+ module CustomMetrics
10
+ # Send counts
11
+ #
12
+ # Use this method to report the number of times an action occurs. The metric counts reported are summed and flushed every 60 seconds.
13
+ #
14
+ # === Arguments:
15
+ #
16
+ # * +name+ (String) Name to be used for the metric. Must be 255 or fewer characters and consist only of A-Za-z0-9.:-*
17
+ # * +count+ (Integer, optional, default = 1): Count of actions being reported
18
+ # * +with_hostname+ (Boolean, optional, default = false): Indicates if the host name should be included as a tag for the metric
19
+ # * +tags_kvs+ (Hash, optional): List of key/value pairs to describe the metric. The key must be <= 64 characters, the value must be <= 255 characters, allowed characters: A-Za-z0-9.:-_
20
+ #
21
+ # === Example:
22
+ #
23
+ # class WorkTracker
24
+ # def counting(name, tags = {})
25
+ # yield # yield to where work is done
26
+ # SolarWindsAPM::API.increment_metric(name, 1, false, tags)
27
+ # end
28
+ # end
29
+ #
30
+ # === Returns:
31
+ # * Boolean
32
+ #
33
+ def increment_metric(name, count=1, with_hostname=false, tags_kvs={}) # rubocop:disable Style/OptionalBooleanParameter
34
+ return true unless SolarWindsAPM.loaded
35
+
36
+ with_hostname = with_hostname ? 1 : 0
37
+ tags, tags_count = make_tags(tags_kvs)
38
+ SolarWindsAPM::CustomMetrics.increment(name.to_s, count, with_hostname, nil, tags, tags_count) == 0
39
+ end
40
+
41
+ # Send values with counts
42
+ #
43
+ # Use this method to report a value for each or multiple counts. The metric values reported are aggregated and flushed every 60 seconds. The dashboard displays the average value per count.
44
+ #
45
+ # === Arguments:
46
+ #
47
+ # * +name+ (String) Name to be used for the metric. Must be 255 or fewer characters and consist only of A-Za-z0-9.:-*
48
+ # * +value+ (Numeric) Value to be added to the current sum
49
+ # * +count+ (Integer, optional, default = 1): Count of actions being reported
50
+ # * +with_hostname+ (Boolean, optional, default = false): Indicates if the host name should be included as a tag for the metric
51
+ # * +tags_kvs+ (Hash, optional): List of key/value pairs to describe the metric. The key must be <= 64 characters, the value must be <= 255 characters, allowed characters: A-Za-z0-9.:-_
52
+ #
53
+ # === Example:
54
+ #
55
+ # class WorkTracker
56
+ # def timing(name, tags = {})
57
+ # start = Time.now
58
+ # yield # yield to where work is done
59
+ # duration = Time.now - start
60
+ # SolarWindsAPM::API.summary_metric(name, duration, 1, false, tags)
61
+ # end
62
+ # end
63
+ #
64
+ # === Returns:
65
+ # * Boolean
66
+ #
67
+ def summary_metric(name, value, count=1, with_hostname=false, tags_kvs={}) # rubocop:disable Style/OptionalBooleanParameter
68
+ return true unless SolarWindsAPM.loaded
69
+
70
+ with_hostname = with_hostname ? 1 : 0
71
+ tags, tags_count = make_tags(tags_kvs)
72
+ SolarWindsAPM::CustomMetrics.summary(name.to_s, value, count, with_hostname, nil, tags, tags_count) == 0
73
+ end
74
+
75
+ private
76
+
77
+ def make_tags(tags_kvs)
78
+ unless tags_kvs.is_a?(Hash)
79
+ SolarWindsAPM.logger.warn("[solarwinds_apm/metrics] CustomMetrics received tags_kvs that are not a Hash (found #{tags_kvs.class}), setting tags_kvs = {}")
80
+ tags_kvs = {}
81
+ end
82
+ count = tags_kvs.size
83
+ tags = SolarWindsAPM::MetricTags.new(count)
84
+
85
+ tags_kvs.each_with_index do |(k, v), i|
86
+ tags.add(i, k.to_s, v.to_s)
87
+ end
88
+
89
+ [tags, count]
90
+ end
91
+ end
92
+ end
93
+ end
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module API
3
9
  module OpenTelemetry
@@ -1,15 +1,31 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module API
3
9
  module Tracing
4
10
  # Wait for SolarWinds to be ready to send traces.
5
11
  #
6
12
  # This may be useful in short lived background processes when it is important to capture
7
- # information during the whole time the process is running. Usually SolarWinds doesn't block an
8
- # application while it is starting up.
13
+ # information during the whole time the process is running. It returns boolean if <tt>integer_response</tt> is false,
14
+ # and it will return integer if setting <tt>integer_response</tt> as true.
15
+ # Usually SolarWinds doesn't block an application while it is starting up.
16
+ #
17
+ # For status code reference:
18
+ # 0: unknown error
19
+ # 1: is ready
20
+ # 2: not ready yet, try later
21
+ # 3: limit exceeded
22
+ # 4: invalid API key
23
+ # 5: connection error
9
24
  #
10
25
  # === Argument:
11
26
  #
12
27
  # * +wait_milliseconds+ - (int, default 3000) the maximum time to wait in milliseconds
28
+ # * +integer_response+ - (boolean, default false) determine whether return status code of reporter or not
13
29
  #
14
30
  # === Example:
15
31
  #
@@ -17,13 +33,24 @@ module SolarWindsAPM
17
33
  # Logger.info "SolarWindsAPM not ready after 10 seconds, no metrics will be sent"
18
34
  # end
19
35
  #
36
+ # # with status code print out
37
+ # status = SolarWindsAPM::API.solarwinds_ready?(10_000, integer_response: true)
38
+ # unless status == 1
39
+ # Logger.info "SolarWindsAPM not ready after 10 seconds, no metrics will be sent. Error code "#{status}"
40
+ # end
41
+ #
20
42
  # === Returns:
21
- # * Boolean
43
+ # * Boolean (if integer_response: false)
44
+ # * Integer (if integer_response: true)
22
45
  #
23
- def solarwinds_ready?(wait_milliseconds=3000)
46
+ def solarwinds_ready?(wait_milliseconds=3000, integer_response: false)
24
47
  return false unless SolarWindsAPM.loaded
25
48
 
26
- SolarWindsAPM::Context.isReady(wait_milliseconds) == 1
49
+ is_ready = SolarWindsAPM::Context.isReady(wait_milliseconds)
50
+
51
+ return is_ready if integer_response
52
+
53
+ is_ready == 1
27
54
  end
28
55
  end
29
56
  end
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module API
3
9
  module TransactionName
@@ -30,26 +36,36 @@ module SolarWindsAPM
30
36
  # * Boolean
31
37
  #
32
38
  def set_transaction_name(custom_name=nil)
33
-
34
39
  status = true
35
- if custom_name.nil? || custom_name.empty?
40
+ if ENV.fetch('SW_APM_ENABLED', 'true') == 'false' ||
41
+ SolarWindsAPM::Context.toString == '99-00000000000000000000000000000000-0000000000000000-00'
42
+ # library disabled or noop, just log and skip work.
43
+ # TODO: can we have a single indicator that the API is in noop mode?
44
+ SolarWindsAPM.logger.debug {"[#{name}/#{__method__}] SolarWindsAPM is in disabled or noop mode."}
45
+ elsif custom_name.nil? || custom_name.empty?
46
+ SolarWindsAPM.logger.warn {"[#{name}/#{__method__}] Set transaction name failed: custom_name is either nil or empty string."}
36
47
  status = false
37
- elsif SolarWindsAPM::Context.toString == '99-00000000000000000000000000000000-0000000000000000-00' # noop
38
- status = true
39
48
  elsif SolarWindsAPM::OTelConfig.class_variable_get(:@@config)[:span_processor].nil?
40
- SolarWindsAPM.logger.warn {"[#{name}/#{__method__}] Solarwinds processor is missing. Set transaction name failed."}
49
+ SolarWindsAPM.logger.warn {"[#{name}/#{__method__}] Set transaction name failed: Solarwinds processor is missing."}
41
50
  status = false
42
51
  else
43
- solarwinds_processor = SolarWindsAPM::OTelConfig.class_variable_get(:@@config)[:span_processor]
44
- current_span = ::OpenTelemetry::Trace.current_span
45
- entry_trace_id = current_span.context.hex_trace_id
46
- entry_span_id, trace_flags = solarwinds_processor.txn_manager.get_root_context_h(entry_trace_id)&.split('-')
47
-
48
- status = false if entry_trace_id.nil? || entry_span_id.nil? || trace_flags.nil?
49
- status = false if entry_trace_id == '0'*32 || entry_span_id == '0'*16 || trace_flags == '00' # not sampled
52
+ solarwinds_processor = SolarWindsAPM::OTelConfig.class_variable_get(:@@config)[:span_processor]
53
+ current_span = ::OpenTelemetry::Trace.current_span
50
54
 
51
- solarwinds_processor.txn_manager.set("#{entry_trace_id}-#{entry_span_id}",custom_name)
52
- SolarWindsAPM.logger.debug {"[#{name}/#{__method__}] Cached custom transaction name for #{entry_trace_id}-#{entry_span_id} as #{custom_name}"}
55
+ if current_span.context.valid?
56
+ current_trace_id = current_span.context.hex_trace_id
57
+ entry_span_id, trace_flags = solarwinds_processor.txn_manager.get_root_context_h(current_trace_id)&.split('-')
58
+ if entry_span_id.to_s.empty? || trace_flags.to_s.empty?
59
+ SolarWindsAPM.logger.warn {"[#{name}/#{__method__}] Set transaction name failed: record not found in the transaction manager."}
60
+ status = false
61
+ else
62
+ solarwinds_processor.txn_manager.set("#{current_trace_id}-#{entry_span_id}",custom_name)
63
+ SolarWindsAPM.logger.debug {"[#{name}/#{__method__}] Cached custom transaction name for #{current_trace_id}-#{entry_span_id} as #{custom_name}"}
64
+ end
65
+ else
66
+ SolarWindsAPM.logger.warn {"[#{name}/#{__method__}] Set transaction name failed: invalid span context."}
67
+ status = false
68
+ end
53
69
  end
54
70
  status
55
71
  end
@@ -1,10 +1,14 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require_relative './api/transaction_name'
5
8
  require_relative './api/current_trace_info'
6
9
  require_relative './api/tracing'
7
10
  require_relative './api/opentelemetry'
11
+ require_relative './api/custom_metrics'
8
12
 
9
13
  module SolarWindsAPM
10
14
  module API
@@ -12,5 +16,6 @@ module SolarWindsAPM
12
16
  extend SolarWindsAPM::API::CurrentTraceInfo
13
17
  extend SolarWindsAPM::API::Tracing
14
18
  extend SolarWindsAPM::API::OpenTelemetry
19
+ extend SolarWindsAPM::API::CustomMetrics
15
20
  end
16
21
  end
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  ##
5
8
  # This module is the base module for SolarWindsAPM reporting.
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  module SolarWindsAPM
5
8
  ##
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  # Constants
3
9
  module Constants
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require 'logger'
5
8
 
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  ####
5
8
  # noop version of SolarWindsAPM::Context
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  ####
5
8
  # noop version of SolarWindsAPM::Metadata
@@ -1,7 +1,12 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
3
7
  require 'singleton'
4
8
  require 'uri'
9
+
5
10
  module SolarWindsAPM
6
11
  # OboeInitOptions
7
12
  class OboeInitOptions
@@ -142,7 +147,10 @@ module SolarWindsAPM
142
147
  otel_resource_service_name = nil
143
148
  ENV['OTEL_RESOURCE_ATTRIBUTES']&.split(',')&.each do |pair|
144
149
  key, value = pair.split('=')
145
- otel_resource_service_name = value; break if key == 'service.name'
150
+ if key == 'service.name'
151
+ otel_resource_service_name = value
152
+ break
153
+ end
146
154
  end
147
155
 
148
156
  SolarWindsAPM.logger.debug {"[#{self.class}/#{__method__}] provided otel_resource_service_name #{otel_resource_service_name}"} if otel_resource_service_name
@@ -1,4 +1,9 @@
1
- # solarwinds_apm will use liboboe to export data to solarwinds swo
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
2
7
  module SolarWindsAPM
3
8
  module OpenTelemetry
4
9
  # SolarWindsExporter
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module OpenTelemetry
3
9
  # reference: OpenTelemetry::SDK::Trace::SpanProcessor
@@ -142,12 +148,15 @@ module SolarWindsAPM
142
148
  end
143
149
 
144
150
  # Get trans_name and url_tran of this span instance.
151
+ # Predecessor order: custom SDK > env var SW_APM_TRANSACTION_NAME > automatic naming
145
152
  def calculate_transaction_names(span)
146
153
  trace_span_id = "#{span.context.hex_trace_id}-#{span.context.hex_span_id}"
147
154
  trans_name = @txn_manager.get(trace_span_id)
148
155
  if trans_name
149
156
  SolarWindsAPM.logger.debug {"[#{self.class}/#{__method__}] found trans name from txn_manager: #{trans_name} by #{trace_span_id}"}
150
157
  @txn_manager.del(trace_span_id)
158
+ elsif ENV.has_key?('SW_APM_TRANSACTION_NAME') && ENV['SW_APM_TRANSACTION_NAME'] != ''
159
+ trans_name = ENV['SW_APM_TRANSACTION_NAME']
151
160
  else
152
161
  trans_name = span.attributes[HTTP_ROUTE] || nil
153
162
  trans_name = span.name if span.name && (trans_name.nil? || trans_name.empty?)
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module OpenTelemetry
3
9
  module SolarWindsPropagator
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module OpenTelemetry
3
9
  module SolarWindsResponsePropagator
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module OpenTelemetry
3
9
  # SolarWindsSampler
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  require 'opentelemetry/sdk'
2
8
  require 'opentelemetry/instrumentation/all'
3
9
 
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  # OTelConfig module
3
9
  # For configure otel component: configurable: propagator, exporter
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require 'logger'
5
8
 
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require_relative 'logger_formatter'
5
8
 
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2023 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require_relative 'logger_formatter'
5
8
 
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  module OpenTelemetry
3
9
  # OboeTracingMode
@@ -38,4 +38,4 @@ Post Load (1.1ms) SELECT `posts`.* FROM `posts` /*application=SqlcommenterRails
38
38
  ```
39
39
 
40
40
  ## License
41
- This project is licensed under the [MIT License](https://github.com/solarwindscloud/swotel-ruby/tree/main/lib/solarwinds_apm/support/swomarginalia/LICENSE).
41
+ This project is licensed under the [MIT License](https://github.com/solarwinds/apm-ruby/blob/main/lib/solarwinds_apm/support/swomarginalia/LICENSE).
@@ -9,7 +9,7 @@ module SolarWindsAPM
9
9
  mattr_accessor :components, :lines_to_ignore, :prepend_comment
10
10
  SWOMarginalia::Comment.components ||= [:traceparent]
11
11
  # To add new components:
12
- # Create file and load after swotel-ruby, and add following:
12
+ # Create file and load after loading solarwinds_apm, and add following:
13
13
  # SolarWindsAPM::SWOMarginalia::Comment.component = [:user_defined]
14
14
 
15
15
  def self.update!(controller=nil)
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  require_relative './swomarginalia'
2
8
 
3
9
  module SolarWindsAPM
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  # LRU TransactionCache with initial limit 1000
3
9
  module TransactionCache
@@ -1,6 +1,9 @@
1
- # Copyright (c) 2018 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
3
2
  #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
4
7
  module SolarWindsAPM
5
8
  ##
6
9
  # This module helps with setting up the transaction filters and applying them
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  # SolarWindsTxnNameManager
3
9
  class TxnNameManager
@@ -1,3 +1,9 @@
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
1
7
  module SolarWindsAPM
2
8
  # Utils
3
9
  class Utils
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2019 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  module SolarWindsAPM
5
8
  # XTraceOptions
@@ -1,8 +1,10 @@
1
- # Copyright (c) 2023 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
3
2
  #
4
- # This file is for loading support library
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
5
4
  #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
6
+
7
+ # This file is for loading support library
6
8
 
7
9
  require_relative './support/logger_formatter'
8
10
  require_relative './support/logging_log_event'
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  require 'rbconfig'
5
8
  require 'logger'
@@ -82,7 +85,7 @@ module SolarWindsAPM
82
85
  SolarWindsAPM.logger.warn '********************************************************'
83
86
  SolarWindsAPM.logger.warn '* END SolarWindsAPM Support Report'
84
87
  SolarWindsAPM.logger.warn '* Support Email: technicalsupport@solarwinds.com'
85
- SolarWindsAPM.logger.warn '* Github: https://github.com/solarwindscloud/swotel-ruby'
88
+ SolarWindsAPM.logger.warn '* Github: https://github.com/solarwinds/apm-ruby'
86
89
  SolarWindsAPM.logger.warn '********************************************************'
87
90
 
88
91
  SolarWindsAPM.logger.level = @logger_level
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  module SolarWindsAPM
5
8
  ##
@@ -1,5 +1,8 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  module SolarWindsAPM
5
8
  ##
@@ -9,7 +12,7 @@ module SolarWindsAPM
9
12
  MAJOR = 6 # breaking,
10
13
  MINOR = 0 # feature,
11
14
  PATCH = 0 # fix => BFF
12
- PRE = 'preV4'.freeze # for pre-releases into packagecloud, set to nil for production releases into rubygems
15
+ PRE = 'preV5'.freeze # for pre-releases into packagecloud, set to nil for production releases into rubygems
13
16
 
14
17
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
15
18
  end
@@ -1,8 +1,11 @@
1
- # Copyright (c) 2016 SolarWinds, LLC.
2
- # All rights reserved.
1
+ # © 2023 SolarWinds Worldwide, LLC. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
4
+ #
5
+ # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
3
6
 
4
7
  begin
5
- if ENV.has_key?('SW_APM_ENABLED') && (ENV['SW_APM_ENABLED'] == 'false' || ENV['SW_APM_ENABLED'] == false)
8
+ if ENV.fetch('SW_APM_ENABLED', 'true') == 'false'
6
9
  SolarWindsAPM.logger.warn 'SW_APM_ENABLED environment variable detected and was set to false; SolarWindsAPM disabled'
7
10
  return
8
11
  end
@@ -53,7 +56,7 @@ begin
53
56
  require 'solarwinds_apm/otel_config'
54
57
  if ENV['SW_APM_AUTO_CONFIGURE'] == 'false'
55
58
  SolarWindsAPM.logger.warn "SolarWindsAPM warning: Ruby library is not initilaized.
56
- You may need to initialize Ruby library in application like the following:
59
+ You may need to initialize Ruby library in application like the following:
57
60
  SolarWindsAPM::OTelConfig.initialize_with_config do |config|
58
61
  ...
59
62
  end"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solarwinds_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.preV4
4
+ version: 6.0.0.preV5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maia Engeli
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-09-14 00:00:00.000000000 Z
14
+ date: 2023-11-06 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: opentelemetry-sdk
@@ -98,6 +98,7 @@ files:
98
98
  - lib/solarwinds_apm.rb
99
99
  - lib/solarwinds_apm/api.rb
100
100
  - lib/solarwinds_apm/api/current_trace_info.rb
101
+ - lib/solarwinds_apm/api/custom_metrics.rb
101
102
  - lib/solarwinds_apm/api/opentelemetry.rb
102
103
  - lib/solarwinds_apm/api/tracing.rb
103
104
  - lib/solarwinds_apm/api/transaction_name.rb
@@ -140,10 +141,10 @@ homepage: https://documentation.solarwinds.com/en/success_center/observability/c
140
141
  licenses:
141
142
  - Apache-2.0
142
143
  metadata:
143
- changelog_uri: https://github.com/solarwindscloud/solarwinds-apm-ruby/releases
144
+ changelog_uri: https://github.com/solarwinds/apm-ruby/releases
144
145
  documentation_uri: https://documentation.solarwinds.com/en/success_center/observability/default.htm#cshid=config-ruby-agent
145
146
  homepage_uri: https://documentation.solarwinds.com/en/success_center/observability/content/intro/landing-page.html
146
- source_code_uri: https://github.com/solarwindscloud/solarwinds-apm-ruby
147
+ source_code_uri: https://github.com/solarwinds/apm-ruby
147
148
  post_install_message:
148
149
  rdoc_options: []
149
150
  require_paths: