how we integrated the lttng pipeline to monitor .net core ... · lessons we learned • linux rocks...

13
Kevin Gosse @kookiz Grégory Léocadie Christophe Nasarre How we integrated the LTTng pipeline to monitor .NET Core applications on Linux PLACEHOLDER IMAGE

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

Kevin Gosse @kookiz

Grégory Léocadie

Christophe Nasarre

How we integrated the LTTng pipeline to monitor .NET Core applications on Linux

PLACEHOLDER IMAGE

Page 2: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

2 | Copyright © 2017 Criteo

• 8747 servers running Windows

• 4000+ front-end servers

• 205 billions HTTP request per day

Criteo in numbersCriteo in numbers

Page 3: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

3 | Copyright © 2017 Criteo

Page 4: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

4 | Copyright © 2017 Criteo

Plumbing timePlumbing time

Page 5: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

5 | Copyright © 2017 Criteo

Windows Pipeline to GrafanaWindows Pipeline to Grafana

Appgrafana

CompanionService

ETWevents

CLRevents

Windows

ETWCLR

Trace Event

Page 6: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

6 | Copyright © 2017 Criteo

Windows Pipeline to GrafanaWindows Pipeline to Grafana

Appgrafana

CompanionService

ETWevents

Windows

ETWCLR CLRevents

Trace Event

Page 7: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

7 | Copyright © 2017 Criteo

CentOS Pipeline to Grafana - 1/3CentOS Pipeline to Grafana - 1/3

AppgrafanaCTF

events

CentOS

LTTngCLR ?...?...Companionlistener

Page 8: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

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

Page 9: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

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

Page 10: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

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

Page 11: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

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

Page 12: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

12 | Copyright © 2017 Criteo

Page 13: How we integrated the LTTng pipeline to monitor .NET Core ... · Lessons we learned • Linux rocks for Windows developers … with .NET Core! • LTTng documentation… not very

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