SlideShare a Scribd company logo
Performance Analysis and
Call Tracing
in Microservice environments
Martin Gutenbrunner
Dynatrace Innovation Lab
@MartinGoowell
Microservice Meetup Berlin – 2016-06-30
About me
 Started with Commodore 8-bit (VC-20 and C-64)
 Built Null-Modem connections for playing Doom and WarCraft I
 Went on to IPX/SPX networks between MS-DOS 6.22 and
WfW 3.11
 Did DevOps before it was a thing (mainly Java and Web)
for ~ 10 years
 Now at Dynatrace Innovation Lab
 Tech Lead for Azure and Microservices
 Find me on Twitter: @MartinGoodwell
Passionate about life,
technology and the people
behind both of them.
Agenda
 Traditional monitoring
 What‘s wrong with it?
 Performance in your code
 The dramatic dilemma
 Happy end
@MartinGoodwell
Questions
 Please, ask and interrupt anytime!
 What‘s your occupation?
 Dev, Ops, BinExec?
 What‘s your technology stack?
 Java, .net
 Node.js
 Who of you knows what APM is/does?
A lil` bit o`history
 Traditional monitoring was for Ops only
 APM (incl. Call Tracing) is also for devs, debugging, pre-prod
@MartinGoodwell
Monitoring
@MartinGoodwell
Host performance
 CPU-usage
 Memory-usage
 Disk IO
 Network performance
@MartinGoodwell
Nagios
What‘s wrong with it?
 Nothing is wrong
 Some things might just be out of scope
 No insight into your application‘s performance
@MartinGoodwell
Performance in your code
a.k.a. Application Performance Management
@MartinGoodwell
Add monitoring code
@MartinGoodwell
Use statsd
@MartinGoodwell
statsd real quick
http://www.slideshare.net/DatadogSlides/dev-opsdays-tokyo2013effectivestatsdmonitoring
@MartinGoodwell
Use JMX
@MartinGoodwell
@MartinGoodwell
Aspect oriented programming
http://veerasundar.com/blog/2010/01/spring-aop-example-profiling-method-execution-time-tutorial/
@MartinGoodwell
Graphite Visualization
@MartinGoodwell
Any downsides here?
 Basic approaches are subject to polluting your code
 AOP is the better choice, but requires advanced skills
 If you‘re not using something like statsd, it‘s hard to have a central spot for
all your performance data of different components
 Great for performance insights of single components
 What about 3rd parties?
 Or distributed systems?
 Like, microservices, maybe
@MartinGoodwell
What about components which we
can‘t modify?
like databases, message queues, ...
@MartinGoodwell
 Best case: use readily available APIs or integrations (statsd, JMX, etc)
 For open-source: apply same technique as to your own code
 Keeping in sync with original code can become tedious
 try to make your changes part of the original project
 Use dedicated monitoring tools
 Very common for databases
 BUT even the best tool is an additional tool
 How long does it take to get a new team member up-to-speed?
@MartinGoodwell
Microservices
@MartinGoodwell
Microservices vs SOA
 Microservices
 fit the scope of a single application
 Service Oriented Architecture
 is scoped to fit enterprises / environments / infrastructures
@MartinGoodwell
 For a dev, microservices hardly pose any downsides
 On the upside, the code-size and scope of the domain becomes smaller
 Any best practices for analyzing performance of a single microservice are still
valid
 The real challenge of microservices is proper operation
@MartinGoodwell
What‘s the challenge about monitoring
microservice?
 The big challenge of well performing microservices is the communication
between the microservices
 Not in the high-performance of a single microservice
 Tracing calls between services is very difficult
@MartinGoodwell
@MartinGoodwell
Source: http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
Call Tracing
@MartinGoodwell
@MartinGoodwell
Source: http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
@MartinGoodwell
Source: http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-ids-through-microservices/
In Java
https://taidevcouk.wordpress.com/category/experiments/
@MartinGoodwell
C#
http://theburningmonk.com/2015/05/a-consistent-
approach-to-track-correlation-ids-through-microservices/
@MartinGoodwell
Leverage on existing tools
https://github.com/ordina-jworks/microservices-dashboard
@MartinGoodwell
Spring Cloud Sleuth
@MartinGoodwell
Sleuth: https://github.com/spring-cloud/spring-cloud-sleuth
Spring Cloud Sleuth implements a distributed tracing
solution for Spring Cloud.
@MartinGoodwell
Zipkin
@MartinGoodwell
Trace
https://trace.risingstack.com/
So, here we got everything we need?
 Usually, one tracing solution only covers a single technology
 Besides visualization, you‘ll also want log analysis
 ELK stack does this really well, especially in connection with correlation Ids
 But ELK stack does no visualization
 And your visualization does no log analysis
  yet another tool
 Don‘t get me started about integrating all this with host monitoring...
 The trace ends, where your code ends
 No correlation IDs for database calls
@MartinGoodwell
What‘s next?
@MartinGoodwell
Considerations for custom
implementations
 Multitude of languages
 Open-source tools can get expensive
 Manual configuration
 Often only applicable to a single technology
 Keep the pace with new technology
 Serverless code (eg AWS Lambda, Azure Functions)
@MartinGoodwell
 http://de.slideshare.net/InfoQ/netflix-built-its-own-monitoring-system-and-
why-you-probably-shouldnt
@MartinGoodwell
The Ops‘ dilemma
how to handle all this in production
how to identify production issues
how to tell the devs, what they should look into, w/o tearing down everything
@MartinGoodwell
All fine?
 While the Dev can leverage on a huge number of tools, libs and frameworks,
it‘s still up to the Ops to integrate it into a single, unified, well-integrated
solution that allows to draw the right conclusions
@MartinGoodwell
From Dev to Prod
Dev
 Single transaction
 Deal with a specific problem
 No impact on real users and business
 Can concentrate on single component
 „perfect world“
 A dev‘s deadline is made of Sprints
 A couple of weeks, usually
Ops
 100s or 1000s of transactions
 No idea, what the prob is
 Slow or bad requests impact real
users and business
 Lots of components that might not
be under your control
 An Op‘s deadline is made of SLAs
 Hours, maybe just minutes
@MartinGoodwell
The Dev-Ops-Dev-Ops-Dev-Ops dilemma
Dev
Ops
@MartinGoodwell
Sprint
(days / weeks)
SLA
(hours / minutes)
From Prod to Dev
Dev
 Single transaction
 Deal with a specific problem
 No impact on real users and business
 Can concentrate on single component 
„perfect world“
Ops
 100s or 1000s of transactions
 No idea, what the prob is
 Slow or bad requests impact real users and
business
 Lots of components that might not be under
your control
Which?
Which?
Time!
Reproduce
?
@MartinGoodwell
Commercial solutions
Dynatrace Ruxit
@MartinGoodwell
@MartinGoodwell
Dynatrace Ruxit
@MartinGoodwell
Set-up in 5 minutes
 Install a single monitoring agent per host
 Everything is auto-detected
 No changes to your source-code
 No changes to runtime configuration
 Supports a wide array of technologies
 http://www.dynatrace.com/en/ruxit/technologies/
@MartinGoodwell
Traditional metrics
@MartinGoodwell
Service metrics
@MartinGoodwell
Does not end at your custom
components
@MartinGoodwell
Baselining
 Automatically detects and correlates problems without setting thresholds
@MartinGoodwell
Includes the Client-side
 Browser auto-injection
 Includes client-side JavaScript in traces and problem-correlation
@MartinGoodwell
Visualization
@MartinGoodwell
Call Tracing
@MartinGoodwell
Solving a dilemma
Include this URL in a
trouble ticket and the Dev
can jump in right away
@MartinGoodwell
Supporting most popular technologies
• Java
• .NET
• Node.js
• PHP
• Databases via
• JDBC
• ADO.NET
• PDO
• Message Queues
• Caches
• Cloud Infrastructure Metrics
• See more at
http://www.dynatrace.com/en/ruxit/technologies/
@MartinGoodwell
Dynatrace Ruxit
2016 hours for free
@MartinGoodwell
http://bit.ly/monitoring-2016
References
 https://www.nagios.org
 https://github.com/etsy/statsd/wiki
 http://veerasundar.com/blog/2010/01/spring-aop-example-profiling-method-
execution-time-tutorial/
 http://theburningmonk.com/2015/05/a-consistent-approach-to-track-correlation-
ids-through-microservices/
 http://apmblog.dynatrace.com/2014/06/17/software-quality-metrics-for-your-
continuous-delivery-pipeline-part-iii-logging/
 https://blog.buoyant.io/2016/05/17/distributed-tracing-for-polyglot-
microservices/
 https://blog.init.ai/distributed-tracing-the-most-wanted-and-missed-tool-in-the-
micro-service-world-c2f3d7549c47#.93r1dj6ah
@MartinGoodwell

More Related Content

What's hot (20)

PPTX
Prometheus for Monitoring Metrics (Fermilab 2018)
Brian Brazil
 
PPTX
OpenTelemetry For Operators
Kevin Brockhoff
 
PDF
Opentracing 101
HungWei Chiu
 
PDF
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juliano Costa
 
ODP
Rsyslog vs Systemd Journal Presentation
Rainer Gerhards
 
PPT
Introduction to chronicle (low latency persistence)
Peter Lawrey
 
PPTX
Distributed Tracing at UBER Scale: Creating a treasure map for your monitori...
Yuri Shkuro
 
PDF
End to-end monitoring with the prometheus operator - Max Inden
Paris Container Day
 
PDF
Cloud Monitoring with Prometheus
QAware GmbH
 
PPTX
OpenTelemetry For Developers
Kevin Brockhoff
 
PPTX
OpenTelemetry For Architects
Kevin Brockhoff
 
PDF
OSDC 2014: Jordan Sissel - Find Happiness in your Logs
NETWAYS
 
PDF
Distributed tracing with OpenTracing and Jaeger @ getstream.io
Max Klyga
 
PDF
Prometheus Overview
Brian Brazil
 
PDF
Distributed Tracing
Kevin Ingelman
 
PDF
Rsyslog vs Systemd Journal (Paper)
Rainer Gerhards
 
PPTX
Streaming in the Wild with Apache Flink
Kostas Tzoumas
 
PDF
PyCon HK 2018 - Heterogeneous job processing with Apache Kafka
Hua Chu
 
PDF
Opentracing jaeger
Oracle Korea
 
PPTX
Coap based application for android phones
Md Syed Ahamad
 
Prometheus for Monitoring Metrics (Fermilab 2018)
Brian Brazil
 
OpenTelemetry For Operators
Kevin Brockhoff
 
Opentracing 101
HungWei Chiu
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juliano Costa
 
Rsyslog vs Systemd Journal Presentation
Rainer Gerhards
 
Introduction to chronicle (low latency persistence)
Peter Lawrey
 
Distributed Tracing at UBER Scale: Creating a treasure map for your monitori...
Yuri Shkuro
 
End to-end monitoring with the prometheus operator - Max Inden
Paris Container Day
 
Cloud Monitoring with Prometheus
QAware GmbH
 
OpenTelemetry For Developers
Kevin Brockhoff
 
OpenTelemetry For Architects
Kevin Brockhoff
 
OSDC 2014: Jordan Sissel - Find Happiness in your Logs
NETWAYS
 
Distributed tracing with OpenTracing and Jaeger @ getstream.io
Max Klyga
 
Prometheus Overview
Brian Brazil
 
Distributed Tracing
Kevin Ingelman
 
Rsyslog vs Systemd Journal (Paper)
Rainer Gerhards
 
Streaming in the Wild with Apache Flink
Kostas Tzoumas
 
PyCon HK 2018 - Heterogeneous job processing with Apache Kafka
Hua Chu
 
Opentracing jaeger
Oracle Korea
 
Coap based application for android phones
Md Syed Ahamad
 

Viewers also liked (20)

PPTX
Get complete visibility into containers based application environment
AppDynamics
 
PPTX
All you need to know about Orient Me
LetsConnect
 
PDF
VoxxedDays Bucharest 2017 - Powering interactive data analysis with Google Bi...
Márton Kodok
 
PPTX
Fuel cell
Ahmed M. Elkholy
 
PDF
Expect the unexpected: Prepare for failures in microservices
Bhakti Mehta
 
PDF
Performance Benchmarking of Clouds Evaluating OpenStack
Pradeep Kumar
 
PPT
Exponentiële groei v2
guest6b41899
 
PPTX
Reversing Engineering a Web Application - For fun, behavior and detection
Rodrigo Montoro
 
PDF
150430 regiosessie corv_almelo
KING
 
PDF
Docker in Production, Look No Hands! by Scott Coulton
Docker, Inc.
 
PDF
Veselík 1
Mária Čierna
 
PDF
Cloud Security Best Practices - Part 2
Cohesive Networks
 
PDF
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
Cohesive Networks
 
PDF
AppSensor - Near Real Time Event Detection and Response
jtmelton
 
PDF
Marian Marinov, 1H Ltd.
Ontico
 
PDF
IBM Containers- Bluemix
Virginia Fernandez
 
PPT
Sitios turísticos de valledupar
elkin
 
PDF
Evolutions et nouveaux outils SEO
Dimitri Brunel
 
PDF
Sprint 49 review
ManageIQ
 
PPTX
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
StampedeCon
 
Get complete visibility into containers based application environment
AppDynamics
 
All you need to know about Orient Me
LetsConnect
 
VoxxedDays Bucharest 2017 - Powering interactive data analysis with Google Bi...
Márton Kodok
 
Fuel cell
Ahmed M. Elkholy
 
Expect the unexpected: Prepare for failures in microservices
Bhakti Mehta
 
Performance Benchmarking of Clouds Evaluating OpenStack
Pradeep Kumar
 
Exponentiële groei v2
guest6b41899
 
Reversing Engineering a Web Application - For fun, behavior and detection
Rodrigo Montoro
 
150430 regiosessie corv_almelo
KING
 
Docker in Production, Look No Hands! by Scott Coulton
Docker, Inc.
 
Veselík 1
Mária Čierna
 
Cloud Security Best Practices - Part 2
Cohesive Networks
 
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
Cohesive Networks
 
AppSensor - Near Real Time Event Detection and Response
jtmelton
 
Marian Marinov, 1H Ltd.
Ontico
 
IBM Containers- Bluemix
Virginia Fernandez
 
Sitios turísticos de valledupar
elkin
 
Evolutions et nouveaux outils SEO
Dimitri Brunel
 
Sprint 49 review
ManageIQ
 
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
StampedeCon
 
Ad

Similar to Performance monitoring and call tracing in microservice environments (20)

PDF
Why DevOps Needs to Embrace Distributed Tracing
DevOps.com
 
PDF
Why DevOps Needs to Embrace Distributed Tracing
DevOps.com
 
PDF
Pushing the hassle from production to developers. Easily
Martin Gutenbrunner
 
PPTX
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Mike Villiger
 
PDF
Why Distributed Tracing is Essential for Performance and Reliability
DevOps.com
 
PDF
Combining Logs, Metrics, and Traces for Unified Observability
Elasticsearch
 
PDF
Les logs, traces et indicateurs au service d'une observabilité unifiée
Elasticsearch
 
PDF
Why Distributed Tracing is Essential for Performance and Reliability
Aggregage
 
PDF
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Fwdays
 
PDF
Moving to Microservices with the Help of Distributed Traces
KP Kaiser
 
PPTX
Microservice observability 2019
Maksym Govorischev
 
PPTX
APIs in production - we built it, can we fix it?
Martin Gutenbrunner
 
PDF
Combining Logs, Metrics, and Traces for Unified Observability
Elasticsearch
 
PDF
PinTrace Advanced AWS meetup
Suman Karumuri
 
PPTX
Unified Operations Vision
Steve Mushero
 
PPTX
Lunch and Learn and Sneakers
Bill Zajac
 
PDF
WJAX 2019 - Taking Distributed Tracing to the next level
Frank Pfleger
 
PDF
Performance Analysis: The USE Method
Brendan Gregg
 
PDF
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
PDF
Become a Performance Diagnostics Hero
TechWell
 
Why DevOps Needs to Embrace Distributed Tracing
DevOps.com
 
Why DevOps Needs to Embrace Distributed Tracing
DevOps.com
 
Pushing the hassle from production to developers. Easily
Martin Gutenbrunner
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Mike Villiger
 
Why Distributed Tracing is Essential for Performance and Reliability
DevOps.com
 
Combining Logs, Metrics, and Traces for Unified Observability
Elasticsearch
 
Les logs, traces et indicateurs au service d'une observabilité unifiée
Elasticsearch
 
Why Distributed Tracing is Essential for Performance and Reliability
Aggregage
 
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Fwdays
 
Moving to Microservices with the Help of Distributed Traces
KP Kaiser
 
Microservice observability 2019
Maksym Govorischev
 
APIs in production - we built it, can we fix it?
Martin Gutenbrunner
 
Combining Logs, Metrics, and Traces for Unified Observability
Elasticsearch
 
PinTrace Advanced AWS meetup
Suman Karumuri
 
Unified Operations Vision
Steve Mushero
 
Lunch and Learn and Sneakers
Bill Zajac
 
WJAX 2019 - Taking Distributed Tracing to the next level
Frank Pfleger
 
Performance Analysis: The USE Method
Brendan Gregg
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
Become a Performance Diagnostics Hero
TechWell
 
Ad

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
July Patch Tuesday
Ivanti
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
July Patch Tuesday
Ivanti
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 

Performance monitoring and call tracing in microservice environments