appsignal 4.5.5-java → 4.5.7-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +45 -0
 - data/ext/agent.rb +27 -27
 - data/lib/appsignal/config.rb +2 -0
 - data/lib/appsignal/internal_errors.rb +19 -0
 - data/lib/appsignal/logger.rb +11 -0
 - data/lib/appsignal/rack/event_handler.rb +2 -2
 - data/lib/appsignal/version.rb +1 -1
 - data/lib/appsignal.rb +48 -3
 - metadata +4 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 85e3e395accbb2ae5cea170f84c17dfae53462d914bb1ae426a14962d20bba76
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 9f62ae7ee6fd67935b079ece3d8c5ef827396b654b675754bcaa9a323ca8141e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 829f638dd0317234c2177f112139baa3ee889790191429f0f77e4b346cc4f39d177adab46d0d22b965278d365a314b14664389183f4734fe1bb0740951ab35c9
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d96563953abcb4614df3325b486ba23b6e25458d1649661a977e45ea06e24bec7bfa79f21295ed901d466313b3d8753f1d91d3585f20c166388b6006cef000cf
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,50 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # AppSignal for Ruby gem Changelog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## 4.5.7
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            _Published on 2025-03-20._
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ### Added
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            - Add the `Appsignal.config_error` and `Appsignal.config_error?` methods. This method contains any error that may have occurred while loading the `config/appsignal.rb` file. If it is `nil` no error occurred or `Appsignal.start` hasn't been called yet. The `Appsignal.config_error?` method is an alias for syntax sugar. (patch [0f3a7372](https://github.com/appsignal/appsignal-ruby/commit/0f3a73729306d96b630339ccf6e218318d1e2870))
         
     | 
| 
      
 10 
     | 
    
         
            +
            - Add the `check_if_started!` method. This method will raise an error if the AppSignal Ruby gem failed to start.
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              Call this method in your CI or on app boot if you wish to verify that AppSignal has started when your application does, and want the application to fail to start if AppSignal hasn't started.
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              For example, in this Rails initializer:
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              ```
         
     | 
| 
      
 17 
     | 
    
         
            +
              # config/initializers/appsignal.rb
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              Appsignal.check_if_started!
         
     | 
| 
      
 20 
     | 
    
         
            +
              ```
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              (patch [b41c9c99](https://github.com/appsignal/appsignal-ruby/commit/b41c9c991bdbcd64b7a04e9832b15ddacda7ae20))
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            ## 4.5.6
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            _Published on 2025-03-20._
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            ### Added
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            - Add the Logger `<<` method. This improves our compatibility with Ruby's Logger class implementation, making it usable in more scenarios. (patch [e09a78a4](https://github.com/appsignal/appsignal-ruby/commit/e09a78a425607852b5e12adf5c9ddb718811b09f))
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            ### Changed
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            - Explicitly return `nil` from public methods with no usable return value. We want to avoid the situation where `Appsignal.start` happens to return `true` and it is thought to mean that the gem started successfully.
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
              Methods updated:
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
              - `Appsignal.start`
         
     | 
| 
      
 39 
     | 
    
         
            +
              - `Appsignal.stop`
         
     | 
| 
      
 40 
     | 
    
         
            +
              - `Appsignal.configure`
         
     | 
| 
      
 41 
     | 
    
         
            +
              - `Appsignal.forked`
         
     | 
| 
      
 42 
     | 
    
         
            +
              - `Appsignal.load`
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
              (patch [93c304ee](https://github.com/appsignal/appsignal-ruby/commit/93c304eecd80992648d9e836a52e28c4e78958ee))
         
     | 
| 
      
 45 
     | 
    
         
            +
            - Differentiate between `process_request.rack` events. Add the callback that triggered the event in the event title for debugging purposes. (patch [4393b2fa](https://github.com/appsignal/appsignal-ruby/commit/4393b2faeac6d8be6390eef158b3cda133b99915))
         
     | 
| 
      
 46 
     | 
    
         
            +
            - Improve the log message for the uneven timestack error. This will help the AppSignal team debug issues where events get closed when all events are already closed. (patch [d2d4863f](https://github.com/appsignal/appsignal-ruby/commit/d2d4863fc8421eabb4c88e945bb24243a56535d3))
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       3 
48 
     | 
    
         
             
            ## 4.5.5
         
     | 
| 
       4 
49 
     | 
    
         | 
| 
       5 
50 
     | 
    
         
             
            _Published on 2025-03-14._
         
     | 
    
        data/ext/agent.rb
    CHANGED
    
    | 
         @@ -6,7 +6,7 @@ 
     | 
|
| 
       6 
6 
     | 
    
         
             
            # Modifications to this file will be overwritten with the next agent release.
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            APPSIGNAL_AGENT_CONFIG = {
         
     | 
| 
       9 
     | 
    
         
            -
              "version" => "0.36. 
     | 
| 
      
 9 
     | 
    
         
            +
              "version" => "0.36.3",
         
     | 
| 
       10 
10 
     | 
    
         
             
              "mirrors" => [
         
     | 
| 
       11 
11 
     | 
    
         
             
                "https://d135dj0rjqvssy.cloudfront.net",
         
     | 
| 
       12 
12 
     | 
    
         
             
                "https://appsignal-agent-releases.global.ssl.fastly.net"
         
     | 
| 
         @@ -14,131 +14,131 @@ APPSIGNAL_AGENT_CONFIG = { 
     | 
|
| 
       14 
14 
     | 
    
         
             
              "triples" => {
         
     | 
| 
       15 
15 
     | 
    
         
             
                "x86_64-darwin" => {
         
     | 
| 
       16 
16 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       17 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 17 
     | 
    
         
            +
                    "checksum" => "ed3454688e7cd976aec81a7826900027ce6508f790e7f53c97484e40c128bd36",
         
     | 
| 
       18 
18 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
         
     | 
| 
       19 
19 
     | 
    
         
             
                  },
         
     | 
| 
       20 
20 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       21 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 21 
     | 
    
         
            +
                    "checksum" => "b559c97425ffef908258a5d2ea67477e364be90dc8e28b5747776c340c7b8c65",
         
     | 
| 
       22 
22 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
         
     | 
| 
       23 
23 
     | 
    
         
             
                  }
         
     | 
| 
       24 
24 
     | 
    
         
             
                },
         
     | 
| 
       25 
25 
     | 
    
         
             
                "universal-darwin" => {
         
     | 
| 
       26 
26 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       27 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 27 
     | 
    
         
            +
                    "checksum" => "ed3454688e7cd976aec81a7826900027ce6508f790e7f53c97484e40c128bd36",
         
     | 
| 
       28 
28 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
         
     | 
| 
       29 
29 
     | 
    
         
             
                  },
         
     | 
| 
       30 
30 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       31 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 31 
     | 
    
         
            +
                    "checksum" => "b559c97425ffef908258a5d2ea67477e364be90dc8e28b5747776c340c7b8c65",
         
     | 
| 
       32 
32 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
         
     | 
| 
       33 
33 
     | 
    
         
             
                  }
         
     | 
| 
       34 
34 
     | 
    
         
             
                },
         
     | 
| 
       35 
35 
     | 
    
         
             
                "aarch64-darwin" => {
         
     | 
| 
       36 
36 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       37 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 37 
     | 
    
         
            +
                    "checksum" => "43f66e1da26e9b15050392105868f8c99e28e89d7831a0e09d8d8b54abaa24d2",
         
     | 
| 
       38 
38 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
         
     | 
| 
       39 
39 
     | 
    
         
             
                  },
         
     | 
| 
       40 
40 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       41 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 41 
     | 
    
         
            +
                    "checksum" => "f6d9d48fa91873ffd7f54af94bb463c266bbca9d86f2ec4253b43b7290f6f479",
         
     | 
| 
       42 
42 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
         
     | 
| 
       43 
43 
     | 
    
         
             
                  }
         
     | 
| 
       44 
44 
     | 
    
         
             
                },
         
     | 
| 
       45 
45 
     | 
    
         
             
                "arm64-darwin" => {
         
     | 
| 
       46 
46 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       47 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 47 
     | 
    
         
            +
                    "checksum" => "43f66e1da26e9b15050392105868f8c99e28e89d7831a0e09d8d8b54abaa24d2",
         
     | 
| 
       48 
48 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
         
     | 
| 
       49 
49 
     | 
    
         
             
                  },
         
     | 
| 
       50 
50 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       51 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 51 
     | 
    
         
            +
                    "checksum" => "f6d9d48fa91873ffd7f54af94bb463c266bbca9d86f2ec4253b43b7290f6f479",
         
     | 
| 
       52 
52 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
         
     | 
| 
       53 
53 
     | 
    
         
             
                  }
         
     | 
| 
       54 
54 
     | 
    
         
             
                },
         
     | 
| 
       55 
55 
     | 
    
         
             
                "arm-darwin" => {
         
     | 
| 
       56 
56 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       57 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 57 
     | 
    
         
            +
                    "checksum" => "43f66e1da26e9b15050392105868f8c99e28e89d7831a0e09d8d8b54abaa24d2",
         
     | 
| 
       58 
58 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
         
     | 
| 
       59 
59 
     | 
    
         
             
                  },
         
     | 
| 
       60 
60 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       61 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 61 
     | 
    
         
            +
                    "checksum" => "f6d9d48fa91873ffd7f54af94bb463c266bbca9d86f2ec4253b43b7290f6f479",
         
     | 
| 
       62 
62 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
         
     | 
| 
       63 
63 
     | 
    
         
             
                  }
         
     | 
| 
       64 
64 
     | 
    
         
             
                },
         
     | 
| 
       65 
65 
     | 
    
         
             
                "aarch64-linux" => {
         
     | 
| 
       66 
66 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       67 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 67 
     | 
    
         
            +
                    "checksum" => "287caad6b86b5d2bfe36ae87179d8f587e0cb76c80cdf4f3300b32e37553d9cb",
         
     | 
| 
       68 
68 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-linux-all-static.tar.gz"
         
     | 
| 
       69 
69 
     | 
    
         
             
                  },
         
     | 
| 
       70 
70 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       71 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 71 
     | 
    
         
            +
                    "checksum" => "6db055791a2b588edb4394afc2978309e4fea8ac5c3b14cd3b25913b6fc183c3",
         
     | 
| 
       72 
72 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-linux-all-dynamic.tar.gz"
         
     | 
| 
       73 
73 
     | 
    
         
             
                  }
         
     | 
| 
       74 
74 
     | 
    
         
             
                },
         
     | 
| 
       75 
75 
     | 
    
         
             
                "i686-linux" => {
         
     | 
| 
       76 
76 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       77 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 77 
     | 
    
         
            +
                    "checksum" => "816ca2ec568680ec8e44ee8dfa1a014062c4a8969883ddb4533610489eb689b0",
         
     | 
| 
       78 
78 
     | 
    
         
             
                    "filename" => "appsignal-i686-linux-all-static.tar.gz"
         
     | 
| 
       79 
79 
     | 
    
         
             
                  },
         
     | 
| 
       80 
80 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       81 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 81 
     | 
    
         
            +
                    "checksum" => "a2f5e885812510a77a36c0044150e321a3cca1354310d4b9be6f0ef7971c93e2",
         
     | 
| 
       82 
82 
     | 
    
         
             
                    "filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  }
         
     | 
| 
       84 
84 
     | 
    
         
             
                },
         
     | 
| 
       85 
85 
     | 
    
         
             
                "x86-linux" => {
         
     | 
| 
       86 
86 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       87 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 87 
     | 
    
         
            +
                    "checksum" => "816ca2ec568680ec8e44ee8dfa1a014062c4a8969883ddb4533610489eb689b0",
         
     | 
| 
       88 
88 
     | 
    
         
             
                    "filename" => "appsignal-i686-linux-all-static.tar.gz"
         
     | 
| 
       89 
89 
     | 
    
         
             
                  },
         
     | 
| 
       90 
90 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       91 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 91 
     | 
    
         
            +
                    "checksum" => "a2f5e885812510a77a36c0044150e321a3cca1354310d4b9be6f0ef7971c93e2",
         
     | 
| 
       92 
92 
     | 
    
         
             
                    "filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
         
     | 
| 
       93 
93 
     | 
    
         
             
                  }
         
     | 
| 
       94 
94 
     | 
    
         
             
                },
         
     | 
| 
       95 
95 
     | 
    
         
             
                "x86_64-linux" => {
         
     | 
| 
       96 
96 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       97 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 97 
     | 
    
         
            +
                    "checksum" => "6b48d90f89a3e687e440147d18717913857409fff66022b29a4107379f1d0903",
         
     | 
| 
       98 
98 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-linux-all-static.tar.gz"
         
     | 
| 
       99 
99 
     | 
    
         
             
                  },
         
     | 
| 
       100 
100 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       101 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 101 
     | 
    
         
            +
                    "checksum" => "141cc47e66c18782a9c6c7d175b54e681034f6f39b6e871d5e60160f5d1a1f3e",
         
     | 
| 
       102 
102 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-linux-all-dynamic.tar.gz"
         
     | 
| 
       103 
103 
     | 
    
         
             
                  }
         
     | 
| 
       104 
104 
     | 
    
         
             
                },
         
     | 
| 
       105 
105 
     | 
    
         
             
                "x86_64-linux-musl" => {
         
     | 
| 
       106 
106 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       107 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 107 
     | 
    
         
            +
                    "checksum" => "9c74fbfa5bdef7df3d4fc6f8da73635b351c71b8d6e4c1ca9916b2f3dae0d7e7",
         
     | 
| 
       108 
108 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
         
     | 
| 
       109 
109 
     | 
    
         
             
                  },
         
     | 
| 
       110 
110 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       111 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 111 
     | 
    
         
            +
                    "checksum" => "576853c59aab8f7542e9bb9a612df626f6b56e78d1ce7c6fc8c725db4417a4a1",
         
     | 
| 
       112 
112 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-linux-musl-all-dynamic.tar.gz"
         
     | 
| 
       113 
113 
     | 
    
         
             
                  }
         
     | 
| 
       114 
114 
     | 
    
         
             
                },
         
     | 
| 
       115 
115 
     | 
    
         
             
                "aarch64-linux-musl" => {
         
     | 
| 
       116 
116 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       117 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 117 
     | 
    
         
            +
                    "checksum" => "7bbbbbf58db496cce04f68d40e3077cf382196e77e1b6a2ad58dd0e32442a828",
         
     | 
| 
       118 
118 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
         
     | 
| 
       119 
119 
     | 
    
         
             
                  },
         
     | 
| 
       120 
120 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       121 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 121 
     | 
    
         
            +
                    "checksum" => "6f12971462b0dbd4a4f6d8987a96fd25538e35e0c783b3afbe2317a866073d7a",
         
     | 
| 
       122 
122 
     | 
    
         
             
                    "filename" => "appsignal-aarch64-linux-musl-all-dynamic.tar.gz"
         
     | 
| 
       123 
123 
     | 
    
         
             
                  }
         
     | 
| 
       124 
124 
     | 
    
         
             
                },
         
     | 
| 
       125 
125 
     | 
    
         
             
                "x86_64-freebsd" => {
         
     | 
| 
       126 
126 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       127 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 127 
     | 
    
         
            +
                    "checksum" => "a3f0c1e66e1e37a5f153a6dcb4c8eae63a038d54f838a358eabcd5db5c11b02f",
         
     | 
| 
       128 
128 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
         
     | 
| 
       129 
129 
     | 
    
         
             
                  },
         
     | 
| 
       130 
130 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       131 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 131 
     | 
    
         
            +
                    "checksum" => "a141eaa327e77e3b1b9fb34798aff103f9098b1b4aed20e68e9c505aae645129",
         
     | 
| 
       132 
132 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
         
     | 
| 
       133 
133 
     | 
    
         
             
                  }
         
     | 
| 
       134 
134 
     | 
    
         
             
                },
         
     | 
| 
       135 
135 
     | 
    
         
             
                "amd64-freebsd" => {
         
     | 
| 
       136 
136 
     | 
    
         
             
                  "static" => {
         
     | 
| 
       137 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 137 
     | 
    
         
            +
                    "checksum" => "a3f0c1e66e1e37a5f153a6dcb4c8eae63a038d54f838a358eabcd5db5c11b02f",
         
     | 
| 
       138 
138 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
         
     | 
| 
       139 
139 
     | 
    
         
             
                  },
         
     | 
| 
       140 
140 
     | 
    
         
             
                  "dynamic" => {
         
     | 
| 
       141 
     | 
    
         
            -
                    "checksum" => " 
     | 
| 
      
 141 
     | 
    
         
            +
                    "checksum" => "a141eaa327e77e3b1b9fb34798aff103f9098b1b4aed20e68e9c505aae645129",
         
     | 
| 
       142 
142 
     | 
    
         
             
                    "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
         
     | 
| 
       143 
143 
     | 
    
         
             
                  }
         
     | 
| 
       144 
144 
     | 
    
         
             
                }
         
     | 
    
        data/lib/appsignal/config.rb
    CHANGED
    
    | 
         @@ -442,6 +442,7 @@ module Appsignal 
     | 
|
| 
       442 
442 
     | 
    
         
             
                  merge(options)
         
     | 
| 
       443 
443 
     | 
    
         
             
                end
         
     | 
| 
       444 
444 
     | 
    
         | 
| 
      
 445 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
       445 
446 
     | 
    
         
             
                # @api private
         
     | 
| 
       446 
447 
     | 
    
         
             
                def validate
         
     | 
| 
       447 
448 
     | 
    
         
             
                  # Apply any overrides for invalid settings.
         
     | 
| 
         @@ -472,6 +473,7 @@ module Appsignal 
     | 
|
| 
       472 
473 
     | 
    
         
             
                # of the Ruby app.
         
     | 
| 
       473 
474 
     | 
    
         
             
                #
         
     | 
| 
       474 
475 
     | 
    
         
             
                # @api private
         
     | 
| 
      
 476 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
       475 
477 
     | 
    
         
             
                # @since 4.0.0
         
     | 
| 
       476 
478 
     | 
    
         
             
                def freeze
         
     | 
| 
       477 
479 
     | 
    
         
             
                  super
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Appsignal
         
     | 
| 
      
 4 
     | 
    
         
            +
              # @api private
         
     | 
| 
      
 5 
     | 
    
         
            +
              class InternalError < StandardError; end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              # @api private
         
     | 
| 
      
 8 
     | 
    
         
            +
              class NotStartedError < InternalError
         
     | 
| 
      
 9 
     | 
    
         
            +
                MESSAGE = <<~MESSAGE
         
     | 
| 
      
 10 
     | 
    
         
            +
                  The AppSignal Ruby gem was not started!
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                  This error was raised by calling `Appsignal.check_if_started!`
         
     | 
| 
      
 13 
     | 
    
         
            +
                MESSAGE
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                def message
         
     | 
| 
      
 16 
     | 
    
         
            +
                  MESSAGE
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/appsignal/logger.rb
    CHANGED
    
    | 
         @@ -159,6 +159,17 @@ module Appsignal 
     | 
|
| 
       159 
159 
     | 
    
         
             
                  add_with_attributes(FATAL, message, @group, attributes)
         
     | 
| 
       160 
160 
     | 
    
         
             
                end
         
     | 
| 
       161 
161 
     | 
    
         | 
| 
      
 162 
     | 
    
         
            +
                # Log an info level message
         
     | 
| 
      
 163 
     | 
    
         
            +
                #
         
     | 
| 
      
 164 
     | 
    
         
            +
                # Returns the number of characters written.
         
     | 
| 
      
 165 
     | 
    
         
            +
                #
         
     | 
| 
      
 166 
     | 
    
         
            +
                # @param message Message to log
         
     | 
| 
      
 167 
     | 
    
         
            +
                # @return [Integer]
         
     | 
| 
      
 168 
     | 
    
         
            +
                def <<(message)
         
     | 
| 
      
 169 
     | 
    
         
            +
                  add(Logger::INFO, message)
         
     | 
| 
      
 170 
     | 
    
         
            +
                  message.length
         
     | 
| 
      
 171 
     | 
    
         
            +
                end
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
       162 
173 
     | 
    
         
             
                # When using ActiveSupport::TaggedLogging without the broadcast feature,
         
     | 
| 
       163 
174 
     | 
    
         
             
                # the passed logger is required to respond to the `silence` method.
         
     | 
| 
       164 
175 
     | 
    
         
             
                #
         
     | 
| 
         @@ -68,7 +68,7 @@ module Appsignal 
     | 
|
| 
       68 
68 
     | 
    
         | 
| 
       69 
69 
     | 
    
         
             
                        Appsignal::Rack::EventHandler
         
     | 
| 
       70 
70 
     | 
    
         
             
                          .safe_execution("Appsignal::Rack::EventHandler's after_reply") do
         
     | 
| 
       71 
     | 
    
         
            -
                          transaction.finish_event("process_request.rack", "", "")
         
     | 
| 
      
 71 
     | 
    
         
            +
                          transaction.finish_event("process_request.rack", "callback: after_reply", "")
         
     | 
| 
       72 
72 
     | 
    
         
             
                          queue_start = Appsignal::Rack::Utils.queue_start_from(request.env)
         
     | 
| 
       73 
73 
     | 
    
         
             
                          transaction.set_queue_start(queue_start) if queue_start
         
     | 
| 
       74 
74 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -111,7 +111,7 @@ module Appsignal 
     | 
|
| 
       111 
111 
     | 
    
         
             
                    return unless transaction
         
     | 
| 
       112 
112 
     | 
    
         | 
| 
       113 
113 
     | 
    
         
             
                    self.class.safe_execution("Appsignal::Rack::EventHandler#on_finish") do
         
     | 
| 
       114 
     | 
    
         
            -
                      transaction.finish_event("process_request.rack", "", "")
         
     | 
| 
      
 114 
     | 
    
         
            +
                      transaction.finish_event("process_request.rack", "callback: on_finish", "")
         
     | 
| 
       115 
115 
     | 
    
         
             
                      transaction.add_params_if_nil { request.params }
         
     | 
| 
       116 
116 
     | 
    
         
             
                      transaction.add_headers_if_nil { request.env }
         
     | 
| 
       117 
117 
     | 
    
         
             
                      transaction.add_session_data_if_nil do
         
     | 
    
        data/lib/appsignal/version.rb
    CHANGED
    
    
    
        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
         
     | 
| 
         @@ -145,11 +158,12 @@ module Appsignal 
     | 
|
| 
       145 
158 
     | 
    
         
             
                  else
         
     | 
| 
       146 
159 
     | 
    
         
             
                    internal_logger.error("Not starting, no valid config for this environment")
         
     | 
| 
       147 
160 
     | 
    
         
             
                  end
         
     | 
| 
      
 161 
     | 
    
         
            +
                  nil
         
     | 
| 
       148 
162 
     | 
    
         
             
                end
         
     | 
| 
       149 
163 
     | 
    
         | 
| 
       150 
164 
     | 
    
         
             
                # PRIVATE METHOD. DO NOT USE.
         
     | 
| 
       151 
165 
     | 
    
         
             
                #
         
     | 
| 
       152 
     | 
    
         
            -
                # @param  
     | 
| 
      
 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 
169 
     | 
    
         
             
                def _load_config!(env_param = nil, &block)
         
     | 
| 
         @@ -224,6 +238,7 @@ module Appsignal 
     | 
|
| 
       224 
238 
     | 
    
         
             
                    Appsignal::Probes.stop
         
     | 
| 
       225 
239 
     | 
    
         
             
                    Appsignal::CheckIn.stop
         
     | 
| 
       226 
240 
     | 
    
         
             
                  end.join
         
     | 
| 
      
 241 
     | 
    
         
            +
                  nil
         
     | 
| 
       227 
242 
     | 
    
         
             
                end
         
     | 
| 
       228 
243 
     | 
    
         | 
| 
       229 
244 
     | 
    
         
             
                # Configure the AppSignal Ruby gem using a DSL.
         
     | 
| 
         @@ -328,14 +343,17 @@ module Appsignal 
     | 
|
| 
       328 
343 
     | 
    
         | 
| 
       329 
344 
     | 
    
         
             
                  yield config_dsl
         
     | 
| 
       330 
345 
     | 
    
         
             
                  config.merge_dsl_options(config_dsl.dsl_options)
         
     | 
| 
      
 346 
     | 
    
         
            +
                  nil
         
     | 
| 
       331 
347 
     | 
    
         
             
                end
         
     | 
| 
       332 
348 
     | 
    
         | 
| 
      
 349 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
       333 
350 
     | 
    
         
             
                def forked
         
     | 
| 
       334 
351 
     | 
    
         
             
                  return unless active?
         
     | 
| 
       335 
352 
     | 
    
         | 
| 
       336 
353 
     | 
    
         
             
                  Appsignal._start_logger
         
     | 
| 
       337 
354 
     | 
    
         
             
                  internal_logger.debug("Forked process, resubscribing and restarting extension")
         
     | 
| 
       338 
355 
     | 
    
         
             
                  Appsignal::Extension.start
         
     | 
| 
      
 356 
     | 
    
         
            +
                  nil
         
     | 
| 
       339 
357 
     | 
    
         
             
                end
         
     | 
| 
       340 
358 
     | 
    
         | 
| 
       341 
359 
     | 
    
         
             
                # Load an AppSignal integration.
         
     | 
| 
         @@ -368,6 +386,7 @@ module Appsignal 
     | 
|
| 
       368 
386 
     | 
    
         
             
                # @since 3.12.0
         
     | 
| 
       369 
387 
     | 
    
         
             
                def load(integration_name)
         
     | 
| 
       370 
388 
     | 
    
         
             
                  Loaders.load(integration_name)
         
     | 
| 
      
 389 
     | 
    
         
            +
                  nil
         
     | 
| 
       371 
390 
     | 
    
         
             
                end
         
     | 
| 
       372 
391 
     | 
    
         | 
| 
       373 
392 
     | 
    
         
             
                # @api private
         
     | 
| 
         @@ -477,6 +496,31 @@ module Appsignal 
     | 
|
| 
       477 
496 
     | 
    
         
             
                  defined?(@dsl_config_file_loaded) ? true : false
         
     | 
| 
       478 
497 
     | 
    
         
             
                end
         
     | 
| 
       479 
498 
     | 
    
         | 
| 
      
 499 
     | 
    
         
            +
                # Check if the AppSignal Ruby gem has started successfully.
         
     | 
| 
      
 500 
     | 
    
         
            +
                #
         
     | 
| 
      
 501 
     | 
    
         
            +
                # If it has not (yet) started or encountered an error in the
         
     | 
| 
      
 502 
     | 
    
         
            +
                # `config/appsignal.rb` config file during start up that prevented it from
         
     | 
| 
      
 503 
     | 
    
         
            +
                # starting, it will raise a {Appsignal::NotStartedError}.
         
     | 
| 
      
 504 
     | 
    
         
            +
                #
         
     | 
| 
      
 505 
     | 
    
         
            +
                # If there an error raised from the config file, it will include it as the
         
     | 
| 
      
 506 
     | 
    
         
            +
                # error cause of the raised error.
         
     | 
| 
      
 507 
     | 
    
         
            +
                #
         
     | 
| 
      
 508 
     | 
    
         
            +
                # @raise [Appsignal::NotStartedError]
         
     | 
| 
      
 509 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
      
 510 
     | 
    
         
            +
                def check_if_started!
         
     | 
| 
      
 511 
     | 
    
         
            +
                  return if started?
         
     | 
| 
      
 512 
     | 
    
         
            +
             
     | 
| 
      
 513 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 514 
     | 
    
         
            +
                    raise config_error if config_error?
         
     | 
| 
      
 515 
     | 
    
         
            +
                  rescue
         
     | 
| 
      
 516 
     | 
    
         
            +
                    # Raise the NotStartedError and make the config error the error cause
         
     | 
| 
      
 517 
     | 
    
         
            +
                    raise NotStartedError, config_error
         
     | 
| 
      
 518 
     | 
    
         
            +
                  end
         
     | 
| 
      
 519 
     | 
    
         
            +
             
     | 
| 
      
 520 
     | 
    
         
            +
                  # Raise the NotStartedError as normal
         
     | 
| 
      
 521 
     | 
    
         
            +
                  raise NotStartedError
         
     | 
| 
      
 522 
     | 
    
         
            +
                end
         
     | 
| 
      
 523 
     | 
    
         
            +
             
     | 
| 
       480 
524 
     | 
    
         
             
                private
         
     | 
| 
       481 
525 
     | 
    
         | 
| 
       482 
526 
     | 
    
         
             
                def params_match_loaded_config?(env_param, root_path_param)
         
     | 
| 
         @@ -502,7 +546,7 @@ module Appsignal 
     | 
|
| 
       502 
546 
     | 
    
         
             
                    @dsl_config_file_loaded = true
         
     | 
| 
       503 
547 
     | 
    
         
             
                    require path
         
     | 
| 
       504 
548 
     | 
    
         
             
                  rescue => error
         
     | 
| 
       505 
     | 
    
         
            -
                    @ 
     | 
| 
      
 549 
     | 
    
         
            +
                    @config_error = error
         
     | 
| 
       506 
550 
     | 
    
         
             
                    message = "Not starting AppSignal because an error occurred while " \
         
     | 
| 
       507 
551 
     | 
    
         
             
                      "loading the AppSignal config file.\n" \
         
     | 
| 
       508 
552 
     | 
    
         
             
                      "File: #{path.inspect}\n" \
         
     | 
| 
         @@ -521,7 +565,7 @@ module Appsignal 
     | 
|
| 
       521 
565 
     | 
    
         
             
                    end
         
     | 
| 
       522 
566 
     | 
    
         | 
| 
       523 
567 
     | 
    
         
             
                    # Disable on config file error
         
     | 
| 
       524 
     | 
    
         
            -
                    config[:active] = false if defined?(@ 
     | 
| 
      
 568 
     | 
    
         
            +
                    config[:active] = false if defined?(@config_error)
         
     | 
| 
       525 
569 
     | 
    
         | 
| 
       526 
570 
     | 
    
         
             
                    ENV.delete("_APPSIGNAL_CONFIG_FILE_CONTEXT")
         
     | 
| 
       527 
571 
     | 
    
         
             
                    ENV.delete("_APPSIGNAL_CONFIG_FILE_ENV")
         
     | 
| 
         @@ -563,6 +607,7 @@ module Appsignal 
     | 
|
| 
       563 
607 
     | 
    
         
             
              end
         
     | 
| 
       564 
608 
     | 
    
         
             
            end
         
     | 
| 
       565 
609 
     | 
    
         | 
| 
      
 610 
     | 
    
         
            +
            require "appsignal/internal_errors"
         
     | 
| 
       566 
611 
     | 
    
         
             
            require "appsignal/loaders"
         
     | 
| 
       567 
612 
     | 
    
         
             
            require "appsignal/sample_data"
         
     | 
| 
       568 
613 
     | 
    
         
             
            require "appsignal/environment"
         
     | 
    
        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.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.5.7
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: java
         
     | 
| 
       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: 2025-03- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2025-03-20 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: logger
         
     | 
| 
         @@ -262,6 +262,7 @@ files: 
     | 
|
| 
       262 
262 
     | 
    
         
             
            - lib/appsignal/integrations/sidekiq.rb
         
     | 
| 
       263 
263 
     | 
    
         
             
            - lib/appsignal/integrations/unicorn.rb
         
     | 
| 
       264 
264 
     | 
    
         
             
            - lib/appsignal/integrations/webmachine.rb
         
     | 
| 
      
 265 
     | 
    
         
            +
            - lib/appsignal/internal_errors.rb
         
     | 
| 
       265 
266 
     | 
    
         
             
            - lib/appsignal/loaders.rb
         
     | 
| 
       266 
267 
     | 
    
         
             
            - lib/appsignal/loaders/grape.rb
         
     | 
| 
       267 
268 
     | 
    
         
             
            - lib/appsignal/loaders/hanami.rb
         
     | 
| 
         @@ -330,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       330 
331 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       331 
332 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       332 
333 
     | 
    
         
             
            requirements: []
         
     | 
| 
       333 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 334 
     | 
    
         
            +
            rubygems_version: 3.5.23
         
     | 
| 
       334 
335 
     | 
    
         
             
            signing_key:
         
     | 
| 
       335 
336 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       336 
337 
     | 
    
         
             
            summary: Logs performance and exception data from your app to appsignal.com
         
     |