Git Product home page Git Product logo

app_perf_rpm's Introduction

AppPerf Ruby Agent

Build Status

Ruby Agent for the AppPerf app

https://www.github.com/randy-girard/app_perf

How to use

It is recommended you DO not run this in test environments.

group :development, :production do
  gem "app_perf_rpm", :git => "https://github.com/randy-girard/app_perf_rpm", :branch => "master"
end

After adding gem to your project and then navigate to the AppPerf app, go to the applications page and click the New Application button. Follow the directions.

Running tests

Make sure appraisal is up to date:

bundle exec appraisal install

Then switch to your specific ruby version and run a specific appraisal:

rvm use 2.1.2
bundle exec appraisal rails-3.0 rake spec

If you want to run all ruby versions and all appraisals, Make sure the wwtd gem is installed and run:

wwtd

Consult the .travis.yml file for up-to-date ruby versions and framework versions supported.

app_perf_rpm's People

Contributors

alteris-araymer avatar blasterpal avatar gnomus avatar mvz avatar randy-girard avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

app_perf_rpm's Issues

Monitor rake taskas

First of all, nice work with this project.

I've been experimenting with it and so far it looks good.

I would like to know/suggest if there's any plan on monitoring rake tasks (or background jobs). This would be very useful for the non standard Rails app.

I would be willing to help if you have any plans to work with this.

Add individual app tracking

Right now we can track specific hosts, but not split out by a specific app running on a host (maybe unicorn and sidekiq on same server). Lets add app ids (uuid?) to track

undefined method `path_parameters' for nil:NilClass

Rails 4.2.8 - Ruby 2.2.6 - Passenger 5.1

All of the partials included through 'render' throw this error in production:
undefined method `path_parameters' for nil:NilClass

The stack traces do not offer much insight. They only list from the controller to the view file and end on render lines like this:

= render partial: 'data_mapper'

I believe the error comes from lines 10 and 11 in this file:
https://github.com/randy-girard/app_perf_rpm/blob/704f3c9d618c6370feef9ec232e60dbe5c96919d/lib/app_perf_rpm/instruments/action_view.rb

The app-perf host is working quite well. It seems to update much faster than NewRelic. Not quite sure why I am experiencing this error.

Disable Agent worker when in test mode or via ENV var

Issue

When running Agent for various non-production use cases like where the AppPerf server isn't available or running specs, the agent should be shouldn't start and try to send data. When worker can't connect the following errors occur:

#<Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 5000>
E, [2017-04-05T19:38:41.968976 #48940] ERROR -- :
["/home/ubuntu/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:879:in

Question/Suggestion:

Add Configuration option or ENV var to disable agent. APP_PERF_DISABLE for example. I'll look into making a PR for above, unless you disagree with approach.

Use route instead of URL

Rails can provide route in form of Controller#Action and Sinatra in form of GET /some/path/:id

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.