solarwinds_apm 6.0.0.preV4 → 6.0.0.prev6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/ext/oboe_metal/extconf.rb +4 -3
  3. data/ext/oboe_metal/lib/liboboe-1.0-aarch64.so.sha256 +1 -1
  4. data/ext/oboe_metal/lib/liboboe-1.0-alpine-aarch64.so.sha256 +1 -1
  5. data/ext/oboe_metal/lib/liboboe-1.0-alpine-x86_64.so.sha256 +1 -1
  6. data/ext/oboe_metal/lib/liboboe-1.0-x86_64.so.sha256 +1 -1
  7. data/ext/oboe_metal/src/VERSION +1 -1
  8. data/ext/oboe_metal/src/oboe.h +56 -13
  9. data/ext/oboe_metal/src/oboe_api.cpp +105 -6
  10. data/ext/oboe_metal/src/oboe_api.h +121 -2
  11. data/ext/oboe_metal/src/oboe_debug.h +4 -315
  12. data/ext/oboe_metal/src/oboe_swig_wrap.cc +2987 -549
  13. data/lib/oboe_metal.rb +5 -2
  14. data/lib/rails/generators/solarwinds_apm/install_generator.rb +5 -2
  15. data/lib/rails/generators/solarwinds_apm/templates/solarwinds_apm_initializer.rb +8 -4
  16. data/lib/solarwinds_apm/api/current_trace_info.rb +8 -7
  17. data/lib/solarwinds_apm/api/custom_metrics.rb +93 -0
  18. data/lib/solarwinds_apm/api/opentelemetry.rb +6 -0
  19. data/lib/solarwinds_apm/api/tracing.rb +32 -5
  20. data/lib/solarwinds_apm/api/transaction_name.rb +30 -14
  21. data/lib/solarwinds_apm/api.rb +7 -2
  22. data/lib/solarwinds_apm/base.rb +5 -14
  23. data/lib/solarwinds_apm/config.rb +58 -17
  24. data/lib/solarwinds_apm/constants.rb +6 -0
  25. data/lib/solarwinds_apm/logger.rb +5 -2
  26. data/lib/solarwinds_apm/noop/context.rb +5 -2
  27. data/lib/solarwinds_apm/noop/metadata.rb +5 -2
  28. data/lib/solarwinds_apm/oboe_init_options.rb +37 -19
  29. data/lib/solarwinds_apm/opentelemetry/solarwinds_exporter.rb +7 -2
  30. data/lib/solarwinds_apm/opentelemetry/solarwinds_processor.rb +10 -1
  31. data/lib/solarwinds_apm/opentelemetry/solarwinds_propagator.rb +6 -0
  32. data/lib/solarwinds_apm/opentelemetry/solarwinds_response_propagator.rb +6 -0
  33. data/lib/solarwinds_apm/opentelemetry/solarwinds_sampler.rb +8 -1
  34. data/lib/solarwinds_apm/opentelemetry.rb +6 -0
  35. data/lib/solarwinds_apm/otel_config.rb +18 -29
  36. data/lib/solarwinds_apm/support/logger_formatter.rb +6 -3
  37. data/lib/solarwinds_apm/support/logging_log_event.rb +5 -2
  38. data/lib/solarwinds_apm/support/lumberjack_formatter.rb +5 -2
  39. data/lib/solarwinds_apm/support/oboe_tracing_mode.rb +10 -4
  40. data/lib/solarwinds_apm/support/swomarginalia/README.md +1 -1
  41. data/lib/solarwinds_apm/support/swomarginalia/comment.rb +3 -3
  42. data/lib/solarwinds_apm/support/swomarginalia/load_swomarginalia.rb +6 -0
  43. data/lib/solarwinds_apm/support/swomarginalia/swomarginalia.rb +1 -1
  44. data/lib/solarwinds_apm/support/transaction_cache.rb +6 -0
  45. data/lib/solarwinds_apm/support/transaction_settings.rb +6 -7
  46. data/lib/solarwinds_apm/support/txn_name_manager.rb +6 -0
  47. data/lib/solarwinds_apm/support/utils.rb +6 -0
  48. data/lib/solarwinds_apm/support/x_trace_options.rb +5 -2
  49. data/lib/solarwinds_apm/support.rb +5 -3
  50. data/lib/solarwinds_apm/support_report.rb +6 -3
  51. data/lib/solarwinds_apm/thread_local.rb +5 -2
  52. data/lib/solarwinds_apm/version.rb +6 -3
  53. data/lib/solarwinds_apm.rb +9 -11
  54. metadata +6 -4
@@ -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
@@ -19,7 +22,7 @@ begin
19
22
  SolarWindsAPM::Config.load_config_file
20
23
  SolarWindsAPM.loaded = false
21
24
  begin
22
- if RUBY_PLATFORM =~ /linux/
25
+ if /linux/.match?(RUBY_PLATFORM)
23
26
  require_relative './libsolarwinds_apm.so'
24
27
  require 'solarwinds_apm/oboe_init_options'
25
28
  require_relative './oboe_metal' # initialize Reporter; sets SolarWindsAPM.loaded = true if successful
@@ -41,19 +44,13 @@ begin
41
44
  end
42
45
  end
43
46
 
44
- # Auto-start the Reporter unless we are running Unicorn on Heroku
45
- # In that case, we start the reporters after fork
46
- unless SolarWindsAPM.forking_webserver?
47
- SolarWindsAPM::Reporter.start if SolarWindsAPM.loaded
48
- end
49
-
50
47
  if SolarWindsAPM.loaded
51
48
  require 'solarwinds_apm/support'
52
49
  require 'solarwinds_apm/opentelemetry'
53
50
  require 'solarwinds_apm/otel_config'
54
51
  if ENV['SW_APM_AUTO_CONFIGURE'] == 'false'
55
52
  SolarWindsAPM.logger.warn "SolarWindsAPM warning: Ruby library is not initilaized.
56
- You may need to initialize Ruby library in application like the following:
53
+ You may need to initialize Ruby library in application like the following:
57
54
  SolarWindsAPM::OTelConfig.initialize_with_config do |config|
58
55
  ...
59
56
  end"
@@ -61,6 +58,7 @@ begin
61
58
  SolarWindsAPM::OTelConfig.initialize
62
59
  end
63
60
 
61
+ SolarWindsAPM::Reporter.start
64
62
  else
65
63
  SolarWindsAPM.logger.warn '=============================================================='
66
64
  SolarWindsAPM.logger.warn 'SolarWindsAPM not loaded. Tracing disabled.'
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.prev6
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: 2024-01-30 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,11 @@ 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
148
+ github_repo: https://github.com/solarwinds/apm-ruby.git
147
149
  post_install_message:
148
150
  rdoc_options: []
149
151
  require_paths: