Category Archives: Code

Hack Your On-Call Status with PagerDuty’s API

Knowing your on-call status is more important than knowing if it’s raining outside. Unlike dealing with the drizzle that’s passed over San Francisco recently, if I’m on-call you need leave the house with more than an umbrella. Your on-call status … Continue reading

FacebookTwitterGoogle+
Posted in Code, On-Call | Tagged , , , | 1 Comment

Failure Friday: How We Ensure PagerDuty is Always Reliable

Ask any PagerDutonian what the most important requirement of our service is and you’ll get the same answer: Reliability. Our customers rely on us to alert them when their systems are having trouble; on time, every time, day or night. … Continue reading

FacebookTwitterGoogle+
Posted in Best Practices, Blog, Code | Tagged , , , | 12 Comments

Chef at PagerDuty

This is the first post of a multi-part series on some of the operations challenges that the team at PagerDuty is solving. At PagerDuty we strive for high availability at every layer of our stack. We attain this by writing … Continue reading

FacebookTwitterGoogle+
Posted in Best Practices, Blog, Code | Tagged , , , , , | 16 Comments

Having Fun with Webhooks: PagerDuty Incidents Spoken in an Irish Lilt

PagerDuty webhooks make it easy to build powerful apps and tools that respond to incidents as they happen. Instead of creating scripts that continuously poll PagerDuty APIs, webhooks make it possible for your own services to receive incidents as they … Continue reading

FacebookTwitterGoogle+
Posted in Code, Community | Tagged , , , , | 1 Comment

Animating Incidents with webhooks, Firebase and d3.js

We’re rolling out Webhooks on incidents and it opens up a lot of fun new things. For background, Webhooks let you recieve HTTP callbacks when interesting events happen within your PagerDuty account. Details surrounding the interesting event will be sent via … Continue reading

FacebookTwitterGoogle+
Posted in Code, Community | Tagged , , , | Leave a comment

PagerDuty integration for JavaScript

As part of our push to treat our API as a first class part of the Product, we’ve enabled CORS headers so you can embed information about your PagerDuty account in an intranet page with only client side scripting. This … Continue reading

FacebookTwitterGoogle+
Posted in Code | Tagged , | Leave a comment

Trading up Your Engine: How to Move Your IOPS-heavy MySQL/Rails Stack to Unicode Without Downtime

You’re a techie working for one of the multitude of startups that rushed to market, where the founders hastily glued a Rails app together with candy-bar wrappers and tinfoil.  Once it became obvious that enthusiasm was no substitute for raw coding power, developers … Continue reading

FacebookTwitterGoogle+
Posted in Best Practices, Blog, Code | Tagged , , | 2 Comments

Growing a Rails Application: How We Made Deploy Fast Again

TL;DR; We brought our deploy time down from 10 minutes to 50 seconds. When I joined PagerDuty over a year ago, our application consisted of essentially a single Rails site. We’ve changed the architecture of our system since then to … Continue reading

FacebookTwitterGoogle+
Posted in Best Practices, Blog, Code | Tagged , , , , | 9 Comments

Triggering an alert from a phone call (code sample)

I get a lot of requests to handle & escalate phone calls as well as alerts from monitoring systems. Here’s a code sample that lets you hand out a phone number, let the caller record a message and have that … Continue reading

FacebookTwitterGoogle+
Posted in Code | Tagged , , , , | 2 Comments

More control over Optimistic Locking in Rails

Like pretty much everything else in Rails, optimistic locking is nice and easy to setup:  you simply add a “lock_version” column to your ActiveRecord model and you’re all set.  If a given Rails process is trying to update some record, … Continue reading

FacebookTwitterGoogle+
Posted in Code | Tagged , , | Leave a comment