Giter VIP home page Giter VIP logo

heroku-buildpack-raygun-apm's People

Contributors

deacon-mcintyre avatar jarkko avatar methodmissing avatar widdershin avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heroku-buildpack-raygun-apm's Issues

Crash on nil input passed to APM

Background:

  • Application is a Ruby on Rails API with a React frontend client.
  • Running the Raygun APM for Ruby on Rails on Heroku (Heroku-18 stack).
  • Encountered an issue while testing a new application release
  • We were running Scout APM prior to the release, now we are running Scout APM and Raygun APM
  • We're using the Box API and Boxr Gem

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.

SSL Expiration Notice on Attempted Install (Heroku)

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.