Welcome!

Smarter Web Application Performance Monitoring

TR Jordan

Subscribe to TR Jordan: eMailAlertsEmail Alerts
Get TR Jordan via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by TR Jordan

If you’re a regular here, you know how much we care about the full-stack view of applications. Today, let’s zoom in a bit, and talk about the performance of a single layer. In particular, let’s look at profiling in Python. As an example, let’s take this bit of code for calculating confidence intervals of the mean of a set of data. If you’re not familiar with confidence intervals, they provide a set of bounds for a given statistic; a 95% interval implies that the true mean lies in the calculated range 95% of the time. One way of calculating this involves generating a number of new data sets from the data you have (random selection, with replacement), and looking at that (meta?-)data set. In practice, you typically run this a couple of times, look at the results, and see if they’re converging. If not, you keep running until they do converge, or you hit some max numbe... (more)

TraceView Data API

I’m excited to announce a new feature to TraceView – the Data API! In a nutshell, the Data API exposes all of those high-level metrics you’re collecting in TraceView over REST, formatted as JSON. Now you can take that data, jam it into your own system and do whatever you need to make sure everybody in your organization sees what they need, when they need it. We’ve also wrapped our configuration API into the same place, so you can interact with all our services in one place. If you’re itching to get to it, head on over to the docs. If you’re still not convinced, read on! Let’s tak... (more)

Python and gevent

The easiest way to make your code run faster is to do less. At some point, though, you don’t want to do less. Maybe you want to do more, without it being any slower. Maybe you want to make what you have fast, without cutting out any of the work. What then? In this enlightened age, the answer is easy — parallelize it! Threads are always a good choice, but without careful consideration, it’s easy to create all manner of strange race conditions or out-of-order data access. So today, let’s talk about a different route: event loops. Event whats? If you’re not familiar with evented co... (more)

Headnet Improves Drupal Performance and Reliability with TraceView

Headnet is a web consultancy firm based in Copenhagen, Demark. Headnet develops and hosts web applications, mainly for government clients, as well as private organizations and NGOs. The company utilizes a broad range of technologies to create custom sites, from CMS-based sites with Drupal and Plone to custom applications in Java and Python. As a one-stop shop for web apps, Headnet is entirely responsible for the creation, modification and upkeep of sites for its customers. The Challenge Until November 2012, Headnet relied on “old-school” monitoring tools, such as open-source inf... (more)

Caching: Up and Down the Stack

The other month I presented Caching Up and Down the Stack at the Boston Web Performance meetup. It was great to get the chance to present to the 60+ people who came out for the talk. Unsurprisingly, many of the people there knew a lot about caching in all of the different levels I touched on, and some great conversation developed. I covered six of the major areas of caching available to web devs today. On the HTML / JS / CSS side, you can use client asset caches, full-page HTTP caches (like Varnish) and partial template caches. On the back end, you can use generated code caches,... (more)