Here at AppNeta, we get to see a lot about how people build their web
applications. From simple PHP scripts to heavily service-oriented Java clouds
to monolithic Django apps, everybody’s product is architected a little
differently. We’re still out to trace everything, and today I want to talk
how to get visibility into an important component of any complex system: the
messaging queue. Specifically, let’s look at how to trace a job from Rails
If you haven’t used a messaging queue in your app, the idea is simple.
Instead of forcing all the work to happen during the request, while the user
is waiting, you can delay some of the more time-consuming tasks. You can do
anything in these tasks, ranging from a simple insert to kicking off a series
of user analytics that touch all parts of your infrastructure. The advantage
is that you can retur... (more)
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
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 ne... (more)
Do you know how long your customers are going to wait for a page load? More
importantly, how long are you making them wait right now?
Back in the misty eons of time, it used to be easy to measure the performance
of your application. You’d grab a stopwatch, load up your web application,
and see what happened. If it was slow, you’d look at the mess of PHP, HTML
and CSS you crammed into index.php and make sure that you weren’t using
bubble sort anywhere. In these modern times, you typically take a few more
Add Varnish to cache any generated content Split your MySQL Inno... (more)
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)
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.
Until November 2012, Headnet relied on “old-school” monitoring tools,
such as open-source inf... (more)