SlideShare a Scribd company logo
1 of 61
What’s happening in production


 Mårten Gustafson
 @martengustafson

 http://marten.gustafson.pp.se/

 marten.gustafson@gmail.com
Hi!
which services are utilized?
most?
least?
most memory?
highest latency?
does it work?
http://www.picpop.com/
what’s happening in
    production?
right. this. second.
measure!
everything!
in real time!
it’s cheap...
...and simple!
meter = metrics.meter("results",

 
 
 
 
 
 
 
 
 
 
 
 "records",

 
 
 
 
 
 
 
 
 
 
 
 TimeUnit.SECONDS)

...calculate result...

meter.mark(results.size())
counter = Metrics.newCounter(
 getClass(),

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 "requests")

...receive request...

counter.inc()
counters
timers
averages
etc...
how?
develop something, or...
...for java & scala use:


https://github.com
/codahale/metrics
JMX
Servlet
     =
HTTP + JSON
ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple
  {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec
 "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to
0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point
 ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c
 monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application
 :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta
 n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN
 e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}],"
erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ
 s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ
 ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0
ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi
plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r
 ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]}
unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS
 ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]},
 ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated"
  2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{"
  :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot
 r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam
ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas
 ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}],"
                     [{"name":"WeatherService","status":"Ok"}]}]}
ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple
  {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec
 "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to
0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point
 ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c
 monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application
 :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta
 n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN
 e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}],"
erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ
 s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ
 ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0
ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi
cation_status":"ok","counter_tot":3,"request_counters":[{"name":"AutocompleteServ
ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]}
unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS
":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]},
ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated"
 2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{"
 :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot
r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam
ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas
 ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}],"
                    [{"name":"WeatherService","status":"Ok"}]}]}
ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple
  {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec
 "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to
0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point
 ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c
 monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application
 :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta
 n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN
 e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}],"
erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ
 s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ
 ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0
ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi
plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r
 ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]}
unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS
 ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]},
 ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated"
9},{"name":"memory.max","counter":4079},{"name":"memory.used","counter": 132
 :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot
r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam
ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas
 ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}],"
                   [{"name":"WeatherService","status":"Ok"}]}]}
ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple
  {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec
 "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to
0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point
 ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c
 RouteService","counter":1}],"monitored_services":[{"name":"RouteService","status":"Ok"}]},
us":"Ok","counter_tot": 19,"request_counters":[{"name":"ImageService","counter":19
"}]},{"name":"locality","application_status":"Ok","counter_tot":0,"request_counters":[{"name
":"LocalityResolverService-countyCode","counter":0},{"name":"LocalityResolverService-cou
 calityResolverService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter
 s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ
 ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0
ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi
plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r
 ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]}
unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS
 ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]},
 ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated"
  2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{"
  :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot
 r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam
ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas
 ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}],"
                     [{"name":"WeatherService","status":"Ok"}]}]}
data is good
visualized data
   is better
visualize
visualization = insight
insight = knowledge
knowledge = safety
does it work?
No.
does it work?
Yes.
which services are utilized?
available memory?
1 screen
        +
  1 computer
        =
visualization!
why not more?
think build server...
...only bigger...
...and more
what’s happening in
   production?
visualizing data in
  real time gives
insight and safety
2011 05-23 metrics-agilasverige-english
2011 05-23 metrics-agilasverige-english

More Related Content

What's hot

The Ring programming language version 1.6 book - Part 70 of 189
The Ring programming language version 1.6 book - Part 70 of 189The Ring programming language version 1.6 book - Part 70 of 189
The Ring programming language version 1.6 book - Part 70 of 189Mahmoud Samir Fayed
 
Google Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinGoogle Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinPeter Friese
 
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | NewsDirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | Newsdizzyspiral5631
 
Viki Big Data Meetup 2013_10
Viki Big Data Meetup 2013_10Viki Big Data Meetup 2013_10
Viki Big Data Meetup 2013_10ishanagrawal90
 

What's hot (6)

The Ring programming language version 1.6 book - Part 70 of 189
The Ring programming language version 1.6 book - Part 70 of 189The Ring programming language version 1.6 book - Part 70 of 189
The Ring programming language version 1.6 book - Part 70 of 189
 
F[4]
F[4]F[4]
F[4]
 
Google Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinGoogle Fit, Android Wear & Xamarin
Google Fit, Android Wear & Xamarin
 
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | NewsDirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
Dirty Durham: Dry cleaning solvents leaked into part of Trinity Park | News
 
Android TDD
Android TDDAndroid TDD
Android TDD
 
Viki Big Data Meetup 2013_10
Viki Big Data Meetup 2013_10Viki Big Data Meetup 2013_10
Viki Big Data Meetup 2013_10
 

Viewers also liked

2011 03-31 Riak Stockholm Meetup
2011 03-31 Riak Stockholm Meetup2011 03-31 Riak Stockholm Meetup
2011 03-31 Riak Stockholm MeetupMårten Gustafson
 
2011-06-01-stockholm-devops-blitz
2011-06-01-stockholm-devops-blitz2011-06-01-stockholm-devops-blitz
2011-06-01-stockholm-devops-blitzMårten Gustafson
 
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09Mårten Gustafson
 
2011 05-12 nosql-progressive.net
2011 05-12 nosql-progressive.net2011 05-12 nosql-progressive.net
2011 05-12 nosql-progressive.netMårten Gustafson
 
2011 05-12 nosql-fritidsresor
2011 05-12 nosql-fritidsresor2011 05-12 nosql-fritidsresor
2011 05-12 nosql-fritidsresorMårten Gustafson
 
WebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime EnvironmentsWebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime EnvironmentsMårten Gustafson
 

Viewers also liked (6)

2011 03-31 Riak Stockholm Meetup
2011 03-31 Riak Stockholm Meetup2011 03-31 Riak Stockholm Meetup
2011 03-31 Riak Stockholm Meetup
 
2011-06-01-stockholm-devops-blitz
2011-06-01-stockholm-devops-blitz2011-06-01-stockholm-devops-blitz
2011-06-01-stockholm-devops-blitz
 
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
 
2011 05-12 nosql-progressive.net
2011 05-12 nosql-progressive.net2011 05-12 nosql-progressive.net
2011 05-12 nosql-progressive.net
 
2011 05-12 nosql-fritidsresor
2011 05-12 nosql-fritidsresor2011 05-12 nosql-fritidsresor
2011 05-12 nosql-fritidsresor
 
WebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime EnvironmentsWebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime Environments
 

Similar to 2011 05-23 metrics-agilasverige-english

201410 2 fiware-orion-contextbroker
201410 2 fiware-orion-contextbroker201410 2 fiware-orion-contextbroker
201410 2 fiware-orion-contextbrokerFIWARE
 
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE
 
Scaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabScaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabRoman
 
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Frédéric Harper
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of usOSCON Byrum
 
Capacity Planning for Linux Systems
Capacity Planning for Linux SystemsCapacity Planning for Linux Systems
Capacity Planning for Linux SystemsRodrigo Campos
 
Mastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveMastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveVMware Tanzu
 
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Patrik Suzzi
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverFastly
 
SensorWeb SOS Pilot RIVM/Geonovum - Status
SensorWeb SOS Pilot RIVM/Geonovum - StatusSensorWeb SOS Pilot RIVM/Geonovum - Status
SensorWeb SOS Pilot RIVM/Geonovum - StatusJust van den Broecke
 
Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)MongoSF
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMohammad Shaker
 
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)Dan Robinson
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchMongoDB
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiInfluxData
 
E.D.D.I - Open Source Chatbot Platform
E.D.D.I - Open Source Chatbot PlatformE.D.D.I - Open Source Chatbot Platform
E.D.D.I - Open Source Chatbot PlatformGregor Jarisch
 
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Frédéric Harper
 

Similar to 2011 05-23 metrics-agilasverige-english (20)

201410 2 fiware-orion-contextbroker
201410 2 fiware-orion-contextbroker201410 2 fiware-orion-contextbroker
201410 2 fiware-orion-contextbroker
 
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...FIWARE Developers Week_ Introduction to Managing Context Information at Large...
FIWARE Developers Week_ Introduction to Managing Context Information at Large...
 
Scaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabScaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at Grab
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
 
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
Capacity Planning for Linux Systems
Capacity Planning for Linux SystemsCapacity Planning for Linux Systems
Capacity Planning for Linux Systems
 
Mastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura BhaveMastering Spring Boot's Actuator with Madhura Bhave
Mastering Spring Boot's Actuator with Madhura Bhave
 
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
 
SensorWeb SOS Pilot RIVM/Geonovum - Status
SensorWeb SOS Pilot RIVM/Geonovum - StatusSensorWeb SOS Pilot RIVM/Geonovum - Status
SensorWeb SOS Pilot RIVM/Geonovum - Status
 
Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)
 
Ceilometer + Heat = Alarming
Ceilometer + Heat = Alarming Ceilometer + Heat = Alarming
Ceilometer + Heat = Alarming
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)
Powering Heap With PostgreSQL And CitusDB (PGConf Silicon Valley 2015)
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB Stitch
 
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry PiMonitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
 
Android wearpp
Android wearppAndroid wearpp
Android wearpp
 
E.D.D.I - Open Source Chatbot Platform
E.D.D.I - Open Source Chatbot PlatformE.D.D.I - Open Source Chatbot Platform
E.D.D.I - Open Source Chatbot Platform
 
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
 

2011 05-23 metrics-agilasverige-english

  • 1. What’s happening in production Mårten Gustafson @martengustafson http://marten.gustafson.pp.se/ marten.gustafson@gmail.com
  • 2. Hi!
  • 3.
  • 4.
  • 5.
  • 6. which services are utilized?
  • 13. what’s happening in production?
  • 20. meter = metrics.meter("results", "records", TimeUnit.SECONDS) ...calculate result... meter.mark(results.size())
  • 21. counter = Metrics.newCounter( getClass(), "requests") ...receive request... counter.inc()
  • 26. how?
  • 28. ...for java & scala use: https://github.com /codahale/metrics
  • 29. JMX
  • 30. Servlet = HTTP + JSON
  • 31. ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to 0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}]," erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0 ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]} unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]}, ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated" 2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{" :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}]," [{"name":"WeatherService","status":"Ok"}]}]}
  • 32. ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to 0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}]," erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0 ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi cation_status":"ok","counter_tot":3,"request_counters":[{"name":"AutocompleteServ ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]} unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]}, ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated" 2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{" :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}]," [{"name":"WeatherService","status":"Ok"}]}]}
  • 33. ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to 0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c monitored_services":[{"name":"RouteService","status":"Ok"}]},{"name":"image","application :[{"name":"ImageService","counter":19}],"monitored_services":[{"name":"ImageService","sta n_status":"Ok","counter_tot":0,"request_counters":[{"name":"LocalityResolverService-cityN e-countyCode","counter":0},{"name":"LocalityResolverService-countyName","counter":0}]," erService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter_tot":0,"requ s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0 ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]} unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]}, ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated" 9},{"name":"memory.max","counter":4079},{"name":"memory.used","counter": 132 :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}]," [{"name":"WeatherService","status":"Ok"}]}]}
  • 34. ete.v2","application_status":"Ok","counter_tot":0,"request_counters":[{"name":"Autocomple {"name":"AutocompleteService","counter":0},{"name":"AutocompleteService: Queries exec "AutocompleteService","status":"Ok"}]},{"name":"geo","application_status":"Ok","counter_to 0},{"name":"PointConverter-deprecated","counter":0}],"monitored_services":[{"name":"Point ication_status":"Ok","counter_tot":1,"request_counters":[{"name":"RouteService-iPhone","c RouteService","counter":1}],"monitored_services":[{"name":"RouteService","status":"Ok"}]}, us":"Ok","counter_tot": 19,"request_counters":[{"name":"ImageService","counter":19 "}]},{"name":"locality","application_status":"Ok","counter_tot":0,"request_counters":[{"name ":"LocalityResolverService-countyCode","counter":0},{"name":"LocalityResolverService-cou calityResolverService","status":"Ok"}]},{"name":"sms.v2","application_status":"Ok","counter s","counter":0},{"name":"SmsService","counter":0}],"monitored_services":[{"name":"SmsServ ":"Ok","counter_tot":0,"request_counters":[{"name":"WeatherService-forecasts","counter":0 ame":"WeatherService-forecast","counter":0}],"monitored_services":[{"name":"WeatherServi plication_status":"Ok","counter_tot":3,"request_counters":[{"name":"AutocompleteService:r ervice","counter":3}],"monitored_services":[{"name":"AutocompleteService","status":"Ok"}]} unter_tot":55,"request_counters":[{"name":"PoiService:chunks","counter":47},{"name":"PoiS ":"PoiService:poi","counter":0}],"monitored_services":[{"name":"PoiService","status":"Ok"}]}, ication_status":"Ok","counter_tot":12244,"request_counters":[{"name":"memory.allocated" 2749},{"name":"memory.max","counter":4079},{"name":"memory.used","counter":1329},{" :"JvmMonitor","status":"Ok"}]},{"name":"weather.v2","application_status":"Ok","counter_tot r-forecast","counter":0},{"name":"WeatherService-rectangle-forecasts","counter":0},{"nam ame":"WeatherService-total","counter":0},{"name":"WeatherService-everythirdhour-forecas ange-forecast","counter":0},{"name":"WeatherService-oneperday-forecast","counter":0}]," [{"name":"WeatherService","status":"Ok"}]}]}
  • 36. visualized data is better
  • 38.
  • 39.
  • 40.
  • 45. No.
  • 47. Yes.
  • 48. which services are utilized?
  • 49.
  • 51.
  • 52. 1 screen + 1 computer = visualization!
  • 57. what’s happening in production?
  • 58.
  • 59. visualizing data in real time gives insight and safety

Editor's Notes

  1. \n
  2. My name is Mårten, I work as a software developer\nBut I usually also have one foot - sometimes a whole leg - in our infrastructure\n
  3. I work here.\nWe provide a web site, that’s our offering. Our core.\n
  4. Our site is, amongst other things, built from a slew of Java services\nWe have multiple services on each server\n
  5. We like to be availbale, thus we have multiple servers\nSame service, on multiple servers\nMultiple services on same server\n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. ...or at least look at this to get inspired\n
  29. \n
  30. \n
  31. JSON, not always funny to look at\nThe really interesting things are small tidbits of information “hidden” in this blob of data\n
  32. Is it ok?\n
  33. How much memory do we consume?\n
  34. How many requests have we served?\n
  35. \n
  36. \n
  37. \n
  38. Visualization makes it easy to distinguish worse from better\n
  39. Visualization makes it easy to distinguish worse from better\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. Obviously the top one\n
  49. \n
  50. \n
  51. \n
  52. \n
  53. Your project / team probably have a build server monitor, which is a good thing.\nBut how much “dashboard estate” do you spend on production - where your code actually (hopefully) delivers value?\n
  54. \n
  55. \n
  56. \n
  57. The dashboard where I work - all servers, most services\n
  58. \n
  59. Thanks\n