PG Connections and DelayedJob

2012-11-14 Thread Dave
Hi,

I recently ran into an App behaving badly. Has not troubled my till now. 
Basically, it locks itself up and becomes useless throwing PG:Connection 
errors. 

App was on Basic plan development PG plan. Ruby 1.9.3, Sinatra, 
ActiveRecord ORM. 

I use DJ to process webhooks and other tasks, so it is a busy little App 
sometimes, but never 20 concurrent connections. Heroku informed me that 
perhaps the code was errant in not releasing these connections. I kinda 
doubt that since I have other Apps getting even heavier use, with no such 
issues. 

I updated to the Production quality Crane DB, and migrated. Now I have a 
burning question.

- How do you figure out the code responsible for grabbing and holding onto 
a connection at Heroku? Even with 500 connections on Crane, if there is bad 
code, it will chew threw these too and cause same problem.

Any insight into this issue much appreciated.

Thanks



-- 
You received this message because you are subscribed to the Google
Groups "Heroku" group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: How do you track your 503s?

2012-11-14 Thread Daniel Doubrovkine
Thanks everybody for your responses. Here's what I ended up doing:

   1. Setup papertrail with a custom query for
   events?q=heroku%2Frouter+ERROR+H12
   2. Push from papertrail to our Geckboard custom number widget. This was
   straightforward in "Alerts" under Papertrail search options.

Now I see a nice picture on Geckoboard, at least socializing the size of
the 503 problem: http://cl.ly/image/182A2q102E3S

cheers
dB.

On Wed, Nov 14, 2012 at 12:53 PM, Daniel Doubrovkine wrote:

> Richard, you cannot log this to New Relic because Heroku doesn't hit our
> code.
>
> On Tue, Nov 13, 2012 at 9:43 PM, Richard Schneeman <
> richard.schnee...@gmail.com> wrote:
>
>> You can log custom data to NewRelic (or you used to be able to anyway) we
>> used this controller method at Gowalla:
>>
>>
>>   def send_to_rpm(e)
>> rack_env = ENV.to_hash.merge(request.env)
>> rack_env.delete('rack.session.options')
>>
>> opts = {
>>   :request_params => params,
>>   :custom_params => {
>> :session => session,
>> :rack => rack_env
>>   }
>> }
>>
>> NewRelic::Agent.notice_error(e, opts)
>>   end
>>
>>
>> --
>> Richard Schneeman
>> http://heroku.com
>> @schneems 
>>
>> On Tuesday, November 13, 2012 at 12:42 AM, Neil Middleton wrote:
>>
>>  No, AFAIK you can't push stuff into NewRelic (unless their API let's
>> you do that).
>>
>> Essentially Heroku lets you drain your logs into something like
>> Papertrail or Loggly.  These logs will include your 503's.
>> From here you can then setup alerts and suchlike depending on the service
>> you're using and do what you will with them.  For instance, you could
>> probably push these out to a small app that pushes them onto the NR API (if
>> it let's you).
>>
>> Saying this, this isn't something I've tried - I'm not sure of the
>> benefit of getting this data into NR, quite often the logging services will
>> let you visualise the data somehow.
>>
>> --
>> Neil
>>
>> On Monday, 12 November 2012 at 22:38, Daniel Doubrovkine wrote:
>>
>> Neil, thank you.
>>
>> Can you elaborate on this? Are you saying I can pull data I have in
>> papertrail right now into New Relic?
>>
>> On Mon, Nov 12, 2012 at 4:55 PM, Neil Middleton 
>> wrote:
>>
>> If you're using an add-on such as Papertrail you can pretty much track
>> what you want via your own searches and alerts.
>>
>> I'm not sure of any way of doing it with NewRelic.
>>
>> N
>>
>> --
>> Neil
>>
>> On Monday, 12 November 2012 at 21:53, Jonathan Baudanza wrote:
>>
>> I don't know of a way to track 503s, but the
>> "Request Queuing" measurement in New Relic is helpful. This will tell you
>> if all of your available dynos are being consumed. This may not be related
>> to 503s, but it often is.
>>
>> On Mon, Nov 12, 2012 at 12:36 PM, Daniel Doubrovkine 
>> wrote:
>>
>> We occasionally get 503s, caused by all kinds of things - a dyno will be
>> sitting in a lock, a database went MIA, Heroku is having trouble, etc.
>>
>> How do you track 503s? I'd like to keep their counts, graph, etc. Ideally
>> I'd like to get them in New Relic, but these are errors that happen outside
>> of our dynos.
>>
>> Thanks,
>> dB.
>>
>> --
>>
>> dB. | Moscow - Geneva - Seattle - New York
>> dblock.org  - 
>> @dblockdotorg
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Heroku" group.
>>
>> To unsubscribe from this group, send email to
>> heroku+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/heroku?hl=en_US?hl=en
>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Heroku" group.
>>
>> To unsubscribe from this group, send email to
>> heroku+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/heroku?hl=en_US?hl=en
>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Heroku" group.
>>
>> To unsubscribe from this group, send email to
>> heroku+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/heroku?hl=en_US?hl=en
>>
>>
>>
>>
>> --
>>
>> dB. | Moscow - Geneva - Seattle - New York
>> dblock.org  - 
>> @dblockdotorg
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Heroku" group.
>>
>> To unsubscribe from this group, send email to
>> heroku+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/heroku?hl=en_US?hl=en
>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Heroku" group.
>>
>> To unsubscribe from this group, send email to
>> heroku+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/heroku?hl=en_US?hl=en
>>
>>
>>  --
>> 

Re: How do you track your 503s?

2012-11-14 Thread Daniel Doubrovkine
Richard, you cannot log this to New Relic because Heroku doesn't hit our
code.

On Tue, Nov 13, 2012 at 9:43 PM, Richard Schneeman <
richard.schnee...@gmail.com> wrote:

> You can log custom data to NewRelic (or you used to be able to anyway) we
> used this controller method at Gowalla:
>
>
>   def send_to_rpm(e)
> rack_env = ENV.to_hash.merge(request.env)
> rack_env.delete('rack.session.options')
>
> opts = {
>   :request_params => params,
>   :custom_params => {
> :session => session,
> :rack => rack_env
>   }
> }
>
> NewRelic::Agent.notice_error(e, opts)
>   end
>
>
> --
> Richard Schneeman
> http://heroku.com
> @schneems 
>
> On Tuesday, November 13, 2012 at 12:42 AM, Neil Middleton wrote:
>
>  No, AFAIK you can't push stuff into NewRelic (unless their API let's you
> do that).
>
> Essentially Heroku lets you drain your logs into something like Papertrail
> or Loggly.  These logs will include your 503's.
> From here you can then setup alerts and suchlike depending on the service
> you're using and do what you will with them.  For instance, you could
> probably push these out to a small app that pushes them onto the NR API (if
> it let's you).
>
> Saying this, this isn't something I've tried - I'm not sure of the benefit
> of getting this data into NR, quite often the logging services will let you
> visualise the data somehow.
>
> --
> Neil
>
> On Monday, 12 November 2012 at 22:38, Daniel Doubrovkine wrote:
>
> Neil, thank you.
>
> Can you elaborate on this? Are you saying I can pull data I have in
> papertrail right now into New Relic?
>
> On Mon, Nov 12, 2012 at 4:55 PM, Neil Middleton wrote:
>
> If you're using an add-on such as Papertrail you can pretty much track
> what you want via your own searches and alerts.
>
> I'm not sure of any way of doing it with NewRelic.
>
> N
>
> --
> Neil
>
> On Monday, 12 November 2012 at 21:53, Jonathan Baudanza wrote:
>
> I don't know of a way to track 503s, but the "Request Queuing" measurement
> in New Relic is helpful. This will tell you if all of your available dynos
> are being consumed. This may not be related to 503s, but it often is.
>
> On Mon, Nov 12, 2012 at 12:36 PM, Daniel Doubrovkine wrote:
>
> We occasionally get 503s, caused by all kinds of things - a dyno will be
> sitting in a lock, a database went MIA, Heroku is having trouble, etc.
>
> How do you track 503s? I'd like to keep their counts, graph, etc. Ideally
> I'd like to get them in New Relic, but these are errors that happen outside
> of our dynos.
>
> Thanks,
> dB.
>
> --
>
> dB. | Moscow - Geneva - Seattle - New York
> dblock.org  - 
> @dblockdotorg
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>
>
>
>
> --
>
> dB. | Moscow - Geneva - Seattle - New York
> dblock.org  - 
> @dblockdotorg
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Heroku" group.
>
> To unsubscribe from this group, send email to
> heroku+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/heroku?hl=en_US?hl=en
>



-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org  -
@dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups "Heroku" group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/g