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

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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