appsignal 4.2.0 → 4.5.17

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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +443 -0
  3. data/README.md +0 -3
  4. data/Rakefile +1 -1
  5. data/appsignal.gemspec +2 -1
  6. data/build_matrix.yml +33 -0
  7. data/ext/agent.rb +27 -27
  8. data/ext/appsignal_extension.c +90 -73
  9. data/ext/base.rb +3 -1
  10. data/lib/appsignal/check_in/event.rb +55 -0
  11. data/lib/appsignal/check_in/scheduler.rb +8 -2
  12. data/lib/appsignal/check_in.rb +9 -8
  13. data/lib/appsignal/config.rb +36 -15
  14. data/lib/appsignal/custom_marker.rb +72 -0
  15. data/lib/appsignal/environment.rb +1 -0
  16. data/lib/appsignal/event_formatter/action_view/render_formatter.rb +4 -6
  17. data/lib/appsignal/event_formatter/view_component/render_formatter.rb +4 -6
  18. data/lib/appsignal/helpers/instrumentation.rb +5 -0
  19. data/lib/appsignal/hooks/active_job.rb +25 -5
  20. data/lib/appsignal/hooks/at_exit.rb +18 -4
  21. data/lib/appsignal/hooks/ownership.rb +44 -0
  22. data/lib/appsignal/hooks.rb +1 -0
  23. data/lib/appsignal/integrations/capistrano/appsignal.cap +4 -8
  24. data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +8 -11
  25. data/lib/appsignal/integrations/http.rb +2 -1
  26. data/lib/appsignal/integrations/ownership.rb +51 -0
  27. data/lib/appsignal/integrations/rake.rb +14 -2
  28. data/lib/appsignal/integrations/sidekiq.rb +14 -3
  29. data/lib/appsignal/internal_errors.rb +19 -0
  30. data/lib/appsignal/logger.rb +121 -69
  31. data/lib/appsignal/marker.rb +1 -1
  32. data/lib/appsignal/probes/sidekiq.rb +5 -1
  33. data/lib/appsignal/rack/body_wrapper.rb +1 -1
  34. data/lib/appsignal/rack/event_handler.rb +7 -5
  35. data/lib/appsignal/transaction.rb +91 -13
  36. data/lib/appsignal/version.rb +1 -1
  37. data/lib/appsignal.rb +82 -11
  38. data/resources/cacert.pem +164 -87
  39. metadata +8 -4
data/lib/appsignal.rb CHANGED
@@ -62,6 +62,19 @@ module Appsignal
62
62
  # @see start
63
63
  attr_writer :internal_logger
64
64
 
65
+ # Returns the error that was encountered while loading the `appsignal.rb`
66
+ # config file.
67
+ #
68
+ # It does not include any error that occurred while loading the
69
+ # `appsignal.yml` file.
70
+ #
71
+ # If the value is `nil`, no error was encountered or AppSignal wasn't
72
+ # started yet.
73
+ #
74
+ # @return [NilClass/Exception]
75
+ attr_reader :config_error
76
+ alias config_error? config_error
77
+
65
78
  # @api private
66
79
  def testing?
67
80
  false
@@ -120,8 +133,8 @@ module Appsignal
120
133
  _load_config!
121
134
  _start_logger
122
135
 
123
- if config.valid?
124
- if config.active?
136
+ if config.active_for_env?
137
+ if config.valid?
125
138
  @started = true
126
139
  internal_logger.info "Starting AppSignal #{Appsignal::VERSION} " \
127
140
  "(#{$PROGRAM_NAME}, Ruby #{RUBY_VERSION}, #{RUBY_PLATFORM})"
@@ -140,19 +153,25 @@ module Appsignal
140
153
  collect_environment_metadata
141
154
  @config.freeze
142
155
  else
143
- internal_logger.info("Not starting, not active for #{config.env}")
156
+ internal_logger.info("Not starting, no valid config for this environment")
144
157
  end
145
158
  else
146
- internal_logger.error("Not starting, no valid config for this environment")
159
+ internal_logger.info("Not starting, not active for #{config.env}")
147
160
  end
161
+ nil
148
162
  end
149
163
 
150
164
  # PRIVATE METHOD. DO NOT USE.
151
165
  #
152
- # @param env_var [String, NilClass] Used by diagnose CLI to pass through
166
+ # @param env_param [String, NilClass] Used by diagnose CLI to pass through
153
167
  # the environment CLI option value.
154
168
  # @api private
155
- def _load_config!(env_param = nil)
169
+ def _load_config!(env_param = nil, &block) # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
170
+ # Ensure it's not an empty string if it's a value
171
+ proper_env_param = env_param&.to_s&.strip
172
+ # Unset it if it's an empty string
173
+ proper_env_param = nil if proper_env_param&.empty?
174
+
156
175
  context = Appsignal::Config::Context.new(
157
176
  :env => Config.determine_env(env_param),
158
177
  :root_path => Config.determine_root_path
@@ -171,13 +190,33 @@ module Appsignal
171
190
  Appsignal::Utils::StdoutAndLoggerMessage.warning(message)
172
191
  else
173
192
  # Load it when no config is present
174
- load_dsl_config_file(context.dsl_config_file, env_param)
193
+ #
194
+ # We don't pass the `env_var` or `context.env` here so that the
195
+ # `Appsignal.configure` or `Appsignal.start` can figure out the
196
+ # environment themselves if it was not explicitly set.
197
+ # This way we prevent forcing an environment that's auto loaded on
198
+ # the to-be-loaded config file.
199
+ #
200
+ # The `(proper)_env_param` is only set when it's explicitly set,
201
+ # which means it needs to override any auto detected environment.
202
+ load_dsl_config_file(context.dsl_config_file, proper_env_param)
175
203
  end
176
204
  else
177
205
  # Load config if no config file was found and no config is present yet
178
206
  # This will load the config/appsignal.yml file automatically
179
207
  @config ||= Config.new(context.root_path, context.env)
180
208
  end
209
+
210
+ # Allow a block to be given to customize the config and override any
211
+ # loaded config before it's validated.
212
+ block.call(config) if block_given?
213
+
214
+ # Apply any config overrides after the user config has been merged
215
+ config&.apply_overrides
216
+
217
+ # Skip validation if not configured as active for this environment
218
+ return unless config.active_for_env?
219
+
181
220
  # Validate the config, if present
182
221
  config&.validate
183
222
  end
@@ -199,14 +238,15 @@ module Appsignal
199
238
  def stop(called_by = nil)
200
239
  Thread.new do
201
240
  if called_by
202
- internal_logger.debug("Stopping AppSignal (#{called_by})")
241
+ internal_logger.info("Stopping AppSignal (#{called_by})")
203
242
  else
204
- internal_logger.debug("Stopping AppSignal")
243
+ internal_logger.info("Stopping AppSignal")
205
244
  end
206
245
  Appsignal::Extension.stop
207
246
  Appsignal::Probes.stop
208
247
  Appsignal::CheckIn.stop
209
248
  end.join
249
+ nil
210
250
  end
211
251
 
212
252
  # Configure the AppSignal Ruby gem using a DSL.
@@ -311,14 +351,17 @@ module Appsignal
311
351
 
312
352
  yield config_dsl
313
353
  config.merge_dsl_options(config_dsl.dsl_options)
354
+ nil
314
355
  end
315
356
 
357
+ # @return [void]
316
358
  def forked
317
359
  return unless active?
318
360
 
319
361
  Appsignal._start_logger
320
362
  internal_logger.debug("Forked process, resubscribing and restarting extension")
321
363
  Appsignal::Extension.start
364
+ nil
322
365
  end
323
366
 
324
367
  # Load an AppSignal integration.
@@ -351,6 +394,7 @@ module Appsignal
351
394
  # @since 3.12.0
352
395
  def load(integration_name)
353
396
  Loaders.load(integration_name)
397
+ nil
354
398
  end
355
399
 
356
400
  # @api private
@@ -460,6 +504,31 @@ module Appsignal
460
504
  defined?(@dsl_config_file_loaded) ? true : false
461
505
  end
462
506
 
507
+ # Check if the AppSignal Ruby gem has started successfully.
508
+ #
509
+ # If it has not (yet) started or encountered an error in the
510
+ # `config/appsignal.rb` config file during start up that prevented it from
511
+ # starting, it will raise a {Appsignal::NotStartedError}.
512
+ #
513
+ # If there an error raised from the config file, it will include it as the
514
+ # error cause of the raised error.
515
+ #
516
+ # @raise [Appsignal::NotStartedError]
517
+ # @return [void]
518
+ def check_if_started!
519
+ return if started?
520
+
521
+ begin
522
+ raise config_error if config_error?
523
+ rescue
524
+ # Raise the NotStartedError and make the config error the error cause
525
+ raise NotStartedError, config_error
526
+ end
527
+
528
+ # Raise the NotStartedError as normal
529
+ raise NotStartedError
530
+ end
531
+
463
532
  private
464
533
 
465
534
  def params_match_loaded_config?(env_param, root_path_param)
@@ -485,7 +554,7 @@ module Appsignal
485
554
  @dsl_config_file_loaded = true
486
555
  require path
487
556
  rescue => error
488
- @config_file_error = error
557
+ @config_error = error
489
558
  message = "Not starting AppSignal because an error occurred while " \
490
559
  "loading the AppSignal config file.\n" \
491
560
  "File: #{path.inspect}\n" \
@@ -504,7 +573,7 @@ module Appsignal
504
573
  end
505
574
 
506
575
  # Disable on config file error
507
- config[:active] = false if defined?(@config_file_error)
576
+ config[:active] = false if defined?(@config_error)
508
577
 
509
578
  ENV.delete("_APPSIGNAL_CONFIG_FILE_CONTEXT")
510
579
  ENV.delete("_APPSIGNAL_CONFIG_FILE_ENV")
@@ -546,6 +615,7 @@ module Appsignal
546
615
  end
547
616
  end
548
617
 
618
+ require "appsignal/internal_errors"
549
619
  require "appsignal/loaders"
550
620
  require "appsignal/sample_data"
551
621
  require "appsignal/environment"
@@ -558,6 +628,7 @@ require "appsignal/event_formatter"
558
628
  require "appsignal/hooks"
559
629
  require "appsignal/probes"
560
630
  require "appsignal/marker"
631
+ require "appsignal/custom_marker"
561
632
  require "appsignal/garbage_collection"
562
633
  require "appsignal/rack"
563
634
  require "appsignal/rack/body_wrapper"
data/resources/cacert.pem CHANGED
@@ -1,7 +1,9 @@
1
1
  ##
2
2
  ## Bundle of CA Root Certificates
3
3
  ##
4
- ## Certificate data from Mozilla as of: Tue Dec 12 04:12:04 2023 GMT
4
+ ## Certificate data from Mozilla as of: Tue Dec 31 04:12:05 2024 GMT
5
+ ##
6
+ ## Find updated versions here: https://curl.se/docs/caextract.html
5
7
  ##
6
8
  ## This is a bundle of X.509 certificates of public Certificate Authorities
7
9
  ## (CA). These were automatically extracted from Mozilla's root certificates
@@ -14,7 +16,7 @@
14
16
  ## Just configure this file as the SSLCACertificateFile.
15
17
  ##
16
18
  ## Conversion done with mk-ca-bundle.pl version 1.29.
17
- ## SHA256: 1970dd65858925d68498d2356aea6d03f764422523c5887deca8ce3ba9e1f845
19
+ ## SHA256: c99d6d3f8d3d4e47719ba2b648992f5b58b150128d3aca3c05c566d8dc98e116
18
20
  ##
19
21
 
20
22
 
@@ -582,27 +584,6 @@ NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
582
584
  dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
583
585
  -----END CERTIFICATE-----
584
586
 
585
- SecureSign RootCA11
586
- ===================
587
- -----BEGIN CERTIFICATE-----
588
- MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
589
- SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
590
- b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
591
- KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
592
- cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
593
- TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
594
- wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
595
- g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
596
- O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
597
- bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
598
- t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
599
- OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
600
- bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
601
- Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
602
- y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
603
- lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
604
- -----END CERTIFICATE-----
605
-
606
587
  Microsec e-Szigno Root CA 2009
607
588
  ==============================
608
589
  -----BEGIN CERTIFICATE-----
@@ -2317,40 +2298,6 @@ hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB
2317
2298
  dBb9HxEGmpv0
2318
2299
  -----END CERTIFICATE-----
2319
2300
 
2320
- Entrust Root Certification Authority - G4
2321
- =========================================
2322
- -----BEGIN CERTIFICATE-----
2323
- MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV
2324
- BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu
2325
- bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1
2326
- dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1
2327
- dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT
2328
- AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
2329
- L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv
2330
- cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv
2331
- cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D
2332
- umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV
2333
- 3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds
2334
- 8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ
2335
- e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7
2336
- ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X
2337
- xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV
2338
- 7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
2339
- dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW
2340
- Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T
2341
- AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n
2342
- MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q
2343
- jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht
2344
- 7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK
2345
- YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt
2346
- jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+
2347
- m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW
2348
- RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA
2349
- JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G
2350
- +TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT
2351
- kcpG2om3PVODLAgfi49T3f+sHw==
2352
- -----END CERTIFICATE-----
2353
-
2354
2301
  Microsoft ECC Root Certificate Authority 2017
2355
2302
  =============================================
2356
2303
  -----BEGIN CERTIFICATE-----
@@ -3168,36 +3115,6 @@ AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8
3168
3115
  rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
3169
3116
  -----END CERTIFICATE-----
3170
3117
 
3171
- Security Communication RootCA3
3172
- ==============================
3173
- -----BEGIN CERTIFICATE-----
3174
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- XLVqAvO4g160a75BflcJdURQVc1aEWEhCmHCqYj9E7wtiS/NYeCVvsq1e+F7NGcLH7YMx3weGVPK
3185
- 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
- 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
- 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
- CBEF/VfR2ccCAwEAAaNCMEAwHQYDVR0OBBYEFGQUfPxYchamCik0FW8qy7z8r6irMA4GA1UdDwEB
3189
- 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
- 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
- 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
- H3/uHWnlt3Jxs/6lATWUVCvAUm2PVcTJ0rjLyjQIUYWg9by0F1jqClx6vWPGOi//lkkZhOpn2ASx
3193
- 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
- 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
- +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
- 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
- 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
- 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
3199
- -----END CERTIFICATE-----
3200
-
3201
3118
  Security Communication ECC RootCA1
3202
3119
  ==================================
3203
3120
  -----BEGIN CERTIFICATE-----
@@ -3532,3 +3449,163 @@ dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ
3532
3449
  iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN
3533
3450
  lM47ni3niAIi9G7oyOzWPPO5std3eqx7
3534
3451
  -----END CERTIFICATE-----
3452
+
3453
+ Telekom Security TLS ECC Root 2020
3454
+ ==================================
3455
+ -----BEGIN CERTIFICATE-----
3456
+ MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE
3457
+ RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl
3458
+ a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz
3459
+ NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg
3460
+ R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG
3461
+ SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1
3462
+ 2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC
3463
+ MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
3464
+ AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ
3465
+ Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU
3466
+ ga/sf+Rn27iQ7t0l
3467
+ -----END CERTIFICATE-----
3468
+
3469
+ Telekom Security TLS RSA Root 2023
3470
+ ==================================
3471
+ -----BEGIN CERTIFICATE-----
3472
+ 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
3498
+ -----END CERTIFICATE-----
3499
+
3500
+ FIRMAPROFESIONAL CA ROOT-A WEB
3501
+ ==============================
3502
+ -----BEGIN CERTIFICATE-----
3503
+ MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF
3504
+ UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4
3505
+ MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2
3506
+ WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h
3507
+ bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM
3508
+ IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6
3509
+ iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg
3510
+ st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD
3511
+ Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB
3512
+ /wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL
3513
+ cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ
3514
+ pYXFuXqUPoeovQA=
3515
+ -----END CERTIFICATE-----
3516
+
3517
+ TWCA CYBER Root CA
3518
+ ==================
3519
+ -----BEGIN CERTIFICATE-----
3520
+ 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
3545
+ -----END CERTIFICATE-----
3546
+
3547
+ SecureSign Root CA12
3548
+ ====================
3549
+ -----BEGIN CERTIFICATE-----
3550
+ MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQELBQAwUTELMAkG
3551
+ A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT
3552
+ ZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgwNTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJ
3553
+ BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU
3554
+ U2VjdXJlU2lnbiBSb290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3
3555
+ emhFKxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mtp7JIKwcc
3556
+ J/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zdJ1M3s6oYwlkm7Fsf0uZl
3557
+ fO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gurFzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBF
3558
+ EaCeVESE99g2zvVQR9wsMJvuwPWW0v4JhscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1Uef
3559
+ NzFJM3IFTQy2VYzxV4+Kh9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
3560
+ AQH/BAQDAgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsFAAOC
3561
+ AQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6LdmmQOmFxv3Y67ilQi
3562
+ LUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJmBClnW8Zt7vPemVV2zfrPIpyMpce
3563
+ mik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPS
3564
+ vWKErI4cqc1avTc7bgoitPQV55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhga
3565
+ aaI5gdka9at/yOPiZwud9AzqVN/Ssq+xIvEg37xEHA==
3566
+ -----END CERTIFICATE-----
3567
+
3568
+ SecureSign Root CA14
3569
+ ====================
3570
+ -----BEGIN CERTIFICATE-----
3571
+ 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
3596
+ -----END CERTIFICATE-----
3597
+
3598
+ SecureSign Root CA15
3599
+ ====================
3600
+ -----BEGIN CERTIFICATE-----
3601
+ MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMwUTELMAkGA1UE
3602
+ BhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRTZWN1
3603
+ cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMyNTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNV
3604
+ BAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2Vj
3605
+ dXJlU2lnbiBSb290IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5G
3606
+ dCx4wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSRZHX+AezB
3607
+ 2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
3608
+ AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J
3609
+ fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ
3610
+ SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4=
3611
+ -----END CERTIFICATE-----
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.5.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-11-13 00:00:00.000000000 Z
13
+ date: 2025-07-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: logger
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: 2.0.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: 2.0.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: pry
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -177,6 +177,7 @@ files:
177
177
  - lib/appsignal/cli/helpers.rb
178
178
  - lib/appsignal/cli/install.rb
179
179
  - lib/appsignal/config.rb
180
+ - lib/appsignal/custom_marker.rb
180
181
  - lib/appsignal/demo.rb
181
182
  - lib/appsignal/environment.rb
182
183
  - lib/appsignal/event_formatter.rb
@@ -210,6 +211,7 @@ files:
210
211
  - lib/appsignal/hooks/mongo_ruby_driver.rb
211
212
  - lib/appsignal/hooks/mri.rb
212
213
  - lib/appsignal/hooks/net_http.rb
214
+ - lib/appsignal/hooks/ownership.rb
213
215
  - lib/appsignal/hooks/passenger.rb
214
216
  - lib/appsignal/hooks/puma.rb
215
217
  - lib/appsignal/hooks/que.rb
@@ -234,6 +236,7 @@ files:
234
236
  - lib/appsignal/integrations/mongo_ruby_driver.rb
235
237
  - lib/appsignal/integrations/net_http.rb
236
238
  - lib/appsignal/integrations/object.rb
239
+ - lib/appsignal/integrations/ownership.rb
237
240
  - lib/appsignal/integrations/puma.rb
238
241
  - lib/appsignal/integrations/que.rb
239
242
  - lib/appsignal/integrations/railtie.rb
@@ -245,6 +248,7 @@ files:
245
248
  - lib/appsignal/integrations/sidekiq.rb
246
249
  - lib/appsignal/integrations/unicorn.rb
247
250
  - lib/appsignal/integrations/webmachine.rb
251
+ - lib/appsignal/internal_errors.rb
248
252
  - lib/appsignal/loaders.rb
249
253
  - lib/appsignal/loaders/grape.rb
250
254
  - lib/appsignal/loaders/hanami.rb