尊敬的 微信汇率:1円 ≈ 0.046078 元 支付宝汇率:1円 ≈ 0.046168元 [退出登录]
SlideShare a Scribd company logo
The Differing Ways to Monitor and Instrument
FullStack London July 15th, 2016
Jonah Kowall, VP Market Development and Insights
Twitter : @jkowall
Jonah Kowall’s Background
• 20+ years in IT
• Computer Science
• FreeBSD project
• Security - CISSP, CISA, PCI
• Started one of the first content filtering companies
• Infrastructure and Operations enterprises and startups
• Ran global monitoring at Thomson Reuters
• Ran IT Operations at mfg.com manufacturing marketplace
• Gartner Research VP 3.5 years
• Strategy AppDynamics 1.5 years
Agenda
• Introduction to Instrumentation
• Instrumentation done by people
• Challenges in instrumentation of the right processes
• Technical instrumentation of Browsers and Mobile
• Technical instrumentation of Server (php, Java, .NET…)
• How to implement the right logging
• How to correlate across technologies
Definitions
Instrumentation
“The design, construction, and provision of
instruments for measurement, control, etc; the
state of being equipped with or controlled by
such instruments collectively.”
Telemetry
“Automated communications process by which
measurements are made and other data
collected at remote or inaccessible points and
transmitted to receiving equipment for
monitoring.”
Software Instrumentation Data Types
• Metrics
– Key value pairs
– Numeric values
– Time series
• Events
– Informational
– Errors
– Critical Events
Use Cases for Data Types
• Metrics
– Average, Peak
– Percentage
– Correlation to Metrics
and Events
• Events
– Search
– Parse
– Correlate to Metrics
Software Instrumentation
• Logging
– Supplied by vendor
– Created by developers
– Not easily controlled
• Push Collection
– Attach and extract
– Software agent or network tap
• Pull Collection
– Polling APIs - HTTP, SNMP, WMI
Priorities for Instrumentation
• Business
• Application
• Services
• Infrastructure
Events and Metrics
Business Instrumentation
Uplevel the Conversation
• Understand the customer
- Internally and externally
• Requirements should be gathered across
business and IT teams
• Responsibility for definition of monitoring
should be shared
Business Metrics and KPIs
• Customer Metrics
- Conversion between
products
- Loyalty and retention
(churn)
- Usage metrics (feature
and product)
• Sales and Marketing
Metrics
- Revenue
- Cost of customer
acquisition
- User flows through
applications
Technical Metrics and KPIs
• End to end performance
– User through transaction hops
– Error isolation
• End user experience
– Client side errors
– Latency per element (page or app) + 3rd party
– Client side DNS
• Application component performance
– Metrics from app server
– Metrics from code
– Queries
– Errors
• Intra application component performance
Use Cases for Business and Technical Data
• Usage
• Problem identification - MTTI
• Problem resolution - MTTR
• User satisfaction
• Usability
• Performance
• Change analysis
– A/B testing
– data center moves
– technology changes
Frontend Instrumentation
Instrumenting Browsers
Instrumenting Mobile
Simulating Users
Synthetic transactions are good for
• SLAs
• Availability
• Baseline performance
• DNS
• SSL
But if you try to use it as a
barometer you will fail
Backend Instrumentation of Java and .NET
Java Instrumentation
JSR-163 (JavaTM Platform Profiling
Architecture) added in Java 1.5
Overloads the default behavior of
Java to allow hooks into code for
many use cases
Since JDK 1.6, for the Oracle
HotSpot JVM, a javaagent may be
dynamically attached to a running
JVM by specifying the process-id
(pid).
.NET Instrumentation
● Profiling API loaded into the same process as the application process that is being profiled.
● Callback interface (ICorProfilerCallback in the .NET Framework version 1.0 and 1.1,
ICorProfilerCallback2 in version 2.0 and later)
● CLR calls the methods in that interface to notify the .NET agent of events in the profiled process
● Profiler can also call into the CLR by using the methods in the ICorProfilerInfo and ICorProfilerInfo2
interfaces to obtain information about the state of the profiled application
● Callbacks are used to inject MSIL (Microsoft Intermediate Language) bytecode into existing application
code for instrumentation.
Backend Instrumentation of Interpreted
Languages
Monkey Patching
Wikipedia relevant definition:
In Ruby,[3] Python,[4] and many other dynamic programming languages...
dynamic modifications of a class or module at runtime, motivated by the intent
to patch existing third-party code as a workaround to a bug or feature which
does not act as desired
Disclaimer : Can be very dangerous, hard to maintain
• Replace methods / attributes / functions at runtime
• Apply a patch at runtime to the objects in memory, instead of the
source code on disk;
PHP Instrumentation
Zend callback methods zend_execute(…), zend_execute_internal(…)
and zend_compile_file(…) so that it can wrap the original
implementations with instrumentation code.
Handles state changes
and new web server
initialization (which are
PHP instances)
Node.js Instrumentation
● Wrap methods using before, after and around aspect
interceptors.
● Callback along with after, before and around aspect interceptor.
● Notifications when asynchronous calls are complete.
Python Instrumentation
Logging Best Practices
• Easily parsed (JSON)
• Time (long), Source
• Log errors and exceptions
• Logs are not transaction records, they are not good metric
stores
• Write your own identifiers for each statement logged (or
instrument and inject)
• Think about security implications (plain text, on disk,
syslog insecure)
• Keep small (thanks Java, .NET…)
• Don’t overdo it (performance implications)
Transaction Correlation
End-to-end visibility of business transactions
Unified Monitoring
Copyright © 2015 AppDynamics. All rights reserved. 28
Tag Trace
Instrument every user transaction Dynamically collect application and contextual data Learn behavior and performance patterns
Learn
Infrastructure VisibilityEnd User Monitoring Application Performance Management
NoSQL
Correlation in end to end APM
Correlation in asynchronous calls (headache)
Correlation in Open Source
Zipkin is the most advanced, many new forks and
instrumentations (Java, JavaScript, Python, Ruby, C#, Go)
No async support :(
Future of Correlation in Open Source
• OpenTracing an open standard API
for instrumentation
– Doesn’t manage overhead, can hang
yourself
• PivotTracing runs distributed traces
on demand
– After issues detected
• Spigo visualization and simulation
lots of evolution
Correlation in Logs
• Log every transaction segment
• Persist a GUID or transaction ID
• This is very difficult in large teams
• Inefficient to analyze and pull metrics from logs
• Doesn’t work unless you own the code
[code]
PERF,2013-04-03 11:29:52.640,external,0x123456,NA,service1,MyAPP,jimmy,NA,336,NA,NA
INFO,2013-04-03 11:29:53.189,internal,789012,0x123456,service2,TheirApp,jimmy,NA,174,NA,NA
INFO,2013-04-03 11:29:52.892,internal,345678,789012,service3,TheirApp,jimmy,NA,163,NA,NA
[/code]
Transaction Correlation and Logs!
• Many integrations across APM
and Log vendors
• Can add correlation in code
and use any log tool
– ex:[%X{AD.requestGUID}]
• We auto inject and correlate
(one platform)
Thank You

More Related Content

What's hot

AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to StartAMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
Ivanti
 
Take Control of Application Performance
Take Control of Application PerformanceTake Control of Application Performance
Take Control of Application Performance
Riverbed Technology
 
6 Simple Steps to Enterprise Digital Transformation
6 Simple Steps to Enterprise Digital Transformation6 Simple Steps to Enterprise Digital Transformation
6 Simple Steps to Enterprise Digital Transformation
Inductive Automation
 
Get More Data Into Your SCADA
Get More Data Into Your SCADAGet More Data Into Your SCADA
Get More Data Into Your SCADA
Inductive Automation
 
Ibm itsm portfolio
Ibm itsm portfolioIbm itsm portfolio
Ibm itsm portfolio
Detlef Wolf
 
Fixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces FrustrationFixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces Frustration
Inductive Automation
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
IndicThreads
 
Top 10 Design & Security Tips to Elevate Your SCADA System
Top 10 Design & Security Tips to Elevate Your SCADA SystemTop 10 Design & Security Tips to Elevate Your SCADA System
Top 10 Design & Security Tips to Elevate Your SCADA System
Inductive Automation
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
Inductive Automation
 
Intelligent Digital Mesh Testing
Intelligent Digital Mesh TestingIntelligent Digital Mesh Testing
Intelligent Digital Mesh Testing
Nagarro
 
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven AlertsA DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
DevOps.com
 
Real Tools for Digital Transformation
Real Tools for Digital TransformationReal Tools for Digital Transformation
Real Tools for Digital Transformation
Inductive Automation
 
Design Like a Pro: Essential Steps for Enterprise Architectures
Design Like a Pro: Essential Steps for Enterprise ArchitecturesDesign Like a Pro: Essential Steps for Enterprise Architectures
Design Like a Pro: Essential Steps for Enterprise Architectures
Inductive Automation
 
July webinar slides industry 4.0 view from the front lines
July webinar slides industry 4.0  view  from the front linesJuly webinar slides industry 4.0  view  from the front lines
July webinar slides industry 4.0 view from the front lines
Inductive Automation
 
Mobility Meets Manufacturing
Mobility Meets ManufacturingMobility Meets Manufacturing
Mobility Meets Manufacturing
Inductive Automation
 
Solution day : Running infrastructure like a cloud speed and agile
Solution day : Running infrastructure like a cloud speed and agileSolution day : Running infrastructure like a cloud speed and agile
Solution day : Running infrastructure like a cloud speed and agile
PT Datacomm Diangraha
 
mHealth Summit EU 2015
mHealth Summit EU 2015mHealth Summit EU 2015
mHealth Summit EU 2015
3GDR
 
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & Technology
SARCCOM
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise Solutions
Inductive Automation
 
How Allscripts Streamlined Root Cause Analysis - AppSphere16
How Allscripts Streamlined Root Cause Analysis - AppSphere16How Allscripts Streamlined Root Cause Analysis - AppSphere16
How Allscripts Streamlined Root Cause Analysis - AppSphere16
AppDynamics
 

What's hot (20)

AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to StartAMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
AMB110: IT Asset Management – How to Start When You Don’t Know Where to Start
 
Take Control of Application Performance
Take Control of Application PerformanceTake Control of Application Performance
Take Control of Application Performance
 
6 Simple Steps to Enterprise Digital Transformation
6 Simple Steps to Enterprise Digital Transformation6 Simple Steps to Enterprise Digital Transformation
6 Simple Steps to Enterprise Digital Transformation
 
Get More Data Into Your SCADA
Get More Data Into Your SCADAGet More Data Into Your SCADA
Get More Data Into Your SCADA
 
Ibm itsm portfolio
Ibm itsm portfolioIbm itsm portfolio
Ibm itsm portfolio
 
Fixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces FrustrationFixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces Frustration
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
Top 10 Design & Security Tips to Elevate Your SCADA System
Top 10 Design & Security Tips to Elevate Your SCADA SystemTop 10 Design & Security Tips to Elevate Your SCADA System
Top 10 Design & Security Tips to Elevate Your SCADA System
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
 
Intelligent Digital Mesh Testing
Intelligent Digital Mesh TestingIntelligent Digital Mesh Testing
Intelligent Digital Mesh Testing
 
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven AlertsA DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
A DevOps Tutorial to Set-up Intelligent Machine Learning Driven Alerts
 
Real Tools for Digital Transformation
Real Tools for Digital TransformationReal Tools for Digital Transformation
Real Tools for Digital Transformation
 
Design Like a Pro: Essential Steps for Enterprise Architectures
Design Like a Pro: Essential Steps for Enterprise ArchitecturesDesign Like a Pro: Essential Steps for Enterprise Architectures
Design Like a Pro: Essential Steps for Enterprise Architectures
 
July webinar slides industry 4.0 view from the front lines
July webinar slides industry 4.0  view  from the front linesJuly webinar slides industry 4.0  view  from the front lines
July webinar slides industry 4.0 view from the front lines
 
Mobility Meets Manufacturing
Mobility Meets ManufacturingMobility Meets Manufacturing
Mobility Meets Manufacturing
 
Solution day : Running infrastructure like a cloud speed and agile
Solution day : Running infrastructure like a cloud speed and agileSolution day : Running infrastructure like a cloud speed and agile
Solution day : Running infrastructure like a cloud speed and agile
 
mHealth Summit EU 2015
mHealth Summit EU 2015mHealth Summit EU 2015
mHealth Summit EU 2015
 
Telco Business & Technology
Telco Business & TechnologyTelco Business & Technology
Telco Business & Technology
 
Design Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise SolutionsDesign Like a Pro: Planning Enterprise Solutions
Design Like a Pro: Planning Enterprise Solutions
 
How Allscripts Streamlined Root Cause Analysis - AppSphere16
How Allscripts Streamlined Root Cause Analysis - AppSphere16How Allscripts Streamlined Root Cause Analysis - AppSphere16
How Allscripts Streamlined Root Cause Analysis - AppSphere16
 

Viewers also liked

Uxdevsummit - Best practices for instrumentation
Uxdevsummit - Best practices for instrumentationUxdevsummit - Best practices for instrumentation
Uxdevsummit - Best practices for instrumentation
Jonah Kowall
 
Microservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrowMicroservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrow
Jonah Kowall
 
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
Uxdevsummit - Microservices the modern it stack- trends of tomorrowUxdevsummit - Microservices the modern it stack- trends of tomorrow
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
Jonah Kowall
 
TopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
TopConf : DevOps Monitoring: Feedback Loops in Enterprise EnvironmentsTopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
TopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
Jonah Kowall
 
DevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environmentsDevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environments
Jonah Kowall
 
Living in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationLiving in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode Manipulation
C4Media
 
Application Security Workshop
Application Security Workshop Application Security Workshop
Application Security Workshop
Priyanka Aash
 
HackFest 2015 - Rasp vs waf
HackFest 2015 - Rasp vs wafHackFest 2015 - Rasp vs waf
HackFest 2015 - Rasp vs waf
IMMUNIO
 
Top 5 Java Performance Metrics, Tips & Tricks
Top 5 Java Performance Metrics, Tips & TricksTop 5 Java Performance Metrics, Tips & Tricks
Top 5 Java Performance Metrics, Tips & Tricks
AppDynamics
 
App dynamics and servicenow v5
App dynamics and servicenow   v5App dynamics and servicenow   v5
App dynamics and servicenow v5
BrendanBooth
 
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Jeff Williams
 
AppDynamics Custom Transaction Correlation
 AppDynamics Custom Transaction Correlation AppDynamics Custom Transaction Correlation
AppDynamics Custom Transaction Correlation
AppDynamics
 
AppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideAppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete Guide
Takipi
 
How to make slide online?
How to make slide online?How to make slide online?
How to make slide online?
jessecadelina
 
veterinaria
veterinariaveterinaria
veterinaria
Lili Cardenas
 
Shepley ross introduction_od_es_manual_4th
Shepley ross introduction_od_es_manual_4thShepley ross introduction_od_es_manual_4th
Shepley ross introduction_od_es_manual_4th
gabo GAG
 
Laurence
LaurenceLaurence
Laurence
JURY
 
Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)
c.titus.brown
 
Death
DeathDeath
Navigating Your Way to Business Success in India
Navigating Your Way to Business Success in IndiaNavigating Your Way to Business Success in India
Navigating Your Way to Business Success in India
Kegler Brown Hill + Ritter
 

Viewers also liked (20)

Uxdevsummit - Best practices for instrumentation
Uxdevsummit - Best practices for instrumentationUxdevsummit - Best practices for instrumentation
Uxdevsummit - Best practices for instrumentation
 
Microservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrowMicroservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrow
 
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
Uxdevsummit - Microservices the modern it stack- trends of tomorrowUxdevsummit - Microservices the modern it stack- trends of tomorrow
Uxdevsummit - Microservices the modern it stack- trends of tomorrow
 
TopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
TopConf : DevOps Monitoring: Feedback Loops in Enterprise EnvironmentsTopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
TopConf : DevOps Monitoring: Feedback Loops in Enterprise Environments
 
DevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environmentsDevOps monitoring: Feedback loops in enterprise environments
DevOps monitoring: Feedback loops in enterprise environments
 
Living in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode ManipulationLiving in the Matrix with Bytecode Manipulation
Living in the Matrix with Bytecode Manipulation
 
Application Security Workshop
Application Security Workshop Application Security Workshop
Application Security Workshop
 
HackFest 2015 - Rasp vs waf
HackFest 2015 - Rasp vs wafHackFest 2015 - Rasp vs waf
HackFest 2015 - Rasp vs waf
 
Top 5 Java Performance Metrics, Tips & Tricks
Top 5 Java Performance Metrics, Tips & TricksTop 5 Java Performance Metrics, Tips & Tricks
Top 5 Java Performance Metrics, Tips & Tricks
 
App dynamics and servicenow v5
App dynamics and servicenow   v5App dynamics and servicenow   v5
App dynamics and servicenow v5
 
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...Continuous Application Security at Scale with IAST and RASP -- Transforming D...
Continuous Application Security at Scale with IAST and RASP -- Transforming D...
 
AppDynamics Custom Transaction Correlation
 AppDynamics Custom Transaction Correlation AppDynamics Custom Transaction Correlation
AppDynamics Custom Transaction Correlation
 
AppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideAppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete Guide
 
How to make slide online?
How to make slide online?How to make slide online?
How to make slide online?
 
veterinaria
veterinariaveterinaria
veterinaria
 
Shepley ross introduction_od_es_manual_4th
Shepley ross introduction_od_es_manual_4thShepley ross introduction_od_es_manual_4th
Shepley ross introduction_od_es_manual_4th
 
Laurence
LaurenceLaurence
Laurence
 
Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)Pycon 2011 talk (may not be final, note)
Pycon 2011 talk (may not be final, note)
 
Death
DeathDeath
Death
 
Navigating Your Way to Business Success in India
Navigating Your Way to Business Success in IndiaNavigating Your Way to Business Success in India
Navigating Your Way to Business Success in India
 

Similar to The differing ways to monitor and instrument

Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
AgileNetwork
 
Decision Matrix for IoT Product Development
Decision Matrix for IoT Product DevelopmentDecision Matrix for IoT Product Development
Decision Matrix for IoT Product Development
Alexey Pyshkin
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
OpsTree solutions
 
#Fstoco - Monitoring and Instrumentation, why Tracing is Key
#Fstoco  - Monitoring and Instrumentation, why Tracing is Key#Fstoco  - Monitoring and Instrumentation, why Tracing is Key
#Fstoco - Monitoring and Instrumentation, why Tracing is Key
Jonah Kowall
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...
Sri Ambati
 
Thick client application security assessment
Thick client  application security assessmentThick client  application security assessment
Thick client application security assessment
Sanjay Kumar (Seeking options outside India)
 
System Support for Internet of Things
System Support for Internet of ThingsSystem Support for Internet of Things
System Support for Internet of Things
HarshitParkar6677
 
Shaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M ResumeShaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M
 
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
Splunk
 
Uma2expresume (1)
Uma2expresume (1)Uma2expresume (1)
Uma2expresume (1)
Uma Maheshwari N
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
Porfirio Tramontana
 
What’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINTWhat’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINT
Splunk
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
Arun prakash Alagesan
 
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
Splunk
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
IIITA
 
Amit Bhandari
Amit BhandariAmit Bhandari
Amit Bhandari
Amit Bhandari
 
Fast Data at ING – the why, what and how of the streaming analytics platform ...
Fast Data at ING – the why, what and how of the streaming analytics platform ...Fast Data at ING – the why, what and how of the streaming analytics platform ...
Fast Data at ING – the why, what and how of the streaming analytics platform ...
Bas Geerdink
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resume
soma mishra
 
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
Splunk
 
Going Beyond the Device Heart Beat
Going Beyond the Device Heart BeatGoing Beyond the Device Heart Beat
Going Beyond the Device Heart Beat
Balwinder Kaur
 

Similar to The differing ways to monitor and instrument (20)

Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
Decision Matrix for IoT Product Development
Decision Matrix for IoT Product DevelopmentDecision Matrix for IoT Product Development
Decision Matrix for IoT Product Development
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
 
#Fstoco - Monitoring and Instrumentation, why Tracing is Key
#Fstoco  - Monitoring and Instrumentation, why Tracing is Key#Fstoco  - Monitoring and Instrumentation, why Tracing is Key
#Fstoco - Monitoring and Instrumentation, why Tracing is Key
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...
 
Thick client application security assessment
Thick client  application security assessmentThick client  application security assessment
Thick client application security assessment
 
System Support for Internet of Things
System Support for Internet of ThingsSystem Support for Internet of Things
System Support for Internet of Things
 
Shaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M ResumeShaik Niyas Ahamed M Resume
Shaik Niyas Ahamed M Resume
 
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
Splunk MINT for Mobile Intelligence and Splunk App for Stream for Enhanced Op...
 
Uma2expresume (1)
Uma2expresume (1)Uma2expresume (1)
Uma2expresume (1)
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
What’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINTWhat’s New: Splunk App for Stream and Splunk MINT
What’s New: Splunk App for Stream and Splunk MINT
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
 
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
New Splunk Management Solutions Update: Splunk MINT and Splunk App for Stream
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
Amit Bhandari
Amit BhandariAmit Bhandari
Amit Bhandari
 
Fast Data at ING – the why, what and how of the streaming analytics platform ...
Fast Data at ING – the why, what and how of the streaming analytics platform ...Fast Data at ING – the why, what and how of the streaming analytics platform ...
Fast Data at ING – the why, what and how of the streaming analytics platform ...
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resume
 
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
Elevate your Splunk Deployment by Better Understanding your Value Breakfast S...
 
Going Beyond the Device Heart Beat
Going Beyond the Device Heart BeatGoing Beyond the Device Heart Beat
Going Beyond the Device Heart Beat
 

Recently uploaded

Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
ScyllaDB
 
Product Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdfProduct Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdf
gaydlc2513
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
NTTDATA INTRAMART
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
SOFTTECHHUB
 
Ubuntu Server CLI cheat sheet 2024 v6.pdf
Ubuntu Server CLI cheat sheet 2024 v6.pdfUbuntu Server CLI cheat sheet 2024 v6.pdf
Ubuntu Server CLI cheat sheet 2024 v6.pdf
TechOnDemandSolution
 
Dev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous DiscoveryDev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous Discovery
UiPathCommunity
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
ScyllaDB
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Overkill Security
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
John Sterrett
 
Corporate Open Source Anti-Patterns: A Decade Later
Corporate Open Source Anti-Patterns: A Decade LaterCorporate Open Source Anti-Patterns: A Decade Later
Corporate Open Source Anti-Patterns: A Decade Later
ScyllaDB
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
ScyllaDB
 
The "Zen" of Python Exemplars - OTel Community Day
The "Zen" of Python Exemplars - OTel Community DayThe "Zen" of Python Exemplars - OTel Community Day
The "Zen" of Python Exemplars - OTel Community Day
Paige Cruz
 
Brightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentationBrightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentation
ILC- UK
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
ThousandEyes
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Safe Software
 

Recently uploaded (20)

Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
 
Product Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdfProduct Listing Optimization Presentation - Gay De La Cruz.pdf
Product Listing Optimization Presentation - Gay De La Cruz.pdf
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...
 
Ubuntu Server CLI cheat sheet 2024 v6.pdf
Ubuntu Server CLI cheat sheet 2024 v6.pdfUbuntu Server CLI cheat sheet 2024 v6.pdf
Ubuntu Server CLI cheat sheet 2024 v6.pdf
 
Dev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous DiscoveryDev Dives: Mining your data with AI-powered Continuous Discovery
Dev Dives: Mining your data with AI-powered Continuous Discovery
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
 
Corporate Open Source Anti-Patterns: A Decade Later
Corporate Open Source Anti-Patterns: A Decade LaterCorporate Open Source Anti-Patterns: A Decade Later
Corporate Open Source Anti-Patterns: A Decade Later
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
 
The "Zen" of Python Exemplars - OTel Community Day
The "Zen" of Python Exemplars - OTel Community DayThe "Zen" of Python Exemplars - OTel Community Day
The "Zen" of Python Exemplars - OTel Community Day
 
Brightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentationBrightwell ILC Futures workshop David Sinclair presentation
Brightwell ILC Futures workshop David Sinclair presentation
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
 

The differing ways to monitor and instrument

  • 1. The Differing Ways to Monitor and Instrument FullStack London July 15th, 2016 Jonah Kowall, VP Market Development and Insights Twitter : @jkowall
  • 2. Jonah Kowall’s Background • 20+ years in IT • Computer Science • FreeBSD project • Security - CISSP, CISA, PCI • Started one of the first content filtering companies • Infrastructure and Operations enterprises and startups • Ran global monitoring at Thomson Reuters • Ran IT Operations at mfg.com manufacturing marketplace • Gartner Research VP 3.5 years • Strategy AppDynamics 1.5 years
  • 3. Agenda • Introduction to Instrumentation • Instrumentation done by people • Challenges in instrumentation of the right processes • Technical instrumentation of Browsers and Mobile • Technical instrumentation of Server (php, Java, .NET…) • How to implement the right logging • How to correlate across technologies
  • 4. Definitions Instrumentation “The design, construction, and provision of instruments for measurement, control, etc; the state of being equipped with or controlled by such instruments collectively.” Telemetry “Automated communications process by which measurements are made and other data collected at remote or inaccessible points and transmitted to receiving equipment for monitoring.”
  • 5. Software Instrumentation Data Types • Metrics – Key value pairs – Numeric values – Time series • Events – Informational – Errors – Critical Events
  • 6. Use Cases for Data Types • Metrics – Average, Peak – Percentage – Correlation to Metrics and Events • Events – Search – Parse – Correlate to Metrics
  • 7. Software Instrumentation • Logging – Supplied by vendor – Created by developers – Not easily controlled • Push Collection – Attach and extract – Software agent or network tap • Pull Collection – Polling APIs - HTTP, SNMP, WMI
  • 8. Priorities for Instrumentation • Business • Application • Services • Infrastructure Events and Metrics
  • 10. Uplevel the Conversation • Understand the customer - Internally and externally • Requirements should be gathered across business and IT teams • Responsibility for definition of monitoring should be shared
  • 11. Business Metrics and KPIs • Customer Metrics - Conversion between products - Loyalty and retention (churn) - Usage metrics (feature and product) • Sales and Marketing Metrics - Revenue - Cost of customer acquisition - User flows through applications
  • 12. Technical Metrics and KPIs • End to end performance – User through transaction hops – Error isolation • End user experience – Client side errors – Latency per element (page or app) + 3rd party – Client side DNS • Application component performance – Metrics from app server – Metrics from code – Queries – Errors • Intra application component performance
  • 13. Use Cases for Business and Technical Data • Usage • Problem identification - MTTI • Problem resolution - MTTR • User satisfaction • Usability • Performance • Change analysis – A/B testing – data center moves – technology changes
  • 17. Simulating Users Synthetic transactions are good for • SLAs • Availability • Baseline performance • DNS • SSL But if you try to use it as a barometer you will fail
  • 18. Backend Instrumentation of Java and .NET
  • 19. Java Instrumentation JSR-163 (JavaTM Platform Profiling Architecture) added in Java 1.5 Overloads the default behavior of Java to allow hooks into code for many use cases Since JDK 1.6, for the Oracle HotSpot JVM, a javaagent may be dynamically attached to a running JVM by specifying the process-id (pid).
  • 20. .NET Instrumentation ● Profiling API loaded into the same process as the application process that is being profiled. ● Callback interface (ICorProfilerCallback in the .NET Framework version 1.0 and 1.1, ICorProfilerCallback2 in version 2.0 and later) ● CLR calls the methods in that interface to notify the .NET agent of events in the profiled process ● Profiler can also call into the CLR by using the methods in the ICorProfilerInfo and ICorProfilerInfo2 interfaces to obtain information about the state of the profiled application ● Callbacks are used to inject MSIL (Microsoft Intermediate Language) bytecode into existing application code for instrumentation.
  • 21. Backend Instrumentation of Interpreted Languages
  • 22. Monkey Patching Wikipedia relevant definition: In Ruby,[3] Python,[4] and many other dynamic programming languages... dynamic modifications of a class or module at runtime, motivated by the intent to patch existing third-party code as a workaround to a bug or feature which does not act as desired Disclaimer : Can be very dangerous, hard to maintain • Replace methods / attributes / functions at runtime • Apply a patch at runtime to the objects in memory, instead of the source code on disk;
  • 23. PHP Instrumentation Zend callback methods zend_execute(…), zend_execute_internal(…) and zend_compile_file(…) so that it can wrap the original implementations with instrumentation code. Handles state changes and new web server initialization (which are PHP instances)
  • 24. Node.js Instrumentation ● Wrap methods using before, after and around aspect interceptors. ● Callback along with after, before and around aspect interceptor. ● Notifications when asynchronous calls are complete.
  • 26. Logging Best Practices • Easily parsed (JSON) • Time (long), Source • Log errors and exceptions • Logs are not transaction records, they are not good metric stores • Write your own identifiers for each statement logged (or instrument and inject) • Think about security implications (plain text, on disk, syslog insecure) • Keep small (thanks Java, .NET…) • Don’t overdo it (performance implications)
  • 28. End-to-end visibility of business transactions Unified Monitoring Copyright © 2015 AppDynamics. All rights reserved. 28 Tag Trace Instrument every user transaction Dynamically collect application and contextual data Learn behavior and performance patterns Learn Infrastructure VisibilityEnd User Monitoring Application Performance Management NoSQL
  • 29. Correlation in end to end APM
  • 30. Correlation in asynchronous calls (headache)
  • 31. Correlation in Open Source Zipkin is the most advanced, many new forks and instrumentations (Java, JavaScript, Python, Ruby, C#, Go) No async support :(
  • 32. Future of Correlation in Open Source • OpenTracing an open standard API for instrumentation – Doesn’t manage overhead, can hang yourself • PivotTracing runs distributed traces on demand – After issues detected • Spigo visualization and simulation lots of evolution
  • 33. Correlation in Logs • Log every transaction segment • Persist a GUID or transaction ID • This is very difficult in large teams • Inefficient to analyze and pull metrics from logs • Doesn’t work unless you own the code [code] PERF,2013-04-03 11:29:52.640,external,0x123456,NA,service1,MyAPP,jimmy,NA,336,NA,NA INFO,2013-04-03 11:29:53.189,internal,789012,0x123456,service2,TheirApp,jimmy,NA,174,NA,NA INFO,2013-04-03 11:29:52.892,internal,345678,789012,service3,TheirApp,jimmy,NA,163,NA,NA [/code]
  • 34. Transaction Correlation and Logs! • Many integrations across APM and Log vendors • Can add correlation in code and use any log tool – ex:[%X{AD.requestGUID}] • We auto inject and correlate (one platform)

Editor's Notes

  1. IoT icons in left margin in case they’re needed for a particular prospect
  翻译: