Operations | Monitoring | ITSM | DevOps | Cloud

Latest Videos

Request Metrics Released! What We Got Right.

It's been a long time since we produced a new Request Metrics video and we wanted to give an update! Things have been going well and the product is out there! We made some good choices. Some not so good choices. And we've made many enhancements since launch. Watch Part 1 of our Request Metrics Released series to see how things are going, and what we did right!

Using the Resource Timeline in Request Metrics

The Resource Timeline in Request Metrics is a heat map of all the files requested by your pages. It shows the range of resource load time and critical load events experienced by all users, not just a single point load. The data allows you to see which resources impact your page metrics as well as the variability in their load time.

Crazy Like a Fox: Redis as Your Primary Database

Redis is fast. It’s fast because the data is all in memory. Persistence options are limited. Because of this, many people say, “Redis is for transient data only!” However, sometimes the need for speed and ease of operations can outweigh the durability downsides! In this talk, we look at a real SaaS business using Redis as its (only) datastore. You’ll learn why we decided to go all-in on Redis and the challenges we faced. You’ll learn how we operationalized the setup, handle backups and restores, and how we’ll scale out. Are we making a terrible mistake? You be the judge!

Breaking Out of Webpack Based Build Chains

Javascript build chains have gotten outrageously complicated. Let's create one that isn't. Request Metrics monitors how real users experience the performance of your production websites. We need a JavaScript agent to pull performance data out of the browser. Watch as I calmly Bob Ross my way to a Webpack-free Typescript build pipeline with just a few NPM packages.

Using the Beacon API

Users are so annoying! There they go, leaving the page before we can save the data to the API. Back in the old days, we would attach a `window.unload` handler and try to send an AJAX request, but this was slow and unreliable. Enter the Beacon API to give us a better way. The Beacon provides a reliable way to send a small amount of data *after* the page has been unloaded. It's not bound to the lifetime of the page and it doesn't slow down the user.

Using NGINX as a Queue for JSON Payloads

Request Metrics is a performance analytics tool. As such, we need to build a data ingestion pipeline that will consume performance data and process it. One common approach to ingest is to shove incoming data into a queue. We like simple things, and figuring out fancy distributed queues is anything but. So we're going to eschew best practices and use NGINX as our queue!

Episode 17: User Sign Up and Simple Access Control

Request Metrics won’t be very successful if users can’t sign up! We recently completed cookie based user authentication and distributed session using Redis in ASP.NET Core but neglected initial sign up. Now we finally go back and write some boring forms and CRUD logic. A rich set of internal admin tools helps with customer support, system monitoring and visibility. We’ll start our suite of tools with a user admin page that lists all users in the system.