$30 off During Our Annual Pro Sale. View Details »

The History of Metrics According to Me

Stephen Day
December 14, 2016

The History of Metrics According to Me

Metrics and monitoring are a time honored tradition for any engineering discipline. It is how we ensure the systems we use are working the way we expect. If this is a time honored tradition, why is it not a built into every piece of software we create, from the ground up? With software engineering, usually the trick to solving anything is to make it easier. By solving the hard parts of application metrics in Docker, we should make it more likely that metrics are a part of your services from the start.

Stephen Day

December 14, 2016

More Decks by Stephen Day

Other Decks in Technology


  1. The History of Metrics According to Me Stephen Day Docker,

    Inc. Docker Meetup, SF December 2016 v1
  2. Stephen Day Docker, Inc. stephen@docker.com github.com/stevvooe @stevvooe

  3. Metrics Why?

  4. The Early Years

  5. 5 Titration By UCL - Flickr, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=45263025

  6. Music

  7. Electrical Engineering CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=392484

  8. Microcontrollers

  9. Human Powered Submarine

  10. Graphs

  11. Software Engineering

  12. Software Engineering is way behind! Sort of. See http://www.itl.nist.gov/div898/handbook/ for

    an example
  13. 13 Observability and Controllability The Problem Low Observability High Observability

    Guessing Informed
  14. Models INFO[0012] response completed go.version=go1.6.3 http.request.host=localhost:5001 http.request.id=4db26096-a417-48e8-a759-ddd8ea66c3a0 http.request.method=GET http.request.remoteaddr= http.request.uri=/v2/

    http.request.useragent=curl/7.49.1 http.response.contenttype=application/json; charset=utf-8 http.response.duration=5.4388ms http.response.status=200 http.response.written=2 instance.id=7926875b-d3fb-41e4-bd75-2370a3e8a03c version=v2.5.1 Record-based
  15. Models Sample-based t

  16. Why aren’t metrics built into everything?

  17. Excuses!

  18. Why aren’t metrics a part of Docker?

  19. The Goal

  20. Prometheus https://prometheus.io/

  21. Types of Metrics - Counters: cumulative number that only increases

    - Gauges: value that can go up or down - Summary/Histogram: Sample of observations https://prometheus.io/docs/concepts/metric_types/
  22. Format

  23. Configuration

  24. Architecture

  25. Demo

  26. What’s next? So much.

  27. Road Map https://github.com/docker/docker/issues/27307

  28. - For Contributors and Maintainers to better understand performance -

    For Users to better understand behavior of the daemon in their infrastructure - Implemented in 1.13 Docker Engine Metrics
  29. Externally Observable Metrics - CPU, memory usage, etc. - Replaces

    docker stats
  30. Integrated Target Discovery - Prometheus automatically discover engine and container

    metric targets
  31. Application Metrics - Directly proxy your metrics out of the

    Docker daemon - Leverage built in integrated target discovery