4. Today’s Agenda
1. Why ?
2. Why measure?
3. Why monitor?
4. What to monitor?
5. How to monitor?
5. Today’s Goals
Everyone leaves with at
least one idea about
performance management.
Everyone knows where and
what to look for in
performance monitoring.
6. 1. Why ?
Pinterest increased search engine traffic and sign-ups
by 15% when they reduced perceived wait times by 40%.
COOK increased conversions by 7%, decreased bounce rates
by 7%, and increased pages per session by 10% when they
reduced average page load time by 850 milliseconds.
The BBC found they lost an additional 10% of users for
every additional second their site took to load.
DoubleClick by Google found 53% of mobile site visits
were abandoned if a page took longer than 3 seconds to
load.
7. 1. Why ?
It’s about users , expenses, outages
Then business, income, adoption, retention….
Source: https://idlewords.com/talks/website_obesity.htm , https://developers.google.com/web/fundamentals/performance/why-performance-matters
8. 2. Why measure?
Measure the actual
performance of your
application, and focus on
the 20% of your code that
is the worst performance
offender.
If you're applying equal
effort to all areas, you
are wasting your time.
9. I do not optimize
anything in my
application until my
metrics tell me so.
10. 2. Why Monitor?
Random boss in AU:
“The site feels slow”
Luong:
“Really!? It works like a
charm here”
Luong’s colleague:
“Look good on my machine”
Is my API, web or mobile
application available?
“Yes”
Is it functioning
correctly?
“Yes”
Is it fast?
“Hm”
16. 4. How to Monitor?
Mindset:
- Calculate
- Store
- Query
- Which layer?
- How to integrate?
Tools:
- Stackify
- Datadog
- New Relic
- Prometheus
- ...
22. 4.2. Instrument your application
Step 1: Decide which type
of metrics you should use:
- Gauge
- Counter
- Histogram
- Summary
Is it only rising?
“Counter”
Is it rising and
decreasing?
“Gauge”
Is it based on
observations and
timeframe?
“Histogram and Summary”
26. 4.2. Instrument your application
Step 2: Choose your metric name and labels, start using it
27. 4.2. Instrument your application
Or: Integrate with your
application
- Eh Monitoring
- Middleware
- Required files
- Hooks
- Metric container
We wrap Ruby Prometheus
library to handle labeling
and automatic integrations
with rails, sinatra,
sequel, active record….
28. 4.2. Instrument your application
Step 3: Start Querying
- PromQL
- Metric name
http://prometheus.ehrocks.com
http://prometheus.staging.ehrock
s.com
29. 4.2. Instrument your application
Step 4: Start visualizing
http://monitor.ehrocks.com