Bryan Hunt

DevOps Engineer at Foods Connected

Seasoned distributed systems architect and database expert with decades of experience across the technology stack. Started with Perl before navigating the platforms required by banks and financial institutions. Mastered a range of languages from JavaScript to Scala, specializing in enterprise Java solutions. Made a strategic pivot to BEAM technologies a decade ago, leveraging its power for distributed systems. Successfully transformed complex ETL landscapes and legacy systems into maintainable solutions. Currently focused on DevOps and platform engineering, designing resilient infrastructure for modern cloud-native applications. Passionate about building scalable, efficient systems that solve real business challenges.

Talk:
Hunting SQL Bottlenecks in Large Elixir Codebases: A Tale of ASTs and Metaprogramming

Level: Intermediate

When faced with a massive Elixir codebase generating problematic SQL queries, the traditional approach of grep-and-pray falls short. How do you track down inefficient queries when the SQL doesn’t match the Ecto source code? This talk introduces ecto_probe, a tool that leverages Elixir’s powerful metaprogramming capabilities to pinpoint the source of suboptimal SQL during compilation.

We’ll explore how ecto_probe integrates with your build pipeline to identify the origin of troublesome SQL hotspots, demonstrate practical examples of tracking down performance-killing queries, and discuss why Elixir’s metaprogramming makes this solution possible where statically typed languages like Java or C# fall short. Join us for a deep dive into AST manipulation, compile-time tooling, and the elegant solutions that Elixir’s design enables.

OBJECTIVES:

  • Fighting Technical Debt - Improving legacy systems and breaking the monolith.

AUDIENCE:

  • Elixir developers involved in DB heavy development, particularly when Ecto queries are produced by functional composition or many layers of abstraction.