From 3752440aeebe51513490672c088dc3de745bdf99 Mon Sep 17 00:00:00 2001 From: Julia Evans Date: Mon, 6 Apr 2015 19:46:45 -0400 Subject: [PATCH] mtlpypracticetalk --- 2015-03-mtlpypracticetalk/pageHeader2.png | Bin 0 -> 15739 bytes .../python-logo-light.png | Bin 0 -> 15549 bytes 2015-03-mtlpypracticetalk/slides.md | 80 +++++++++++++++--- 2015-03-mtlpypracticetalk/template.revealjs | 17 ++-- 4 files changed, 76 insertions(+), 21 deletions(-) create mode 100644 2015-03-mtlpypracticetalk/pageHeader2.png create mode 100644 2015-03-mtlpypracticetalk/python-logo-light.png diff --git a/2015-03-mtlpypracticetalk/pageHeader2.png b/2015-03-mtlpypracticetalk/pageHeader2.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c8d05831be7bab20cffd30f073c5d6fd9cc275 GIT binary patch literal 15739 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 literal 0 HcmV?d00001 diff --git a/2015-03-mtlpypracticetalk/python-logo-light.png b/2015-03-mtlpypracticetalk/python-logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..d7492d471d553a080f05091559865672994da54a GIT binary patch literal 15549 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 Y_$)O=Z27~1-eL?@MU7{b3g#jI5A!W1@c;k- literal 0 HcmV?d00001 diff --git a/2015-03-mtlpypracticetalk/slides.md b/2015-03-mtlpypracticetalk/slides.md index b6d0df5..c064064 100644 --- a/2015-03-mtlpypracticetalk/slides.md +++ b/2015-03-mtlpypracticetalk/slides.md @@ -1,9 +1,9 @@ -# Spying on your programs with strace +# spying on your programs by Julia Evans
-[`twitter.com/b0rk`][twitter]
-[`github.com/jvns`][github]
-[`jvns.ca`][website]
+ +* twitter: @b0rk
+* blog: jvns.ca [github]: https://github.com/jvns [twitter]: https://twitter.com/b0rk @@ -11,7 +11,9 @@ by Julia Evans
# - + + +# your program
=
black box # Debugging: @@ -87,9 +89,9 @@ access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) # open -``` +
 strace -etrace=open google-chrome
-```
+
# open @@ -148,14 +150,66 @@ NULL, NULL) = 512 + spy on log files! -# Thanks! +# Chapter 2:
The Case of the
Slow Program + +# 3 Slow programs + +1. CPU time +1. too many writes +1. waiting for a slow server + +# Mystery program #1 + + +# + +
+$ time python mystery_1.py
+0.09user 0.01system 0:02.11elapsed 5%CPU 
+
+ +# wchan: wait channel + +# demo demo + +# sk_wait_data + +Wait for some data on a network socket. + +# We win! It was the network -* strace all the things! -* on OS X / Windows, try **sysdig** -* Notes: [http://bit.ly/strace-notes](http://bit.ly/strace-notes) +# Mystery program #2 + +``` +$ time python mystery_2.py +2.74user 0.00system 0:02.74elapsed 99%CPU +``` + +# Use a python profiler + +# Mystery program #3 + +# (really a mystery) + +# + +``` +time python mystery_3.py +0.08user 1.03system 0:10.61elapsed 10%CPU +``` + +# demo demo + +# we win + +# your program
=
black box + +# learn your operating system + +# Thanks! -[`twitter.com/b0rk`][twitter]
-[`jvns.ca`][website]
+* twitter: @b0rk
+* blog: jvns.ca [twitter]: https://twitter.com/b0rk [website]: http://jvns.ca diff --git a/2015-03-mtlpypracticetalk/template.revealjs b/2015-03-mtlpypracticetalk/template.revealjs index 656c368..4f98035 100644 --- a/2015-03-mtlpypracticetalk/template.revealjs +++ b/2015-03-mtlpypracticetalk/template.revealjs @@ -2,9 +2,9 @@ - Machine learning: the boring parts + debugging python without python - +