Implementing distributed tracing in FaaS
summary
Shows how Bhavin Gandhi added distributed tracing to functions running on the Fission FaaS platform, using Kafka as the message queue and Jaeger for tracing. Covers the application architecture, changes to Fission environments, how trace context is propagated through Kafka, and modifications made to Jaeger’s Python client library.
AI-written summary · about
chapters (10)
- 0:00DISTRIBUTED TRACING AND FAAS? Tracing Fission functions with Joeyer Bhavin Gandhi InfraCloud Technologies
- 1:36MONITORING Is the service working Let's keep checking for that
- 3:22OBSERVABILITY Being able to get view of system Helps to understand your system
- 4:47LOGGING Events, errors occurred in applications The limits of logging Signal to noise ratio Serve for problems predicted in advanced
- 6:25METRICS MONITORING Numerical information about what's happening Help to predict the behavior
- 12:50FUNCTION TRIGGER • Actions to inwoke function execution • Supports HTTP and message queues
- 15:42HOW TO COLLECT THESE EVENTS? • Instrumenting your code • Client libraries built according to OpenTracing standards
- 16:17LET'S TRACE THINGS Instrumenting each function's code? • Environments to the rescue
- 24:33inject OPERATION 1. Create headers for further requests made by user code tracer.inject() 2. Save the current span and new headers in Flask's globalg
- 30:02WRONG TIMESTAMPS ON SPANS • Clock Skew adjustments • Using FOLLOWS FROM reference instead CHILD OF
related talks
37mDeep Dive: Jaeger – Steve Flanders
35mNavigating the Distributed Systems Execution Maze With OpenTracing
51mDistributed Tracing for microservices with Jaeger
24mData analytics with distributed tracing data
34mDistributed Tracing, Lessons Learned
36mFission: a Serverless Function Framework on Kubernetes [B]
38mDistributed tracing with Jaeger and ClickHouse
33mFission: Serverless Functions for Kubernetes
