Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mesurer (par)tout, tout le temps
Search
Timothée Peignier
September 16, 2012
Programming
680
2
Share
Mesurer (par)tout, tout le temps
Timothée Peignier
September 16, 2012
More Decks by Timothée Peignier
See All by Timothée Peignier
Dr. Rubocop
tim
0
190
Et votre backoffice ?
tim
0
280
Mobile Web Performance
tim
1
330
Un site web mobile en Django
tim
1
450
Other Decks in Programming
See All in Programming
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
270
Swift Concurrency Type System
inamiy
0
440
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
660
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.8k
Rethinking API Platform Filters
vinceamstoutz
0
11k
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
230
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
550
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
150
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
260
Running Swift without an OS
kishikawakatsumi
0
750
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.2k
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
Design in an AI World
tapps
0
190
The Language of Interfaces
destraynor
162
26k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
490
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
Music & Morning Musume
bryan
47
7.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Transcript
Mesurer (par)tout, tout le temps
Nous écrivons du code.
Notre travail est de générer de la valeur.
Notre code est un sous-produit.
Notre code génère de la valeur quand il est exécuté,
pas quand nous l’écrivons.
Que fait notre code quand il s’exécute ?
Mesurer.
Notre code ne se comporte pas comme nous le pensons.
None
“Ce code ne peut pas échouer”
(et pourtant il échoue) “Ce code ne peut pas échouer”
“Ce code ne peut pas fonctionner”
(et pourtant il fonctionne) “Ce code ne peut pas fonctionner”
Cela affecte nos décisions.
def sort(obj_list): time.sleep(10) obj_list.sort() def sort(obj_list): obj_list.sort() Lequel est le
plus rapide ? ❶ ❷
def sleep(): # I’m poison pass
def sort(self): # I’m evil raise RuntimeError
Mesurez-le, vous le saurez.
Moins de confusion, de meilleures décisions.
Mesurer, continuellement, en production.
Et python dans tout ça ?
pip installwhisper carbon graphite-web statsd metrology
librato newrelic ( )
Gauges Counters Meters Histograms Timers
Gauges Il y a n workers actifs
statsd.gauge(“workers”, state.workers_count)
Gauges Counters Meters Histograms Timers
Counters Il y a n jobs en attente
counter = Metrology.counter('pending') counter.increment() counter.decrement()
Gauges Counters Meters Histograms Timers
Meters Il y a n requêtes/s
meter = Metrology.meter('requests') meter.mark()
Gauges Counters Meters Histograms Timers
Histograms La taille de la réponse
histogram = Metrology.histogram('response-sizes') histogram.update(len(response.content))
Gauges Counters Meters Histograms Timers
Timers Temps de réponse
timer = Metrology.timer('responses') with timer: make_response()
Collecter, Agréger, Monitorer.
Données historiques + Déploiements + Pannes + Comportement en charge
None
None
None
None
Votre vision de votre code sera plus proche de la
réalité.
Merci beaucoup ! @cyberdelia lanyrd.com/sxqqf (ne soyez pas timide, posez
votre question)