Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollbar module broken #122

Closed
stevenjonescgm opened this issue Feb 16, 2018 · 9 comments
Closed

Rollbar module broken #122

stevenjonescgm opened this issue Feb 16, 2018 · 9 comments

Comments

@stevenjonescgm
Copy link

Rollbar updated Rollbar::Notifier.build_payload to Rollbar::Notifier.build_item in version 2.11.0 about April 2016. rollbar/rollbar-gem@d1ef431

Rollbar gem is now up to version 2.15.5, and the recommend way to manage custom fingerprinting is in the Rollbar server configuration <your-project-url>/settings/custom_fingerprinting

https://rollbar.com/docs/custom-grouping/

There are probably better definitions, but I'm starting with

[
  {
    "condition": {
      "eq": "Rack::Timeout::RequestTimeoutException", 
      "path": "body.trace.exception.class"
    }, 
    "fingerprint": "RackTimeout {{context}}", 
    "title": "RackTimeout {{context}}"
   }
]

which groups/titles by Rails controller#action for me. I'm sure I'll update my configuration or application code to get a meaningful {{context}} for workers and other proceses

@andrehjr
Copy link
Contributor

Hi there, I was also confused by this when I found out that the Rollbar module is broken. The custom fingerprint is working nicely for my application.

That being said, are there any plans to support it again? Or to remove it from the project? Either way, I'd be happy to send a PR.

@wuputah
Copy link
Collaborator

wuputah commented Mar 28, 2018

A PR would be much appreciated!

@andrehjr
Copy link
Contributor

Hey @wuputah, should I make a PR removing the rollbar module? Or making it work again?

It's nice to have it working out of the box. But custom fingerprinting on Rollbar fixes the issue from their side.

🤔 wdyt?

@wuputah
Copy link
Collaborator

wuputah commented Mar 29, 2018

Hmm, based on what you've posted, it sounds like it should be removed, and instead have a suggested custom fingerprinting settings and associated instructions. Maybe something like doc/rollbar.md rather than adding it to the (already very long) README (portions of which could be moved into doc as well).

For what it's worth - unfortunately this project doesn't have an active maintainer at the moment; I'm happy to continue shepherding it as best I can, though.

@stevenjonescgm
Copy link
Author

@andrehjr I'm currently using this custom fingerprinting

[
  {
    "condition": {
      "any": [
        {
          "eq": "Rack::Timeout::RequestTimeoutException", 
          "path": "body.trace.exception.class"
        }, 
        {
          "eq": "Rack::Timeout::RequestTimeoutException", 
          "path": "body.trace_chain.0.exception.class"
        }
      ]
    }, 
    "fingerprint": "RackTimeout {{context}}", 
    "title": "RackTimeout {{context}}"
  }, 
  {
    "condition": {
      "any": [
        {
          "eq": "Faraday::TimeoutError", 
          "path": "body.trace.exception.class"
        }, 
        {
          "eq": "Faraday::TimeoutError", 
          "path": "body.trace_chain.0.exception.class"
        }
      ]
    }, 
    "fingerprint": "FaradayTimeout {{context}}", 
    "title": "FaradayTimeout {{context}}"
  }, 
  {
    "condition": {
      "eq": "Timeout::Error", 
      "path": "body.trace.exception.class"
    }, 
    "fingerprint": "timeout-error", 
    "title": "Timeout Error"
  }
]

the extra any ... trace_chain.0 handles the case of wrapped exceptions. I should probably have a similar construct for Timeout::Error as well

@brianr
Copy link

brianr commented Apr 3, 2018

@stevenjonescgm Brian from Rollbar here... how can we help?

The custom fingerprinting you posted above looks right (to account for the body.trace_chain structure as well as body.trace). One improvement would be to change that to body.trace_chain.*.exception.class.

@andrehjr
Copy link
Contributor

andrehjr commented Apr 3, 2018

Hi @brianr

Regarding this situation, what would you suggest? Reimplement the custom firgerprinting from inside this gem. https://github.com/heroku/rack-timeout/blob/master/lib/rack/timeout/rollbar.rb

Or recommend using the Custom Fingerprinting setting?

@stevenjonescgm
Copy link
Author

@rokob said in rollbar/rollbar-gem#709
I would advise that gem to stop monkey patching Rollbar for the custom fingerprinting and instead just advise via the docs on a custom fingerprint to add via the Rollbar UI.

@wuputah
Copy link
Collaborator

wuputah commented May 17, 2018

Resolved by #124, thanks @andrehjr !

@wuputah wuputah closed this as completed May 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants