mindscapehq / heroku-buildpack-raygun-apm Goto Github PK
View Code? Open in Web Editor NEWHeroku buildpack source for Raygun APM
Home Page: https://raygun.com/platform/apm
License: Apache License 2.0
Heroku buildpack source for Raygun APM
Home Page: https://raygun.com/platform/apm
License: Apache License 2.0
Background:
Once the Raygun APM is introduced, we start to see errors arising from the Raygun APM (https://rubygems.org/gems/raygun-apm/versions/1.0.77-x86-mingw32).
/app/vendor/ruby-2.6.3/lib/ruby/2.6.0/uri/rfc3986_parser.rb:119 convert_to_uri
/app/vendor/ruby-2.6.3/lib/ruby/2.6.0/uri/generic.rb:1100 merge
/app/vendor/ruby-2.6.3/lib/ruby/2.6.0/uri/rfc3986_parser.rb:89 inject
/app/vendor/ruby-2.6.3/lib/ruby/2.6.0/uri/rfc3986_parser.rb:89 join
/app/vendor/ruby-2.6.3/lib/ruby/2.6.0/uri/common.rb:271 join
/app/vendor/bundle/ruby/2.6.0/gems/raygun-apm-1.0.77-x86_64-linux/lib/raygun/apm/hooks/httpclient.rb:14 do_request
/app/vendor/bundle/ruby/2.6.0/gems/httpclient-2.8.3/lib/httpclient.rb:856 request
/app/vendor/bundle/ruby/2.6.0/gems/scout_apm-2.5.1/lib/scout_apm/instruments/http_client.rb:37 block in request_with_scout_instruments
/app/vendor/bundle/ruby/2.6.0/gems/scout_apm-2.5.1/lib/scout_apm/tracer.rb:34 instrument
/app/vendor/bundle/ruby/2.6.0/gems/scout_apm-2.5.1/lib/scout_apm/tracer.rb:44 instrument
/app/vendor/bundle/ruby/2.6.0/gems/scout_apm-2.5.1/lib/scout_apm/instruments/http_client.rb:36 request_with_scout_instruments
/app/vendor/bundle/ruby/2.6.0/gems/httpclient-2.8.3/lib/httpclient.rb:765 post
/app/vendor/bundle/ruby/2.6.0/gems/boxr-1.14.0/lib/boxr/client.rb:153 block in post
/app/vendor/bundle/ruby/2.6.0/gems/boxr-1.14.0/lib/boxr/client.rb:219 with_auto_token_refresh
/app/vendor/bundle/ruby/2.6.0/gems/boxr-1.14.0/lib/boxr/client.rb:145 post
/app/vendor/bundle/ruby/2.6.0/gems/boxr-1.14.0/lib/boxr/collaborations.rb:39 add_collaboration
...
The underlying issue is a nil trying to be converted to a URI - but the application is actually performing differently and crashing much more severely when the Raygun APM is installed. I also tested with only the Raygun APM (i.e., no Scout) and the same issue occurred.
I'm continuing to investigate on our end to ensure the application isn't encountering this logical problem, but was wondering if there's a way to have a safer fallback here.
Seeing the following errors as of this afternoon (5/6/2021) when attempting to install the Raygun APM in a Heroku environment.
remote: -----> Raygun APM Agent app detected
remote: === Updating apt caches for dependencies
remote: Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
remote: Hit:2 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
remote: Get:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
remote: Get:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
remote: Get:5 http://archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2,119 kB]
remote: Get:6 http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1,410 kB]
remote: Get:7 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2,182 kB]
remote: Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [2,550 kB]
remote: Fetched 8,438 kB in 2s (4,977 kB/s)
remote: Reading package lists...
remote: === Installing dependencies
remote: Reading package lists...
remote: Building dependency tree...
remote: The following NEW packages will be installed:
remote: net-tools
remote: 0 upgraded, 1 newly installed, 1 reinstalled, 0 to remove and 14 not upgraded.
remote: Need to get 0 B/362 kB of archives.
remote: After this operation, 803 kB of additional disk space will be used.
remote: Download complete and in download only mode
remote: Installing unzip
remote: Installing net-tools
remote: === Downloading APM Agent
remote: curl: (60) SSL certificate problem: certificate has expired
remote: More details here: https://curl.haxx.se/docs/sslcerts.html
remote:
remote: curl failed to verify the legitimacy of the server and therefore could not
remote: establish a secure connection to it. To learn more about this situation and
remote: how to fix it, please visit the web page mentioned above.
remote: unzip: cannot find or open RaygunAgent-netcore-linux.zip, RaygunAgent-netcore-linux.zip.zip or RaygunAgent-netcore-linux.zip.ZIP.
remote: ! Push rejected, failed to compile Raygun APM Agent app.
remote:
remote: ! Push failed
remote: !
I have the following in my Gemfile:
group :production do
gem 'raygun-apm', '~> 1.0.81'
gem 'raygun-apm-rails'
gem 'raygun-apm-sidekiq'
end
And in my Gemfile.lock:
raygun-apm (1.0.81-universal-darwin)
raygun-apm (1.0.81-x86-linux)
raygun-apm (1.0.81-x86_64-linux)
raygun-apm-rails (1.0.58)
raygun-apm (~> 1.0.53)
raygun-apm-sidekiq (1.0.21)
raygun-apm (~> 1.0.44)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.