RAYGUN BLOG

Connect Raygun to your Bitbucket issue tracker
No comments

Today we have released another Raygun.io plugin for another great tool by the folks at Atlassian: Bitbucket. Once you’ve enabled this, you’ll be able to sync up error groups from your Raygun account with new or existing issues in your Bitbucket repositories. Here’s how:

In your Raygun.io dashboard, go to an application that you want to link with your Bitbucket account, and then click the Plugins button located under Application Settings in the sidebar.

Application Settings

Select Bitbucket from the integrations list and you’ll see the set up page with a description of the plugin and how to use it when it’s enabled. Click the Setup tab, and then click the Bitbucket button to give Raygun permission to post issues to your Bitbucket account.

Bitbucket Permission

Once this is done, simply select one of your repositories from the drop down list, tick the Enabled box, and hit Save Changes.

Bitbucket Setup

Now when you are browsing errors in your Raygun.io dashboard, you’ll see the Bitbucket icon next to the error message. Use this to link errors to existing issues, or create new issues in Bitbucket.

Bitbucket Links

This integration, along with all the other Raygun integrations, will help you and your team speed up and simplify your error solving workflow. If you have any suggestions for a Raygun integration, we’d love to hear it. Leave a comment on this blog, or let us know in the forums.

Don’t have Raygun? Start your 30 day free trial now (no credit card required) and keep your software error free!

Upload dSYMs from your Mac using the Raygun Sidekick
No comments

If you’re an iOS developer who wants insight into your application crashes, then we’ve got the tool for you! Today we Introduce to you the beta version of Raygun Sidekick – a mac application to make it quick and easy to upload your iOS application dSYMs to your Raygun.io account. Download it now!

The most important piece of information for debugging an error is generally the stack trace. For iOS developers, viewing a useful stack trace means getting the bug report generated by the application, and symbolicating it against the dSYM generated for that version of the app to make it human readable. If you use Raygun.io to log errors from your iOS applications, then you probably already know that Raygun.io does the symbolication for you. All you need to do is upload the dSYM file to your Raygun.io account, and this will be used to build the stack trace for errors transmitted from the iOS Raygun provider sitting in your application. This becomes a bit tedious when you need to upload a new dSYM every time you create a new version of you app as this could only be done through your Raygun.io application dashboard.

This is where the Raygun Sidekick steps in to lend a helping hand.

When you run up the application for the first time, you’ll be presented with the preferences window where you’ll need to log in to your Raygun.io account. This window also includes the option to allow the Raygun Sidekick to appear in your menu bar when you log in to your Mac which we highly recommend.

Login window

Once you’ve logged in, the Raygun Sidekick will appear in your menu bar, ready to kick ass, take names and upload dsym files.

Raygun Sidekick Helper

Now whenever you use XCode to archive one of your iOS applications, the Raygun Sidekick will popup a notification asking if you want to upload it. Clicking this will display a window confirming the details of the dSYM and which app in your Raygun.io account you’d like to upload it to. Simply click Upload and it’s done. It could not be easier to get complete stack traces from your iOS applications!

Raygun Sidekick Notification Upload Window

Your trusty Raygun Sidekick will also keep track of the 5 latest dSYM files you’ve generated with XCode – in case you missed one or need to re-upload.

Recent List

Selecting “Open uploader app…” from the drop down menu will launch the main application where you can manually drag/drop or click to select a dSYM or xcarchive to upload.

Drag/Drop Window

If you need to view or delete the dSYMs you’ve uploaded, you can do so from the dSYM Center page in your Raygun.io application dashboard.

dSYM Center

Download Raygun Sidekick now

Download Raygun Sidekick 0.1 here.

As mentioned, the Raygun Sidekick is currently in beta, so we’d love for you to try it out and let us know what could be improved for the release version. Leave a comment on this blog post, or let us know in the forums. If you are developing an iOS application but aren’t using Raygun.io yet, grab a 30 day free trial now so that you too can benefit from elite insight into your application crashes. No credit card required.

New Plugins & Integrations page
No comments

Last week we introduced a revamped and reorganized “Plugins & Integrations” page. This new page now provides a lot more information on how and what each of the plugins & integrations do and how they can help you get the best out of Raygun and your other external tools. We now have a much nicer looking icon palette to show all of your enabled plugins.

plugin palette

Once you have clicked through to a specific plugin you can see a description of what the service does that the plugin connects to as well as a description of what the plugin will allow you to do on Raygun. There is also a run through of the steps you need to use the plugin once you have enabled it.

plugin description

You can then go through and setup the plugin with a much nicer looking form than previously.

plugin setup

I hope this improves your time using Raygun and maybe even expose you to some new services that you can use to level up your development team.

Keep blasting errors

The Raygun Team

New feature: offline JavaScript error caching
No comments

The Raygun JavaScript provider has received an update today containing a new feature – offline error caching for JavaScript. This was previously available for our iOS, Android and Windows Phone providers in addition to the Xamarin provider for iOS and Android, but the 1.8.0 update brings it to the web with the Raygun4JS provider.

raygun javascript offline error tracking

Not much to it – if a JS application throws an Error when network connectivity is not available, it’s saved to localStorage. When it comes up again, cached errors are sent so you never miss a thing. This is crucial on mobile platforms when a constant internet connection is not a given.

We’ve brought it to JavaScript initially to support WinJS, which this release also officially debuts. Next on the roadmap is support for other JavaScript mobile app development frameworks – look out for more announcements about this soon! We’ve got a couple in mind, but if you have a favorite JS app dev framework you’d like to use with Raygun4JS let us know in the comments below.

Easy to use offline JavaScript error tracking

Enabling offline caching is simple and can be done with the following function call:

Raygun.init('apikey').attach().saveIfOffline(true);

Couldn’t be simpler! Saved errors will retain all data including the time they were generated at.

This feature is fully supported in all modern (self-updating) browsers like Chrome, Opera, Firefox and IE 10 and 11. Some support is also available for IE 8 and 9 – errors will be saved if the initial post to the Raygun API times out.

The new 1.8.0 release is available now from Bower and NuGet so you can grab it immediately.

Add Raygun to your JavaScript app now

If you want to get visibility on your JS errors, there’s a 30-day free trial of Raygun available here, no credit card needed. It’ll take less than a couple of minutes to add as the library is available from NuGet and Bower and there’s only a couple of lines of JS to add. If you have any thoughts or feedback on Raygun’s JavaScript error reporting leave them below and we’ll get back to you. Until next time!

Python 3 now supported
No comments

We’ve pushed a new update to the official Python provider today which adds Python 3 error handling support. This means the provider is now bilingual as it supports Python 2.6/2.7 as it did previously as well as Python 3.0+ environments, all without any changes needed on your end (the setup process will pick up your current Python environment).

raygun4py

Just like the previous version it’s available from pip, so running the following command will grab the latest 2.0.0 release containing the Python 3 support:

  
    pip install raygun4py
  

Or if you’re using setuptools, adding a requires to setup.py is also an option:

  
    install_requires=[
        "raygun4py == 2.0.0"
    ]
  

Python 3 support seems to gaining traction as many common dependencies now feature support for the release, but with the huge ecosystem of V2 code out there it was an important goal for us to maintain backwards compatibilty. Therefore, Raygun4py 2.0.0 supports both 2 and 3 from pip with zero user input needed. It’s been tested and verified on the major subversions from 3.0-3.4.

For more information on the provider you can view the Raygun4py provider page, or check out detailed info on how to use at its documentation page.

Want automatic Python 3 error handling in your script or app?

As shown above Raygun’s Python support is fast and painless so you can get started right away. There’s also a Rayun Django community provider available which builds on our library, so be sure to check that out if you have a site running on that CMS.

Don’t have a Raygun account yet? Grab your 30-day free trial of Raygun now, which you don’t even need a credit card to begin.

If you’ve got any questions, feel free to leave them below – we’re interested to hear your experiences with the new Python 3 support. Until next time, keep blasting those exceptions!

Improved automatic Ruby grouping
No comments

Raygun frequently receives many small updates under the hood, some of which may go unnoticed but increase the reliability, performance and user experience of the service just that little bit more. We’ve got a sweet CI setup that allows us to deploy early and often, so Raygun is often improved several times on a daily basis. The goal is to polish the service until it is buffed to a mirror sheen, and you can see your reflection in it (you look great btw).

Rails error reporting

One such update towards a shinier product has just been released – improved automatic Ruby grouping logic. This concerns the part of the system that combines Ruby Exceptions automatically into error groups when they are received. Previously, this was taking a message-based approach which failed when error instance data was present in the message (for example, your message might have a memory address). Additional smarts have been added so exceptions are grouped together based on their actual code path, and not their message.

This fixes duplicated exceptions when the message text differs, or exceptions being combined when their message is the same but they are caused by a different code path.

Get the new Rails grouping

This is applied on a per-app basis, and all new apps created from now and within the last two months will be using the new logic. If you created an app in Raygun before the middle of January, we can update your Ruby or Ruby on Rails app to use the new grouping logic. We do this as there is some disruption when switching to new grouping logic, as older errors are assigned new groups, which removes any status assigned to them, e.g. resolved/ignored, comments etc.

We can therefore switch your apps over manually. Currently to do this you can create a ticket by clicking Feedback within the Raygun web app, and mentioning which app(s) you’d like updated.

There is also updated grouping available for .NET and Java, so if you’re seeing duplicated error reports in these applications, or errors combined into one group when they shouldn’t be, send us a message and we’ll verify that you’re getting the best possible Raygun experience.

Always more to be done

Thank-you to all of the users who have helped with these improvements – either by giving examples of improvements, or testing out some of these improvements recently. Your feedback directly leads to improvements in Raygun for all.

Want amazing Rails automatic error tracking? Get Raygun now

If you’ve got a Ruby on Rails web app and want to get started with Raygun with the new and improved automatic Ruby grouping, you can grab the 30-day free trial here, no credit card needed. If you’ve got any questions, post them in the comments below. Thanks for reading!

Node.js Error Handling
No comments

We provide a convenient way to send your Node.js errors to Raygun with our package raygun4node. This is easy to install using npm

npm install raygun

This will provide you with a raygun client that you can configure with your API key and use to manually send errors. But wait a minute you might say, “I don’t want to be manually sending all my errors up to Raygun, that sounds like a lot of hard work!” If you are using express.js then this is easily solved with our express handler.

var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
app.use(raygunClient.expressHandler);

In other cases you might be thinking it’s just a case of listening to uncaughtException and sending errors through that way.

var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
process.on('uncaughtException', function(err) {
  raygunClient.send(err);
});

If you are going to do this then you need to understand the implications. This event is emitted when an exception bubbles all the way back to the event loop. If you add a listener for this event then the default action will no longer occur. The default action is to print the stack trace and exit the process. If you continue on after hitting this then your node process will be in an undefined state. The node.js documentation is very specific that you should not be using this and that it may be removed in the future. The alternative presented is to use domains. Presented below is a small trivial example so you can see how the Raygun client might fit into your use of domains.

var domain = require('domain');
var raygun = require('raygun');
var raygunClient = new raygun.Client().init({ apiKey: 'your API key' });
var server = require('http').createServer(function (req, res) {
  var d = domain.create();
  d.on('error', function (err) {
    raygunClient.send(err);
    // clean up and end
  });
  d.add(req);
  d.add(res);
  d.run(function () {
    // handle the req, res
  });
});
server.listen(3000);

Hopefully this helps you to better understand error handling in Node.js with Raygun.

Keep blasting errors!

Brand-new Raygun documentation
No comments
raygun-documentation

Good documentation is valuable for any piece of software, but especially so for a dev-focused SaaS like Raygun. Today brings a fresh update to the Raygun docs resources with a dedicated documentation site. The new docs site sports full-text, AutoComplete-enabled search, which we hope will help you locate the info you need fast.

Once in a category, click on the ‘View this’ button to collapse the other sections within the category – for instance, to hide the node.js section while viewing iOS.

Currently it contains a large amount of the provider documentation that was available via their GitHub repositories or their introductory language page, in addition to search, webhooks and source maps information.

We’ll be centralizing the Raygun info that was strewn around the place and fleshing it out in the coming weeks and months. The aim is to have this being the central resource to go to when you need help, with the forums and the Feedback feature as a back-up when you’d like help from the team.

We’ll be adding to this over the coming week and in the future, as we continue to implement valuable features to the core service and the providers as requested by you. If there’s a particular guide or topic you’d like to see added, let us know in the comments below.

Try Raygun today

If you haven’t yet joined Raygun, as always there’s a 30-day free trial waiting for you, no credit card needed, so grab it now. Happy error blasting!

Test our Raygun Zapier integration
No comments
Zapier Integration

Zapier is a great product for connecting different services by their API’s. It makes it simple to connect up different services to automate your work flow. You’re probably a developer, so you’ll really appreciate how simple Zapier makes things!

For example, with Raygun Webhooks, you might listen for them and

  • Post error notifications to an RSS feed
  • Send a message to your chat service of choice
  • Send a notification to a service like PagerDuty

or, trigger literally thousands of other things. It makes connecting services together a breeze.

Zapier has a free trial, and we’re looking for Raygun users who want to try out our Zapier integration. Raygun is not currently in the main list, so you’ll need to use this link for trying it out:

Raygun Zapier Invite

Once we’ve had some good feedback we’ll look to get it promoted to the main integration list.

Let us know what you think!

At present we have a web hook for our error notifications (but batched, similar to our emails). We’d love to hear what you think of using Raygun & Zapier together. If you have any troubles please let us know!

Thank you!

Atom powered Raygun – a Raygun plugin for Atom!
No comments
Atom.io plugin for Raygun

Recently GitHub released a new text editor named Atom. Atom is a desktop application based on web technologies.

Since Raygun already integrates with GitHub, we thought we would give Atom a spin and write a plugin that would allow you to view your errors within Atom and zoom directly to the file where the error occurred. We have this ready for you to test right now so you can add it to your Atom installation and get blasting those errors!

The Atom plugin in action

Current features of the plugin today are the ability to view your list of applications and pick one. This will bring up a pane that will display your 20 most recent active errors. You can click on these errors and the plugin will attempt to find the file in your project that best matches the first line in the stack trace of the error.

You can view the plugin on GitHub and we welcome any extra features you may want to be submitted!

In this Web 1.0 “video”, you can see we start the Raygun Atom plugin, select the application that we want the errors for, and then get a pane showing the live production errors for the software. Double clicking on the error group takes you to the file with the issue. Magic!

atom

We’re still working towards getting full lists of errors, and jumping to the affected line (it’s in there, but Atom doesn’t handle it quite yet, it is beta software at the moment).

Why this is cool

We think Atom has a great future ahead. It can support many different languages, just like Raygun. We absolutely think that having your production errors visible within your development tool of choice is useful. The easier Raygun can make it to have robust software, the better for everyone :-)

Create your account

If you have Atom and want to try this out, start a 30 day trial of Raygun – no credit card required. You can sign up in a matter of seconds. It couldn’t be easier to be improving your software quality.

You can discuss this on the Hacker News thread here

Subscribe to our newsletter

1 2 3 9