Slide 1

Slide 1 text

Introduction to Continuous Profiling

Slide 2

Slide 2 text

● Based in Lyon, France ● Former designer and educator ● Loves cooking and baking ● Visual art, storytelling, photography ● @thomasdiluccio.bsky.social Thomas di Luccio (He/Him) DevRel @ Platform.sh, Upsun, Blackfire Who am I?

Slide 3

Slide 3 text

● Deterministic vs Probabilistic observability ● Collecting information and making sense out of it ● Maximizing information while minimizing overhead A talk about:

Slide 4

Slide 4 text

Observability?

Slide 5

Slide 5 text

Observability Ability to witness the real behavior of an app, detect bottlenecks, improve and control performance

Slide 6

Slide 6 text

Observability Bionic glasses for your applications

Slide 7

Slide 7 text

Deterministic observability

Slide 8

Slide 8 text

Demo ⬇ www.book.b7e.io

Slide 9

Slide 9 text

request #1 request #2 request #3 request #5 request #4 request #6 request #7 request #8 request #9

Slide 10

Slide 10 text

request #1 profile request #2 request #3 request #5 request #4 request #6 profile request #7 request #8 request #9

Slide 11

Slide 11 text

Deterministic profiling ● Multi-dimensional ● Observe ALL functions of the designated requests/scripts ● Two samples can be compared ● A sample always contains reliable pieces of information ● Metrics can be derived from samples ● Strong overhead

Slide 12

Slide 12 text

Going beyond profiling

Slide 13

Slide 13 text

Performance tests

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Profiles automatically evaluate all matching assertions

Slide 17

Slide 17 text

Custom metrics

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Synthetic monitoring

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

CI/CD pipelines

Slide 23

Slide 23 text

Assessing the consequences of upcoming changes

Slide 24

Slide 24 text

Going even further

Slide 25

Slide 25 text

Multiple levels of data collection Profile: Extended trace: Monitoring trace:

Slide 26

Slide 26 text

Blackfire Monitoring frequent collection of minimal data

Slide 27

Slide 27 text

Monitoring sampling rate ● Percentage of HTTP and CLI traffic to be monitored ● Monitoring is both deterministic and probabilistic

Slide 28

Slide 28 text

Extended sampling rate ● Percentage of the monitored traces for which more information are collected

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Services monitoring

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Alerting

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Health report

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Automatic profiling

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

request #1 profile request #2 trace request #3 request #5 request #4 extended trace request #6 automatic profile request #7 request #8 trace request #9

Slide 39

Slide 39 text

Blackfire Continuous Observability Solution Monitoring Profiling Alerting Health report Performance tests Synthetic monitoring CI/CD Integration

Slide 40

Slide 40 text

Proactively identify existing bottlenecks and the consequences of upcoming changes

Slide 41

Slide 41 text

Why would need an extra tool?

Slide 42

Slide 42 text

improve the information vs overhead ratio

Slide 43

Slide 43 text

Correlation between data collection and overhead Profile: data++ / overhead++ Monitoring trace: data - - / overhead - -

Slide 44

Slide 44 text

Could we have the best of both worlds?

Slide 45

Slide 45 text

Intermittent data collection

Slide 46

Slide 46 text

Intermittent data collection continuous profiling: data++ / overhead- -

Slide 47

Slide 47 text

Introducing Continuous profiling

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

Demo

Slide 55

Slide 55 text

Continuous profiling ● Make periodic sampling in ALL of the requests/scripts ● Holistic observability ● Two samples cannot be compared ● A single sample contains partial information ● Probabilistic observability ● Accurate information is derived from a large number of samples ● Minimal overhead

Slide 56

Slide 56 text

Continuous Profiling Holistic quality observability with minimal overhead

Slide 57

Slide 57 text

deterministic versus continuous profiling

Slide 58

Slide 58 text

Continuous profiling is best for: ● holistic view of application ● minimal overhead

Slide 59

Slide 59 text

Deterministic profiling is best for: ● drilling down issues ● automated performance tests

Slide 60

Slide 60 text

Deterministic observability

Slide 61

Slide 61 text

Continuous profiling (more to be added soon …)

Slide 62

Slide 62 text

Build you own observability strategy Stay in control of your applications at all times

Slide 63

Slide 63 text

Thank you! Thomas di Luccio DevRel Engineer, Platform.sh [email protected]