Gravatar picture of Lawrence

Lawrence Jones

  • About

Why you need a service registry

September 28, 2020

As a team's infrastructure estate grows, it becomes increasingly beneficial to create a global registry of all people, services, and components. Once you do, you can integrate with tools like terraform, Chef, and Kubernetes to help provision your infrastructure according to a single authoritative source.

This post explains how GoCardless built their registry, and some of the uses we’ve put it to.

Continue reading

Avoid time-of-measurement bias with Prometheus

July 10, 2019

Most Prometheus metrics recording durations are subject to a time-of-measurement bias, causing misleading graphs that can derail investigations. See how an open-source Tracer can help solve this problem.

Continue reading

Building a PostgreSQL load tester

April 7, 2019

This post covers the implementation of pgreplay-go, a tool to realistically simulate captured Postgres traffic. I'll explain why existing tools didn't fit and explain some challenges in the implementation, focusing on what I learned personally from the process.

Continue reading

Debugging the Postgres query planner

February 17, 2019

Diving into the Postgres query planner to understand its decisions- and occasionally- its mistakes. Explore a query plan that went wrong, discovering the statistics that informed the bad decision.

Continue reading

Diggit- Automated code review via software repository mining

March 20, 2018

R. Chatley and L. Jones, "Diggit: Automated code review via software repository mining," 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 2018, pp. 567-571. doi:10.1109/SANER.2018.8330261

Continue reading

Diggit- Mining git repositories for developer insights

April 28, 2016

By flagging code smells in review, diggit raises awareness of problems at a point in the development process where code can easily be changed, with an audience of devs who are immediately familiar with program context.

Continue reading

Coach: An alternative to Rails controllers

June 17, 2015

Today we're open sourcing Coach, a library that removes the complexity from Rails controllers. Bundle your shared behaviour into highly robust, heavily tested middlewares and rely on Coach to join them together, providing static analysis over the entire chain. Coach ensures you only require a glance to see what's being run on each controller endpoint.

Continue reading
← Older posts