DISTRIBUTED TRACING
THE WAY TO
DISTRIBUTED TRACING WHO ARE WE? Frank Pfleger Lukasz Pielak - - PowerPoint PPT Presentation
THE WAY TO DISTRIBUTED TRACING WHO ARE WE? Frank Pfleger Lukasz Pielak @frankpfleger @lukaszpielak frank@trasier.com lukasz@trasier.com WHAT IS THIS TALK ABOUT Understand the concepts The way to Distributed
THE WAY TO
WHO ARE WE?
▸ Frank Pfleger
@frankpfleger frank@trasier.com
▸ Lukasz Pielak
@lukaszpielak lukasz@trasier.com
WHAT IS THIS TALK ABOUT
▸ Understand the concepts ▸ The way to Distributed Tracing ▸ Beyond Distributed Tracing
LOGGING
PULL REQUEST
REVIEWER CHANGES
AUTHOR CHANGES
LOGGING
LOGGING
Source: https://www.baeldung.com/mdc-in-log4j-2-logbackLOGGING
Source: https://www.baeldung.com/mdc-in-log4j-2-logbackLOGGING
LOGGING - MDC
Source: https://www.baeldung.com/mdc-in-log4j-2-logbackTRACEABILITY OF SOFTWARE
MONOLITHIC ARCHITECTURE
TRACEABILITY OF SOFTWARE
MONOLITHIC ARCHITECTURE
▸ Components tightly coupled ▸ Difficult maintenance ▸ Long time to build ▸ Big bang release
TRACEABILITY OF SOFTWARE
MICROSERVICES
TRACEABILITY OF SOFTWARE
▸ Difficult error detection (multiple
hosts / pods)
▸ Increased latency ▸ Service versioning ▸ MDC thread scoped
MICROSERVICES
TRACEABILITY OF SOFTWARE
MDC CONTEXT PROPAGATION
TK TK TK TK TK TK TK TK TK
DISTRIBUTED TRACING
BRINGING EVENTS IN
CAUSAL ORDER
IN
DISTRIBUTED ENVIRONMENT
DISTRIBUTED TRACING
Span Tracer Trace Context
(span id, trace id)
Trace
DISTRIBUTED TRACING
WHY DISTRIBUTED TRACING?
▸ Latency visualization ▸ Service dependency visualization ▸ Hidden architecture revealed ▸ Error analysis ▸ Infrastructure check ▸ Version check
▸ Trace Context ▸ Clock skew / synchronization ▸ Performance and stability ▸ Data ingestion and storage ▸ Data retention ▸ GDPA
DISTRIBUTED TRACING
PROBLEMS OF DISTRIBUTED TRACING
SERVICE B SERVICE A
Latency measurement points Host 1 Host 2
CORRELATE LOG ENTRIES TRACE COMMUNICATION BETWEEN SERVICES USE DISTRIBUTED TRACING USE TRACE-ID IN THE MDC
THE WAY TO DISTRIBUTED TRACING
BOOKING PAYMENT USER INTERFACE
Live Reporting
(Performance monitoring)
OFFER DATASTORE
BigData Store
(High-Performance / Indexing)
WEBSHOP
Context propagation
(Service Instrumentation)
Common language
(Specification / Trace-Context)
COLLECTOR
Decoupled Reporter
(Asynchronous collecting)
SUPPORT FOR OPENTRACING ENABLES
BEYOND DISTRIBUTED TRACING
BEYOND DISTRIBUTED TRACING
EASY BUG TRIAGE REPLAY CONVERSATIONS MOCK SERVICES BUSINESS ANALYSIS PREDICTIVE ANALYSIS
BUSINESS TRACING
CONVERSATION AS A WHOLE
BUSINESS TRACING
CONVERSATION AS A WHOLE
BUSINESS TRACING
CONVERSATION AS A WHOLE
Donald Trump
BUSINESS TRACING
BEYOND DISTRIBUTED TRACING
BUSINESS TRACING
REPLAY CONVERSATIONS MOCK SERVICES BUSINESS ANALYSIS PREDICTIVE ANALYSIS
BEYOND DISTRIBUTED TRACING
BUSINESS TRACING EASY BUG TRIAGE
MOCK SERVICES BUSINESS ANALYSIS PREDICTIVE ANALYSIS
BEYOND DISTRIBUTED TRACING
BOOKING PAYMENT OFFER WEBSHOP DATASTORE
BEYOND DISTRIBUTED TRACING
BOOKING PAYMENT OFFER WEBSHOP DATASTORE REPLAY-ENGINE
BEYOND DISTRIBUTED TRACING
BUSINESS TRACING EASY BUG TRIAGE REPLAY CONVERSATIONS
BUSINESS ANALYSIS PREDICTIVE ANALYSIS
PAYMENT
BEYOND DISTRIBUTED TRACING
BOOKING OFFER WEBSHOP PAYMENT-MOCK DATASTORE
BEYOND DISTRIBUTED TRACING
BUSINESS TRACING EASY BUG TRIAGE REPLAY CONVERSATIONS MOCK SERVICES
PREDICTIVE ANALYSIS
BEYOND DISTRIBUTED TRACING
BOOKING PAYMENT OFFER WEBSHOP DATASTORE ANALYZER USER INTERFACE
BEYOND DISTRIBUTED TRACING
BUSINESS TRACING EASY BUG TRIAGE REPLAY CONVERSATIONS MOCK SERVICES BUSINESS ANALYSIS
TRY EXISTING SOLUTIONS REUSABLE TRACE CONTEXT CONSIDER THE VALUE OF YOUR DATA
▸
Lukasz Pielak @lukaszpielak lukasz@trasier.com ▸
Frank Pfleger @frankpfleger frank@trasier.com
▸ OpenTracing ▸ https://opentracing.io ▸ OpenCensus ▸ https://opencensus.io ▸ Zipkin ▸ https://zipkin.io ▸ Jaeger ▸ https://jaegertracing.io ▸ Trasier ▸ https://trasier.com
adesso Schweiz AG Bahnhaldenstrasse 7 CH-8052 Zurich T +41 58 520 98 00 adesso Schweiz AG Morgenstrasse 129 CH-3018 Bern T +41 58 520 97 00 adesso Schweiz AG Viaduktstrasse 8 CH-4051 Basel T +41 58 520 97 20 info@adesso.ch www.adesso.ch