Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Tracing across your distributed process
boundaries using
15-16 Sep 2021
Dasith Wijesiriwardena
@dasiths
OpenTelemetry
I am here because
I have a love hate relationship
with distributed systems.
HELLO
!
I AM
Dasith
@dasiths
dasith.me
Distributed tracing using OpenTelemetry
Introduction to distributed tracing
Agenda
Demo using OpenTelemetry .NET SDK
Intro...
“
Peter Drucker
@dasiths
You can’t manage
what you can’t
measure..
New York
JULY
Australia
SEPTEMBER
Singapore
APRIL
Helsinki & North
MARCH
Paris
DECEMBER
London
OCTOBER
Jakarta
FEBRUARY
Ho...
@dasiths
Introduction to
Distributed Tracing
@dasiths
Distributed Tracing
@dasiths
Distributed tracing, also called distributed request
tracing, is a method used to profile and...
@dasiths
Example
Distributed Tracing
API
Gateway
Middleware
Backend
Databas
e
AP
P
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
@dasiths
Example
Request
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
API
Gateway
AP
P
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
fields ...
@dasiths
Example
Distributed Tracing
Middleware
Backend
Databas
e
Correlation_ID = ABC123
Request
API
Gateway
AP
P
fields ...
@dasiths
Example
Request
Distributed Tracing
Middleware
Backend
Databas
e
https://link.springer.com/chapter/10.1007/978-3-...
@dasiths
Example
Request
Distributed Tracing
Middleware
Backend
Databas
e
https://link.springer.com/chapter/10.1007/978-3-...
@dasiths
Example
Request
Distributed Tracing
Backend
Databas
e
Middleware
API
Gateway
AP
P
@dasiths
Example
Request
Distributed Tracing
Backend
Databas
e
Middleware
API
Gateway
AP
P
@dasiths
Example
Request
Distributed Tracing
Backend
Databas
e
Middleware
API
Gateway
AP
P
Looking at the
Modern Landscape
@dasiths
•Runs natively on the cloud
•Distributed (i.e. Microservices)
•Managed by many teams
•Broad set of languages and framework...
Enter
OpenTelemetry
@dasiths
@dasiths
An observability framework for
cloud-native software.
OpenTelemetry is a collection of tools, APIs, and SDKs.
You...
@dasiths
An observability framework for
cloud-native software.
OpenTelemetry is a collection of tools, APIs, and SDKs.
You...
All About The
SPA
N
@dasiths
OpenTelemetry Architecture
@dasiths
Signals
Tracing Metrics Baggage
Context Propagation
Defined By
All About The Span
@dasiths
Tracing Span
https://medium.com/nikeengineering/hit-the-ground-running-with-distrib...
Defined By
All About The Span
@dasiths
Tracing Span
https://medium.com/nikeengineering/hit-the-ground-running-with-distrib...
Context Propagation
@dasiths
Span (A)
Time
AP
P
TraceId: 1
ParentSpan: Null
@dasiths
Context
Propagation
Span (A) Span (B)
Time
Context Propagation
TraceId: 1
ParentSpan: Null
TraceId: 1
ParentSpan:...
@dasiths
Context
Propagation
Context
Propagation
Span (C)
Span (D)
Context
Propagation
Span (A) Span (B)
Time
@
Context Pr...
@dasiths
Context
Propagation
Context
Propagation
Span (C)
Span (D)
• TraceId
• SpanId
• TraceFlags
• TraceState
Context
Pr...
@dasiths
Context
Propagation
Context
Propagation
Span (C)
Span (D)
• TraceId
• SpanId
• TraceFlags
• TraceState
Context
Pr...
Pr
@dasiths
Context
Propagation
Context
Propagation Span (D)
• TraceId
• SpanId
• TraceFlags
• TraceState
Context
Propagat...
Pr
@dasiths
Context
Propagation
Context
Propagation Span (D)
• TraceId
• SpanId
• TraceFlags
• TraceState
Context
Propagat...
Pr
@dasiths
Context
Propagation
Context
Propagation Span (D)
Context
Propagation
Baggage
Baggage
Baggage
Span (C)
Span (A)...
Pr
@dasiths
Context
Propagation
Context
Propagation Span (D)
Context
Propagation
Baggage
Baggage
Baggage
Span (C)
Span (A)...
DEM
O
@dasiths
https://github.com/dasiths/OpenTelemetryDistributedTracingSample
•Span (Activity) + Baggage
 Trace Context, Parent->Child, Tags, Events
•Context Propagation
 Injecting & extracting, bui...
Pr
@dasiths
Propagation
Exporters (Traces + Metrics)
@dasiths
And lots
more…
Start using
OpenTelemetry
today!
Distributed tracing is essential for
performance and reliability of
modern cloud native s...
Any questions?
THANKS!
@dasiths
dasith.me
https://www.nationalgeographic.com/travel/destinations/asia/sri-
lanka/
Great co...
Presentation template designed by powerpointify.com
Special thanks to all people who made and shared these awesome resourc...
New York
JULY
Australia
SEPTEMBER
Singapore
APRIL
Helsinki & North
MARCH
Paris
DECEMBER
London
OCTOBER
Jakarta
FEBRUARY
Ho...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0

Share

apidays LIVE Australia 2021 - Tracing across your distributed process boundaries using OpenTelemetry by Dasith Wijes, Microsoft (Azure Cloud & AI Team)

Download to read offline

apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021

Tracing across your distributed process boundaries using OpenTelemetry
Dasith Wijes, Senior Consultant at Microsoft (Azure Cloud & AI Team)

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

apidays LIVE Australia 2021 - Tracing across your distributed process boundaries using OpenTelemetry by Dasith Wijes, Microsoft (Azure Cloud & AI Team)

  1. 1. Tracing across your distributed process boundaries using 15-16 Sep 2021 Dasith Wijesiriwardena @dasiths OpenTelemetry
  2. 2. I am here because I have a love hate relationship with distributed systems. HELLO ! I AM Dasith @dasiths dasith.me
  3. 3. Distributed tracing using OpenTelemetry Introduction to distributed tracing Agenda Demo using OpenTelemetry .NET SDK Introduction to OpenTelemetry @dasiths
  4. 4. “ Peter Drucker @dasiths You can’t manage what you can’t measure..
  5. 5. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here
  6. 6. @dasiths
  7. 7. Introduction to Distributed Tracing @dasiths
  8. 8. Distributed Tracing @dasiths 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. https://opentracing.io/docs/overview/what-is-tracing/
  9. 9. @dasiths Example Distributed Tracing API Gateway Middleware Backend Databas e AP P
  10. 10. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P
  11. 11. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P
  12. 12. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P
  13. 13. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P
  14. 14. @dasiths Example Request Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 API Gateway AP P
  15. 15. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P fields @timestamp, @message | filter @message like /some-unique-thing-for-the-request/ | sort @timestamp desc | limit 20
  16. 16. @dasiths Example Distributed Tracing Middleware Backend Databas e Correlation_ID = ABC123 Request API Gateway AP P fields @timestamp, @message | filter @message like /some-unique-thing-for-the-request/ | sort @timestamp desc | limit 20
  17. 17. @dasiths Example Request Distributed Tracing Middleware Backend Databas e https://link.springer.com/chapter/10.1007/978-3-030-61140-8_9 Correlation_ID = ABC123 API Gateway AP P
  18. 18. @dasiths Example Request Distributed Tracing Middleware Backend Databas e https://link.springer.com/chapter/10.1007/978-3-030-61140-8_9 Correlation_ID = ABC123 API Gateway AP P
  19. 19. @dasiths Example Request Distributed Tracing Backend Databas e Middleware API Gateway AP P
  20. 20. @dasiths Example Request Distributed Tracing Backend Databas e Middleware API Gateway AP P
  21. 21. @dasiths Example Request Distributed Tracing Backend Databas e Middleware API Gateway AP P
  22. 22. Looking at the Modern Landscape @dasiths
  23. 23. •Runs natively on the cloud •Distributed (i.e. Microservices) •Managed by many teams •Broad set of languages and frameworks •Built on top of open source technologies Modern Software.. @dasiths
  24. 24. Enter OpenTelemetry @dasiths
  25. 25. @dasiths An observability framework for cloud-native software. OpenTelemetry is a collection of tools, APIs, and SDKs. You can use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. https://opentelemetry.io/
  26. 26. @dasiths An observability framework for cloud-native software. OpenTelemetry is a collection of tools, APIs, and SDKs. You can use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. https://opentelemetry.io/
  27. 27. All About The SPA N @dasiths
  28. 28. OpenTelemetry Architecture @dasiths Signals Tracing Metrics Baggage Context Propagation
  29. 29. Defined By All About The Span @dasiths Tracing Span https://medium.com/nikeengineering/hit-the-ground-running-with-distributed-tracing-core-concepts-ff5ad47c7058
  30. 30. Defined By All About The Span @dasiths Tracing Span https://medium.com/nikeengineering/hit-the-ground-running-with-distributed-tracing-core-concepts-ff5ad47c7058 Temporal Relationship Casual Relationship
  31. 31. Context Propagation @dasiths Span (A) Time AP P TraceId: 1 ParentSpan: Null
  32. 32. @dasiths Context Propagation Span (A) Span (B) Time Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A AP P
  33. 33. @dasiths Context Propagation Context Propagation Span (C) Span (D) Context Propagation Span (A) Span (B) Time @ Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  34. 34. @dasiths Context Propagation Context Propagation Span (C) Span (D) • TraceId • SpanId • TraceFlags • TraceState Context Propagation Span (A) Span (B) Span Context Time @ Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  35. 35. @dasiths Context Propagation Context Propagation Span (C) Span (D) • TraceId • SpanId • TraceFlags • TraceState Context Propagation Span (A) Span (B) Span Context Time Process 2 Process 1 @ Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  36. 36. Pr @dasiths Context Propagation Context Propagation Span (D) • TraceId • SpanId • TraceFlags • TraceState Context Propagation Span Context Span (C) Span (A) Span (B) Over-the-wire vs in-process Time Process 1 Process 2 @ Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  37. 37. Pr @dasiths Context Propagation Context Propagation Span (D) • TraceId • SpanId • TraceFlags • TraceState Context Propagation Span Context Span (C) Span (A) Span (B) Inject Context To Outgoing Request Over-the-wire vs in-process Time Process 2 Process 1 @ Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B Extract Context From Incoming Request AP P
  38. 38. Pr @dasiths Context Propagation Context Propagation Span (D) Context Propagation Baggage Baggage Baggage Span (C) Span (A) Span (B) Baggage Time Process 1 Process 2 @ Context Propagation Inject Context To Outgoing Request Extract Context From Incoming Request TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  39. 39. Pr @dasiths Context Propagation Context Propagation Span (D) Context Propagation Baggage Baggage Baggage Span (C) Span (A) Span (B) Time Process 1 Process 2 @ Inject Context To Outgoing Request Extract Context From Incoming Request KeyValue Pairs Baggage Data Baggage Context Propagation TraceId: 1 ParentSpan: Null TraceId: 1 ParentSpan: A TraceId: 1 ParentSpan: B TraceId: 1 ParentSpan: B AP P
  40. 40. DEM O @dasiths https://github.com/dasiths/OpenTelemetryDistributedTracingSample
  41. 41. •Span (Activity) + Baggage  Trace Context, Parent->Child, Tags, Events •Context Propagation  Injecting & extracting, built-in vs custom instrumentation  HTTP W3C trace context vs custom serialisation •Exporting  Forwarding to & observing the traces in Zipkin Demo Highlights @dasiths
  42. 42. Pr @dasiths Propagation
  43. 43. Exporters (Traces + Metrics) @dasiths And lots more…
  44. 44. Start using OpenTelemetry today! Distributed tracing is essential for performance and reliability of modern cloud native software. It’s no longer a “nice to have”. @dasiths
  45. 45. Any questions? THANKS! @dasiths dasith.me https://www.nationalgeographic.com/travel/destinations/asia/sri- lanka/ Great content curated by our ANZ Dev team: https://aka.ms/DevNewsletterJoin 1. Sign up for our monthly developer newsletter We have a great Azure APIM Architecture Learning Path you can complete at: http://aka.ms/LearnAzureAPIM 3. Head to Microsoft Learn Email a screenshot of the newsletter subscription confirmation to ANZAzureDevs@microsoft.com. First 20 requests only – 1 Pass per person. 2. Request your $50 USD Azure Pass Get hands-on with Azure API Management for free!
  46. 46. Presentation template designed by powerpointify.com Special thanks to all people who made and shared these awesome resources for free: CREDIT S Photographs by unsplash.com Free Fonts used: https://www.fontsquirrel.com/fonts/oswald @dasiths
  47. 47. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here

apidays LIVE Australia 2021 - Accelerating Digital September 15 & 16, 2021 Tracing across your distributed process boundaries using OpenTelemetry Dasith Wijes, Senior Consultant at Microsoft (Azure Cloud & AI Team)

Views

Total views

2,124

On Slideshare

0

From embeds

0

Number of embeds

39

Actions

Downloads

11

Shares

0

Comments

0

Likes

0

×