SlideShare a Scribd company logo
Real User Monitoring at scale
Jarosław Bloch Albert Łącki
PL
SK
HU
RS
CH
20 mln real users
7 mln requests every minute
150 mln PV daily
3 data centers
3 000 servers and devices
130 Gbps traffic
40 teams
> 250 deployments daily
300 specialists
Speed
search +0,4s PV/UU -0,5%
load +35% Revenue -5%
load +250ms PV/UU -1,8%
Revenue/UU -4,3%
Component monitoring
Service monitoring
User experience
Our responsibility
Under our control
External monitoring
Real User Monitoring
?
Real User Monitoring
?
? ?
collection
ingestion processing presentation
Data collection
<script>
var data = collect();
data.send();
</script>
Data collection
Navigation Timing API
onLoad
DOM
Processing
ResponseRequestTCP, DNSRedirects
navigationStart
fetchStart
requestStart
responseStart domLoading
responseEnd domInteractive
domComplete
Resource Timing API
JS Errors
try {
…
} catch (ex) {
collect(ex);
}
Data collection
data
DC-1
Accelerator
DC-2
GET
HTTP 202
Data collection
data
Script injection
Script injection
<js>
Data ingestion
5 min
Data ingestion
Kafka
Partition 1
Partition 2
Partition 3
Data replication
DC-2DC-1
DATA
DATA EVERYWHERE
METRICS
METRICS EVERYWHERE
Storm
Topology
metrics
data
Presentation
Graphite
sum(metric1, metric2)
highestMax(services.*, 10)
…
Graphite
3 millions metrics
Custom alerts
Druid
Real User Monitoring
Deployments
Instant feedback
Thank you!

More Related Content

Viewers also liked

Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York Times
Flávio Ribeiro
 
Red5 - PHUG Workshops
Red5 - PHUG WorkshopsRed5 - PHUG Workshops
Red5 - PHUG Workshops
Brendan Sera-Shriar
 
Disaster relief-1
Disaster relief-1Disaster relief-1
Disaster relief-1
teohziwei12
 
unidad 10
unidad 10unidad 10
B.Karthik
B.KarthikB.Karthik
B.Karthik
KARTHIK B
 
Eyyaz edited CV - Copy
Eyyaz edited CV - CopyEyyaz edited CV - Copy
Eyyaz edited CV - Copy
Eyyaz Ahmed
 
Saumil_Shah_updated
Saumil_Shah_updatedSaumil_Shah_updated
Saumil_Shah_updated
Saumil Shah
 
Terrace Building 3d render
Terrace Building 3d renderTerrace Building 3d render
Terrace Building 3d render
Pwakandi Wundileyi
 
Spatula
SpatulaSpatula
Spatula
Jhen Layson
 
CompTIA A+ ce certificate
CompTIA A+ ce certificateCompTIA A+ ce certificate
CompTIA A+ ce certificate
David Vidrine
 
Information Risk and Protection
Information Risk and ProtectionInformation Risk and Protection
Information Risk and Protection
xband
 
CFE - sunstar-overseas-limited_view
CFE - sunstar-overseas-limited_viewCFE - sunstar-overseas-limited_view
CFE - sunstar-overseas-limited_view
Aleen Mukherjee
 
About Motivation in DevOps Culture
About Motivation in DevOps CultureAbout Motivation in DevOps Culture
About Motivation in DevOps Culture
DreamLab
 
Resume
ResumeResume
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Helena Edelson
 

Viewers also liked (17)

Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York Times
 
Red5 - PHUG Workshops
Red5 - PHUG WorkshopsRed5 - PHUG Workshops
Red5 - PHUG Workshops
 
Disaster relief-1
Disaster relief-1Disaster relief-1
Disaster relief-1
 
unidad 10
unidad 10unidad 10
unidad 10
 
B.Karthik
B.KarthikB.Karthik
B.Karthik
 
Eyyaz edited CV - Copy
Eyyaz edited CV - CopyEyyaz edited CV - Copy
Eyyaz edited CV - Copy
 
00
0000
00
 
Saumil_Shah_updated
Saumil_Shah_updatedSaumil_Shah_updated
Saumil_Shah_updated
 
Terrace Building 3d render
Terrace Building 3d renderTerrace Building 3d render
Terrace Building 3d render
 
Sacoriver cigarlogo2
Sacoriver cigarlogo2Sacoriver cigarlogo2
Sacoriver cigarlogo2
 
Spatula
SpatulaSpatula
Spatula
 
CompTIA A+ ce certificate
CompTIA A+ ce certificateCompTIA A+ ce certificate
CompTIA A+ ce certificate
 
Information Risk and Protection
Information Risk and ProtectionInformation Risk and Protection
Information Risk and Protection
 
CFE - sunstar-overseas-limited_view
CFE - sunstar-overseas-limited_viewCFE - sunstar-overseas-limited_view
CFE - sunstar-overseas-limited_view
 
About Motivation in DevOps Culture
About Motivation in DevOps CultureAbout Motivation in DevOps Culture
About Motivation in DevOps Culture
 
Resume
ResumeResume
Resume
 
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
 

Similar to Real User Monitoring at Scale @ Atmosphere Conference 2016

Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
N Masahiro
 
Supporting Enterprise System Rollouts with Splunk
Supporting Enterprise System Rollouts with SplunkSupporting Enterprise System Rollouts with Splunk
Supporting Enterprise System Rollouts with Splunk
Erin Sweeney
 
From Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache ApexFrom Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache Apex
DataWorks Summit
 
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward
 
Fitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngineFitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngine
Fanky Christian
 
Digdagによる大規模データ処理の自動化とエラー処理
Digdagによる大規模データ処理の自動化とエラー処理Digdagによる大規模データ処理の自動化とエラー処理
Digdagによる大規模データ処理の自動化とエラー処理
Sadayuki Furuhashi
 
5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing
Teradata
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
Võ Duy Tuấn
 
Monitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineMonitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachine
Wooga
 
Monitoring patterns for mitigating technical risk
Monitoring patterns for  mitigating technical riskMonitoring patterns for  mitigating technical risk
Monitoring patterns for mitigating technical risk
Itai Frenkel
 
Apache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya MeetupApache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya Meetup
Robert Metzger
 
Scale and Throughput @ Clicktale with Akka
Scale and Throughput @ Clicktale with AkkaScale and Throughput @ Clicktale with Akka
Scale and Throughput @ Clicktale with Akka
Yuval Itzchakov
 
From Batch to Streaming with Apache Apex Dataworks Summit 2017
From Batch to Streaming with Apache Apex Dataworks Summit 2017From Batch to Streaming with Apache Apex Dataworks Summit 2017
From Batch to Streaming with Apache Apex Dataworks Summit 2017
Apache Apex
 
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
Thomas Weise
 
GTS Episode 1: Reactive programming in the wild
GTS Episode 1: Reactive programming in the wildGTS Episode 1: Reactive programming in the wild
GTS Episode 1: Reactive programming in the wild
Omer Iqbal
 
Billions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right NowBillions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right Now
Rob Winters
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent Monitoring
Intelie
 
Otimizando servidores web
Otimizando servidores webOtimizando servidores web
Otimizando servidores web
Amazon Web Services LATAM
 
Streaming SQL to unify batch and stream processing: Theory and practice with ...
Streaming SQL to unify batch and stream processing: Theory and practice with ...Streaming SQL to unify batch and stream processing: Theory and practice with ...
Streaming SQL to unify batch and stream processing: Theory and practice with ...
Fabian Hueske
 
Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -
Treasure Data, Inc.
 

Similar to Real User Monitoring at Scale @ Atmosphere Conference 2016 (20)

Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
 
Supporting Enterprise System Rollouts with Splunk
Supporting Enterprise System Rollouts with SplunkSupporting Enterprise System Rollouts with Splunk
Supporting Enterprise System Rollouts with Splunk
 
From Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache ApexFrom Batch to Streaming ET(L) with Apache Apex
From Batch to Streaming ET(L) with Apache Apex
 
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
 
Fitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngineFitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngine
 
Digdagによる大規模データ処理の自動化とエラー処理
Digdagによる大規模データ処理の自動化とエラー処理Digdagによる大規模データ処理の自動化とエラー処理
Digdagによる大規模データ処理の自動化とエラー処理
 
5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing5 Years of Progress in Active Data Warehousing
5 Years of Progress in Active Data Warehousing
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
 
Monitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachineMonitoring with Syslog and EventMachine
Monitoring with Syslog and EventMachine
 
Monitoring patterns for mitigating technical risk
Monitoring patterns for  mitigating technical riskMonitoring patterns for  mitigating technical risk
Monitoring patterns for mitigating technical risk
 
Apache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya MeetupApache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya Meetup
 
Scale and Throughput @ Clicktale with Akka
Scale and Throughput @ Clicktale with AkkaScale and Throughput @ Clicktale with Akka
Scale and Throughput @ Clicktale with Akka
 
From Batch to Streaming with Apache Apex Dataworks Summit 2017
From Batch to Streaming with Apache Apex Dataworks Summit 2017From Batch to Streaming with Apache Apex Dataworks Summit 2017
From Batch to Streaming with Apache Apex Dataworks Summit 2017
 
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
From Batch to Streaming ET(L) with Apache Apex at Berlin Buzzwords 2017
 
GTS Episode 1: Reactive programming in the wild
GTS Episode 1: Reactive programming in the wildGTS Episode 1: Reactive programming in the wild
GTS Episode 1: Reactive programming in the wild
 
Billions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right NowBillions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right Now
 
Intelligent Monitoring
Intelligent MonitoringIntelligent Monitoring
Intelligent Monitoring
 
Otimizando servidores web
Otimizando servidores webOtimizando servidores web
Otimizando servidores web
 
Streaming SQL to unify batch and stream processing: Theory and practice with ...
Streaming SQL to unify batch and stream processing: Theory and practice with ...Streaming SQL to unify batch and stream processing: Theory and practice with ...
Streaming SQL to unify batch and stream processing: Theory and practice with ...
 
Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -
 

More from DreamLab

DreamLab Academy #12 Wprowadzenie do React.js
DreamLab Academy #12 Wprowadzenie do React.jsDreamLab Academy #12 Wprowadzenie do React.js
DreamLab Academy #12 Wprowadzenie do React.js
DreamLab
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
DreamLab
 
Intro to React | DreamLab Academy
Intro to React | DreamLab AcademyIntro to React | DreamLab Academy
Intro to React | DreamLab Academy
DreamLab
 
Subtelna sztuka optymalizacji
Subtelna sztuka optymalizacji Subtelna sztuka optymalizacji
Subtelna sztuka optymalizacji
DreamLab
 
Podstawy JavaScript | DreamLab Academy #7
Podstawy JavaScript | DreamLab Academy #7Podstawy JavaScript | DreamLab Academy #7
Podstawy JavaScript | DreamLab Academy #7
DreamLab
 
Let's build a PaaS platform, how hard could it be?
Let's build a PaaS platform, how hard could it be?Let's build a PaaS platform, how hard could it be?
Let's build a PaaS platform, how hard could it be?
DreamLab
 
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
DreamLab
 
Gdy testy to za mało - Continuous Monitoring
Gdy testy to za mało - Continuous MonitoringGdy testy to za mało - Continuous Monitoring
Gdy testy to za mało - Continuous Monitoring
DreamLab
 
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
DreamLab
 
Intro to Redux | DreamLab Academy #3
Intro to Redux | DreamLab Academy #3 Intro to Redux | DreamLab Academy #3
Intro to Redux | DreamLab Academy #3
DreamLab
 
Quick start with React | DreamLab Academy #2
Quick start with React | DreamLab Academy #2Quick start with React | DreamLab Academy #2
Quick start with React | DreamLab Academy #2
DreamLab
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
DreamLab
 
DevOps at DreamLab
DevOps at DreamLabDevOps at DreamLab
DevOps at DreamLab
DreamLab
 

More from DreamLab (13)

DreamLab Academy #12 Wprowadzenie do React.js
DreamLab Academy #12 Wprowadzenie do React.jsDreamLab Academy #12 Wprowadzenie do React.js
DreamLab Academy #12 Wprowadzenie do React.js
 
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8
 
Intro to React | DreamLab Academy
Intro to React | DreamLab AcademyIntro to React | DreamLab Academy
Intro to React | DreamLab Academy
 
Subtelna sztuka optymalizacji
Subtelna sztuka optymalizacji Subtelna sztuka optymalizacji
Subtelna sztuka optymalizacji
 
Podstawy JavaScript | DreamLab Academy #7
Podstawy JavaScript | DreamLab Academy #7Podstawy JavaScript | DreamLab Academy #7
Podstawy JavaScript | DreamLab Academy #7
 
Let's build a PaaS platform, how hard could it be?
Let's build a PaaS platform, how hard could it be?Let's build a PaaS platform, how hard could it be?
Let's build a PaaS platform, how hard could it be?
 
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
 
Gdy testy to za mało - Continuous Monitoring
Gdy testy to za mało - Continuous MonitoringGdy testy to za mało - Continuous Monitoring
Gdy testy to za mało - Continuous Monitoring
 
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
Intro to JavaScript | Wstęp do programowania w Java Script | DreamLab Academy #4
 
Intro to Redux | DreamLab Academy #3
Intro to Redux | DreamLab Academy #3 Intro to Redux | DreamLab Academy #3
Intro to Redux | DreamLab Academy #3
 
Quick start with React | DreamLab Academy #2
Quick start with React | DreamLab Academy #2Quick start with React | DreamLab Academy #2
Quick start with React | DreamLab Academy #2
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
 
DevOps at DreamLab
DevOps at DreamLabDevOps at DreamLab
DevOps at DreamLab
 

Recently uploaded

学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
bseovas
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 

Recently uploaded (20)

学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 

Real User Monitoring at Scale @ Atmosphere Conference 2016

Editor's Notes

  1. opowiemy o tym jak w DreamLabie robimy Real User Monitoring dla milionów użytkowników. czym się na co dzień zajmujemy i z jakimi wyzwaniami się mierzymy.
  2. DL - spółka IT - część grupy RAS Spółka medialna obecna w kilku krajach Europy RAS dostarcza treści przez różne kanały - print, internet - Dla nas oczywiście istotne jest to ostatnie
  3. Tworzymy serwisy, aplikacje mobilne, platformy IT Informacyjne: Onet, Fakt, Newsweek, Ecommerce: Skąpiec, Opineo, Społecznościowe: Nasza-Klasa, Sympatia Oraz wiele innych oraz ich odpowiedników w pozostałych krajach Na co to się przekłada?
  4. Przede wszystkim na gigantyczną liczbę użytkowników Którzy generują ogromną liczbę zapytań
  5. To wszystko podawane z 3 serwerowni Ogromny ruch sieciowy Masa sprzętu wykorzystywanego aby sobie z nim poradzić
  6. Za tym wszystkim stoją ludzie 40 zespołów w 3 biurach – w Krakowie, Wrocławiu i Warszawie Ponad 300 specjalistów Jesteśmy agile, pracujemy w kulturze DevOps, podchodzimy do zmian iteracyjnie Więc mamy ponad 250 wdrożeń dziennie Jak w tak różnorodnym środowisku radzimy sobie z jakością?
  7. Na jakość składa się wiele czynników – zostańmy przy jednym z nich - szybkości Zastanówmy się czy użytkownicy w ogóle zwracają na takie rzeczy uwagę? Czy jest sens się tym w ogóle zajmować?
  8. Nie tylko my zadawaliśmy sobie takie pytanie Niewielki wzrost czasu ma realny wpływ na biznes Jeżeli strona ładuje się wolniej to ludzie odejdą do konkurencji Podobnie z innymi usługami – np. wyniki wyszukiwania Nawet niewielka zmiana może powodować duże konsekwencje
  9. Musimy wiedzieć, czyli mierzyć Potrzebujemy ciągłego monitoringu działania usług No to od czego zacząć?
  10. Na działanie usługi ma wpływ masa różnych czynników Zaczynając od obciążenia serwerów bazodanowych A kończąc na takich szczegółach jak temperatura pojedynczego dysku w macierzy Każdy z nas to monitoruje Ale czy to wystarczy Źle działająca baza danych może spowodować problemy u użytkownika Suma dobrze działających komponentów nie musi być dobrze działającą usługą Wyjdźmy więc poziom wyżej
  11. Potraktujmy usługę jako całość Spróbujmy wpiąć się w miejscu w którym łączy się do nas klient moniotrujemy na ostatnim elemencie infrastruktury przed użytkownikiem Wydawałoby się że to wystarczy - przecież wpinamy się w ostatnim punkcie naszej architektury!
  12. Za co tak naprawdę ocenia nas użytkownik? Typowy Janusz internetu przeglądający profile na sympatii Interesuje go to jak serwis działa w jego przeglądarce Nie jak szybko odpowiada serwer HTTP Zamknięcie się tylko wewnątrz naszej infrastruktury Monitorowanie tego co mamy pod kontrolą to za mało, no to co z tym zrobić?
  13. Wyjdźmy z monitoringiem poza naszą infrastrukturę Są gotowe usługi które takie podejście realizują również z nich korzystamy zazwyczaj są to automaty udające przeglądarki dostarczają próbniki w wielu lokalizacjach Czy to faktycznie oddaje user experience?
  14. Patrzcie na to zdjęcie za nami To są nasi użytkownicy Każdy z nich jest inny Jest ich 20 milionów
  15. Na dodatek korzystają z wielu różnych urządzeń 6 z rzędu rok mobile ;-) Nawet lodówki! Wiele przeglądarek – w różnych wersjach Dochodzi wymiar geograficzny RS - praktycznie tylko mobile, czyli duże opóźnienia HU – bardzo dobra sieć szkieletowa Nie jesteśmy w stanie przewidzieć i sprawdzić wszystkich możliwości Nie damy rady kupić tylu próbników bo będzie to po prostu za drogie A chcemy być pewni że wszyscy użytkownicy otrzymują usługę najwyżej jakości
  16. Użyjmy naszych użytkowników jako próbnika  Niech raportuje sam do nas informacje o tym jak działa u niego usługa I to jest właśnie real user monitoring Co więcej w ten sposób mierzymy user experience a nie jakiś techniczny parametr
  17. Tylko jak to zrobić w praktyce? Zaczęliśmy szukać gotowych rozwiązań na rynku – są Albo nie wytrzymają ruchu Albo dane które dostarczają są dostępne z pewnym opóźnieniem Co więcej zamykamy się jedynie na metryki które dostarcza usługa Nikt na rynku nie daje możliwości przetwarzania żywych danych wg. własnych potrzeb Czyli musimy zrobić własne rozwiązanie, pytanie tylko od czego zacząć? Jak je zaprojektować?
  18. Podzieliśmy sobie ten proces na części składowe Potrzebujemy dane zbierać Dostarczyć do naszej infrastruktury Przetworzyć Zaprezentować w celu wyciągnięcia wniosków No to zacznijmy od początku
  19. Jak zebrać dane od użytkownika? Użytkownicy łączą się do naszych usług za pomocą przeglądarek Spróbujmy wykorzystać przeglądarki użytkowników W jaki sposób?
  20. na stronach umieszczamy skrypt zbierający dane Pytanie tylko co da się wyciągnąć z przeglądarki?
  21. Navigation Timing API Cały cykl ładowania strony - wszystkie informacje o połączeniu, DNS, …. Informacje o renderowaniu strony Zdarzenia - domInteractive, domComplete Jak mierzyć RTT za pomocą Navigation Timing API
  22. Oczywiście na proces ładowania strony mają wpływ też zasoby – css, js, obrazki, reklamy Do tego też jest API Daje identyczne informacje jak Navigation Timing API tyle że dla każdego z zasobów osobno Pamiętajcie tylko o tym, że różnie przeglądarki traktują zasoby ładowane z innych domen Trzeba zapewnić że będą odpowiednie nagłówki My jesteśmy w tej dobrej pozycji że podajemy wszystko z własnej infrastruktury więc możemy to zapewnić
  23. No ale czasy to nie wszystko Warto zbierać również wszystkie możliwe do przechwycenia wyjątki
  24. Na tym etapie wyniki są nadal u użytkownika Potrzebujemy je dostarczyć do naszej infrastruktury aby je dalej przetwarzać Nie jest to takie proste, bo tych danych jest bardzo dużo 3 mln zdarzeń na minutę Co przekłada się na wiele GB danych do przesłania Zaczęliśmy szukać usługi która może sobie z tym poradzić
  25. W naszym przypadku jest to nasz serwer brzegowy – Accelerator Jest to usługa zbudowana w modelu CDN Ulokowana zarówno w naszej infrastrukturze jak i u zewnętrznych operatorów Przystosowana do podawania wszystkich naszych serwisów i streamingu video Więc postanowiliśmy jej użyć również do zbierania danych
  26. Potrzebna była jedynie niewielka modyfikacja która umożliwiłaby przyjmowanie tych danych w sposób asynchroniczny Chcieliśmy zapewnić że wysyłane dane będą natychmiast obsłużone aby uniknąć wiszących połączeń oczekujących na przetworzenie zdarzenia To nie bank, nie potrzebujemy transakcyjności Natychmiast odpowiadamy OK i buforujemy zdarzenie lokalnie na węźle Na każdym węźle na brzegu bufor RabbitMQ Erlang Bardzo lekki i szybki – 2000 msg / sec / core Dodatkowo zapewnia nam buforowanie zdarzeń w przypadku gdyby nie dało się ich przez moment wysłać dalej
  27. Przy okazji skorzystaliśmy jeszcze z tego że Accelerator podaje serwisy A więc można go użyć w celu zapewnienia automatycznego umieszczenia skryptu pomiarowego na stronach
  28. Dzięki temu nasi developerzy nie muszą o tym za każdym razem pamiętać Takie podejście znacznie zmniejsza koszty utrzymania A dodatkowo zyskujemy ogromne możliwości paramteryzując osadzany skrypt np. identyfikatorem DC Jesteśmy w stanie skojarzyć działanie usługi u użytkownika z elementem infrastruktury który go obsługiwał Ale wróćmy do naszych danych
  29. Na tym etapie scaliliśmy miliony pojedynczych zdarzeń w wiele strumieni dostępnych na serwerach brzegowych aby móc wyciągnąć z tych danych jakieś wnioski potrzebujemy większej mocy obliczeniowej zazwyczaj w takim przypadku zbiera się dane przez jakiś czas a następnie wrzuca do Hadoopa i uruchamia przetwarzanie tyle że my potrzebujemy mieć dane online! bo przecież cały czas – pamiętajcie - mówimy o monitoringu w tym celu możemy wykorzystać naszą chmurę i uruchomić w niej przetwarzanie co da nam skalowalność i elastyczność
  30. Potrzebujemy usługi która będzie: Dobrze się skalować Nie obsłużymy gigabitów ruchu na jednej maszynie Nawet 10Gbps sieć może nam nie wystarczyć Odporna na awarie bo w tym momencie mamy cały strumień danych w jednym miejscu Nie możemy sobie pozwolić na SPOF Kafka – spełnia te kryteria   Plik z logiem - piszemy na końcu, czytamy z początku   Z wielu miejsc można równocześnie zapisywać     w naszym przypadku źródłem danych są węzły Acceleratora
  31. Rozproszony plik z logiem - piszemy na końcu, czytamy z początku Z wielu miejsc można równocześnie zapisywać w naszym przypadku źródłem danych są węzły Acceleratora
  32. zapewnia nam replikację danych pomiędzy serwerowniami Dane bardzo cenne mechanizm mirror maker jesteśmy odporni nie tylko na utratę jednej maszyny ale również całego DC bez utraty danych dostarcza dane do dalszego przetwarzania online dla potrzeb monitoringu na HDFS do późniejszego generowania raportów i batchowego przetwarzania Łączymy dwa światy - online i offline Kafka się do tego bardzo dobrze nadaje, gdyż w odróżnieniu klasycznych message brokerów zgodnych z AMQP pozwala wielu konsumentom niezależnie czytać dane w swoim własnym tempie - w końcu to cały czas po prostu plik z logiem, a konsument to po prostu proces przesuwający się po nim
  33. to nie sztuka mieć dużo danych, sztuką jest umieć coś z nich policzyć
  34. a więc potrzebujemy sposobu na przerobienie danych na konkretne metryki Może by zapisać te wszystkie dane do relacyjnej bazy danych? I później ją odpytywać o agregaty. A znacie relacyjną bazę danych która wytrzyma 5 mln zapisów na minutę? I jeszcze szybko będzie odpowiadać na zapytania agregujące A przy okazji nie zajmie nam połowy serwerowni
  35. Storm - stworzony przez Twittera framework do strumieniowego przetwarzania danych Pozwala developerowi skupić się na stworzeniu logiki przetwarzania zamiast interesować się jak ją uruchomić na wielu maszynach w naszej chmurze Tworzymy topologie czyli graf w którym każdy z węzłów wyliczaja częściowe metryki lub scalających wyniki poprzednich węzłów Każdy wierzchołek w grafie to niezależny komponent, a w praktyce po prostu kawałek kodu implementującego zadaną logikę Na koniec nie mamy już strumienia zdarzeń a zestaw metryk niosących konkretne informacje Przykładowo: mediana czasów renderowania strony liczba błędów javascript w rozbiciu na przeglądarki czas pobierania stron w zależności od operatora telekomunikacyjnego lub kraju i tak moglibyśmy dalej wymieniać... obecnie nasze topologie generują kilkaset tysięcy metryk jednocześnie Co dalej?
  36. Na koniec potrzebujemy jeszcze narzędzia do wizualizacji
  37. Wyniki trafiają do graphite Narzędzie pozwalające przechowywać metryki wraz z ich historycznymi wartościami oraz rysować je w postaci wykresów dodatkowo graphite pozwala wykonywać skomplikowane operacje analityczne na metrykach i zestawiać je sobą Skyline (?) co ważne klaster graphite na którym pracujemy służy również do przechowywania metryk pochodzących z innych źródeł niż RUM dzięki temu możemy zestawiać ze sobą pomiary dokonywane u użytkownika z innymi metrykami - np. wspomnianą wcześniej temperaturą dysków w macierzy
  38. W efekcie z kilkuset tysięcy metryk robi się kilka milionów Z tym już standardowa instalacja graphite nie jest w stanie sobie poradzić jako storage używamy cassandry która zapewnia nam oczekiwaną wydajność oraz replikację pomiędzy DC zamiast frontu używamy Grafany - rysuje o wiele ładniejsze wykresy i daje więcej możliwości wizualizacji
  39. dodatkowo rozszerzyliśmy możlwiości Grafany o tworzenie alarmów developer ustala własne progi na podstawie metryk po ich przekroczeniu świeci alarm W zasadzie tutaj moglibyśmy już zakończyć gdyż mamy kompleksowe rozwiązanie służące do monitoringu Ale może jesteśmy w stanie z tych danych wyciągnąć coś więcej?
  40. Nie każdy przekrój jesteśmy w stanie przewidzieć na bieżąco pojawiają się nowe pytania Zmodyfikujmy topologię? Zanim zmodyfikujemy pytanie przestaje już być aktualne Nie możemy z każdym nowym pytaniem wdrażać topologii Możliwości jest zbyt wiele żeby dla każdej rysować metrykę Potrzebujemy usługi która będzie szybko odpowiadać na niestandardowe pytania potrzebujemy OLAP Problem ze standardowym OLAP na relacyjnej bazie danych byłby dokładnie identyczny jak w przypadku metryk
  41. Druid.io Ostatnio zaczęliśmy eksperymentować z Druidem Przyjmuje stream z Kafki Biężące zdarzenia zapisywane są w tzw. real-time nodeach trzymają dane w RAM odpowiadają bardzo szybko starsze dane przenoszone są na bieżąco do historical node'ów oraz archiwizowane na HDFS w momencie gdy klient zadaje zapytanie druid sprawdza gdzie ma dane w razie potrzeby dociąga je z HDFS Scala i odpowiada Co istotne Druid wystawia łatwe w użyciu API Dzięki czemu możemy tworzyć kolejne usługi i narzędzia sterowane danymi Przykładowo w naszym CDN chcielibyśmy na podstawie danych real user wykrywać serwery które powodują wydłużone czasy i odpowiednio balansować ruch.
  42. Podsumujmy sobie co zbudowaliśmy Zbieramy dane w przeglądarkach użytkowników Zbieramy je na naszej warstwie brzegowej Za pomocą Kafki dostarczamy i scalamy w naszych DC do przetwarzania Następnie używamy Storma do agregacji i przygotowania metryk Które prezentujemy w Grafanie Oprócz tego używamy Druida do odpowiadania na niestandardowe pytania Na koniec zadajmy sobie jedno pytanie – jak RUM zmienił naszą codzienną pracę?
  43. Dzisiaj każde wdrożenie zmiany w serwisie odbywa się dla grupy / procenta użytkowników Dzięki temu developer jest w stanie sprawdzić swoją zmianę na stosunkowo małej próbce
  44. Dzięki osadzeniu skryptów monitorujących na każdej stronie naszych serwisów otrzymuje Natychmiastowy feedback jak jego wdrożenie wpłynęło na działanie u użytkownika Jak zmieniły się czasy Czy pojawiły się jakieś błędy
  45. Co jeszcze ważniejsze udostępnienie wszystkich tych narzędzi spowodowało zmianę sposobu myślenia w organizacji Nasi developerzy oraz biznes faktycznie zaczęli podejmować decyzje na podstawie danych zbieranych u użytkownika Co daje bardzo wymierne efekty…
  46. - W efekcie nasz największy portal informacyjny onet.pl po raz kolejny jest najszyciej działającym portalem w polskim internecie - Ten spadek na końcu to naprawdę nie jest przypadek
  47. Witajcie, nazywam się Jarosław Bloch, nazywam się Albert Łącki, bardzo nam miło że możemy z wami dzisiaj tu być. Podczas tej prezentacji opowiemy o tym jak w DreamLabie robimy Real User Monitoring dla milionów użytkowników [FIXME] Zacznijmy od tego czym się na co dzień zajmujemy i z jakimi wyzwaniami się mierzymy.