Skip to content

lalettayin/distributed-tracing-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Tracing with Jaeger

Distributed tracing, also called distributed request tracing, is a method used to profile and monitor applications, especially those built using a microservices architecture. Distributed tracing helps pinpoint where failures occur and what causes poor performance.

How to run locally

You can run this application locally with docker-compose. docker-compose up command would run the following three containers.

  1. addition container. This service gets two integers from x and y query string and returns sum of them.
  2. multiplication container. This service get two integers from x and y query string and returns product of them. It uses addition service to calculate the result.
  3. jaeger container. You can check the trace on http://localhost:16686/

Jaeger UI

Propagating a Trace with Inject/Extract

In order to trace across process boundaries in distributed systems, services need to be able to continue the trace injected by the client that sent each request. That's why multiplication service injects its context to the HTTP request and addition service extracts it.

Inject and Extract Source: OpenTracing.io

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published