how we integrated the lttng pipeline to monitor .net core ... · lessons we learned • linux rocks...
TRANSCRIPT
Kevin Gosse @kookiz
Grégory Léocadie
Christophe Nasarre
How we integrated the LTTng pipeline to monitor .NET Core applications on Linux
PLACEHOLDER IMAGE
2 | Copyright © 2017 Criteo
• 8747 servers running Windows
• 4000+ front-end servers
• 205 billions HTTP request per day
Criteo in numbersCriteo in numbers
3 | Copyright © 2017 Criteo
4 | Copyright © 2017 Criteo
Plumbing timePlumbing time
5 | Copyright © 2017 Criteo
Windows Pipeline to GrafanaWindows Pipeline to Grafana
Appgrafana
CompanionService
ETWevents
CLRevents
Windows
ETWCLR
Trace Event
6 | Copyright © 2017 Criteo
Windows Pipeline to GrafanaWindows Pipeline to Grafana
Appgrafana
CompanionService
ETWevents
Windows
ETWCLR CLRevents
Trace Event
7 | Copyright © 2017 Criteo
CentOS Pipeline to Grafana - 1/3CentOS Pipeline to Grafana - 1/3
AppgrafanaCTF
events
CentOS
LTTngCLR ?...?...Companionlistener
8 | Copyright © 2017 Criteo
CLRAppUST
Consumerd
Relayd
Companion listener
How to integrate the LTTng pipeline in CriteoHow to integrate the LTTng pipeline in Criteo
CentOS
Companion
listener
Companion
listener
Windows
DebuggingProfiling
…
9 | Copyright © 2017 Criteo
CentOS Pipeline to Grafana - 2/3CentOS Pipeline to Grafana - 2/3
AppgrafanaCTF
events
CentOS
LTTngCLR Companionlistener
Trace EventTrace Event
Parse CLR
events
10 | Copyright © 2017 Criteo
• Use TraceEvent library but… only file-based ctor
• Implement LTTng live session support: https://github.com/Microsoft/perfview/pull/340
Decyphering CLR event produced as CTF tracesDecyphering CLR event produced as CTF traces
11 | Copyright © 2017 Criteo
CentOS Pipeline to Grafana - 3/3CentOS Pipeline to Grafana - 3/3
AppgrafanaCTF
events
CentOS
LTTngCLR Companionlistener
Trace EventTrace Event
Parse CLR
events
12 | Copyright © 2017 Criteo
Lessons we learned
• Linux rocks for Windows developers … with .NET Core!
• LTTng documentation… not very Windows developer friendly
• Ongoing effort on Microsoft TraceEvent Open Source Library