Greg Mefford
Maintainer of Spandex, Former Nerves Core Team Member
Greg has always had a passion for metrics and observability and is a member of the Erlang Ecosystem Foundation Observability working group. He is the primary maintainer of the Spandex project and contributor to the Erlang/Elixir implementation of the official OpenTelemetry libraries and documentation.
Previously, he has been heavily involved in the Nerves project and community, but that has waned as he hasn't had the opportunity to use it for work in recent years.
Greg currently works at Stord, building the "Cloud Supply Chain."
Past Activities
Code BEAM Europe 2022
15.30 - 15.55
Conway's Law Compliance in a Many-Services Architecture
As your company grows and scales out, both in terms of people and software, a common pattern is to split the software up into multiple services maintained by multiple teams. Whether or not those services are micro, this leads to a lot of hard choices that you'll have to make about how to do that efficiently and maintainably.
Stord has grown significantly over the past year and has used several techniques to continue to scale our engineering teams and inter-service coordination, using synchronous API calls as well as asynchronous event-processing via Kafka. This talk will present some of the things that worked well and not-so-well that we've learned from.
OBJECTIVES
* Share learning from building a shared HTTP client for synchronous calls as well as an asynchronous event-processing infrastructure.
* Share tips for co-developing a socio-technical system that can sustain rapid growth
AUDIENCE
* Engineers looking for hard-earned technical lessons in service coordination
* Engineering Managers who are trying to scale their teams and software quickly
Code BEAM STO 2019
17.15 - 17.40
Continuous tracing in production (without Erlang's trace module)
Collecting trace data from your application is a very important, but often overlooked, aspect of Application Performance Monitoring (APM). In this talk, we will learn about the core concepts of application tracing (OpenTracing and OpenCensus), some of the tools that are available for collecting and visualizing trace data, and how this data can be used for troubleshooting errors and performance issues, in both monolithic and distributed micro-service architectures.
AUDIENCE
- Introduce the concepts of application tracing and the state of the ecosystem (Spans, Traces, Context Propagation, OpenTracing, OpenCensus, etc.)
- Explain how this is different and complementary to Erlang's built-in trace module
- Show what insights can be more easily gained from trace data as opposed to logs and metrics
- Give an overview of the tools and vendors available to start using this technology today Show how to instrument Elixir-based application code using Spandex
- Demonstrate how to explore the resulting trace data using Datadog APM to troubleshoot error and performance problems
AUDIENCE
Developers who are responsible for tracking down errors or performance issues, especially in a distributed micro-service architecture