Rootconf Pune edition

On security, network engineering and distributed systems

Implementing distributed tracing in FaaS

Submitted by Bhavin Gandhi (@bhavin192) on Jul 15, 2019

Section: Full talk (40 mins) Category: Monitoring and logging Status: Confirmed & Scheduled


Microservices as well as functions have changed the way applications are built and deployed now a days. Adoption of these distributed architectures have helped teams to implement scalable, efficient and reliable systems. Operational tasks like debugging have became quite tricky with this change. With functions, these tasks become more complicated when you have message queues like Kafka in between. Having a system to which we can ask questions about state of our services is really crucial. Distributed tracing helps to have observability in our system. It helps to get more insight into how our services are communicating.

This talk will be a walk through about my journey of implementing distributed tracing in functions which run on a Function as a Service platform, called Fission. It will also brief about changes made to the Fission’s components, as well Jaeger’s client library along the way.


  1. What is observability?
    - Logging and metrics
    - Distributed tracing
  2. About Fission
    - Fission function environments
  3. About Jaeger
    - Instrumenting applications using client libraries
  4. Architecture of demo application
    - Kafka as message queue
  5. Instrumenting the functions
    - Modifications made to the Fission’s environments
    - Propagating the context through Kafka
  6. Changes made to Fission
  7. Changes made to Jaeger’s Python library


  • It is better to have basic idea about microservices

Speaker bio

Bhavin is working with InfraCloud Technologies, Pune. His main area of interest are Free/Libre and Open Source Software, DevSecOps, containers and Kubernetes. Have contributed to Fission as well Jaeger’s components.




{{ errorMsg }}

You need to be a participant to comment.

Login to leave a comment