Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Basic Performance Tools

Basic Performance Tools

A brief talk on basic linux performance tools: sysstat, strace and perf.

Luis Belloch

July 14, 2016
Tweet

More Decks by Luis Belloch

Other Decks in Programming

Transcript

  1. Basic Performance Tools
    Luis Belloch
    July 2016

    View Slide

  2. Basics
    h
    t
    o
    p
    $ h
    t
    o
    p
    t
    i
    m
    e
    $ t
    i
    m
    e p
    y
    t
    h
    o
    n l
    o
    o
    p
    s
    .
    p
    y
    r
    e
    a
    l 0
    m
    6
    .
    6
    9
    1
    s
    u
    s
    e
    r 0
    m
    6
    .
    3
    3
    3
    s
    s
    y
    s 0
    m
    0
    .
    3
    5
    6
    s
    2

    View Slide

  3. Basics
    d
    m
    e
    s
    g
    $ d
    m
    e
    s
    g | t
    a
    i
    l
    [ 4
    8
    2
    7
    .
    0
    4
    4
    9
    7
    8
    ] O
    u
    t o
    f m
    e
    m
    o
    r
    y
    : K
    i
    l
    l p
    r
    o
    c
    e
    s
    s 1
    7
    5
    1 (
    p
    y
    t
    h
    o
    n
    ) s
    c
    o
    r
    e 9
    5
    2 o
    r s
    a
    c
    r
    i
    f
    i
    c
    e c
    h
    i
    l
    d
    [ 4
    8
    2
    7
    .
    0
    4
    4
    9
    7
    8
    ] K
    i
    l
    l
    e
    d p
    r
    o
    c
    e
    s
    s 1
    7
    5
    1 (
    p
    y
    t
    h
    o
    n
    ) t
    o
    t
    a
    l
    -
    v
    m
    :
    2
    5
    4
    3
    5
    0
    8
    k
    B
    , a
    n
    o
    n
    -
    r
    s
    s
    :
    1
    9
    2
    4
    7
    2
    4
    k
    B
    , f
    i
    3

    View Slide

  4. Basics
    v
    m
    s
    t
    a
    t
    r: número de procesos ejecutandose r
    e
    g
    l
    a
    : r < n
    ú
    m
    . p
    r
    o
    c
    e
    s
    a
    d
    o
    r
    e
    s
    free: memoria
    si,so: si es mayor que 0 está paginando, no hay memoria
    us,sy: user time, system time
    wa,st: puntos de espera, cuellos de botella en disco
    $ v
    m
    s
    t
    a
    t 1
    p
    r
    o
    c
    s -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    m
    e
    m
    o
    r
    y
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    s
    w
    a
    p
    -
    - -
    -
    -
    -
    -
    i
    o
    -
    -
    -
    - -
    s
    y
    s
    t
    e
    m
    -
    - -
    -
    -
    -
    c
    p
    u
    -
    -
    -
    -
    r b s
    w
    p
    d f
    r
    e
    e b
    u
    f
    f c
    a
    c
    h
    e s
    i s
    o b
    i b
    o i
    n c
    s u
    s s
    y i
    d w
    a
    2 0 2
    6
    2
    3
    2 1
    8
    1
    6
    4
    2
    0 9
    7
    8
    8 1
    2
    9
    2
    8
    4 2
    3 2
    3
    1 4
    1 2
    5
    4 2
    9
    7 3
    9 0 0 9
    9 0
    0 0 2
    6
    2
    3
    2 1
    8
    1
    6
    3
    9
    6 9
    7
    8
    8 1
    2
    9
    2
    8
    4 0 0 0 0 5
    3
    0 5
    2 0 0 1
    0
    0 0
    4

    View Slide

  5. $ s
    u
    d
    o a
    p
    t
    -
    g
    e
    t i
    n
    s
    t
    a
    l
    l s
    y
    s
    s
    t
    a
    t
    5

    View Slide

  6. m
    p
    s
    t
    a
    t
    Buscar desequilibrios de carga, % CPUs
    $ m
    p
    s
    t
    a
    t -
    P A
    L
    L 1
    p
    i
    d
    s
    t
    a
    t
    Lo mismo, pero desglosando por procesos
    $ p
    i
    d
    s
    t
    a
    t 1
    6

    View Slide

  7. i
    o
    s
    t
    a
    t
    ¿Existen problemas de E/S con los discos?
    $ i
    o
    s
    t
    a
    t -
    x
    z 1
    a
    v
    g
    -
    c
    p
    u
    : %
    u
    s
    e
    r %
    n
    i
    c
    e %
    s
    y
    s
    t
    e
    m %
    i
    o
    w
    a
    i
    t %
    s
    t
    e
    a
    l %
    i
    d
    l
    e
    0
    .
    2
    1 0
    .
    0
    0 0
    .
    1
    0 0
    .
    2
    8 0
    .
    0
    0 9
    9
    .
    4
    1
    D
    e
    v
    i
    c
    e
    : r
    r
    q
    m
    /
    s w
    r
    q
    m
    /
    s r
    /
    s w
    /
    s r
    k
    B
    /
    s w
    k
    B
    /
    s a
    v
    g
    r
    q
    -
    s
    z a
    v
    g
    q
    u
    -
    s
    z a
    w
    a
    i
    t r
    _
    s
    d
    a 9
    .
    7
    1 1
    0
    4
    .
    7
    7 2
    .
    1
    6 5
    .
    8
    1 7
    8
    .
    5
    9 4
    8
    5
    .
    4
    3 1
    4
    1
    .
    4
    4 0
    .
    3
    9 4
    9
    .
    2
    5
    7

    View Slide

  8. s
    a
    r
    Consumos
    Conexiones
    $ s
    a
    r -
    n T
    C
    P
    ,
    E
    T
    C
    P 1
    0
    7
    :
    2
    8
    :
    2
    3 A
    M a
    c
    t
    i
    v
    e
    /
    s p
    a
    s
    s
    i
    v
    e
    /
    s i
    s
    e
    g
    /
    s o
    s
    e
    g
    /
    s
    0
    7
    :
    2
    8
    :
    2
    4 A
    M 0
    .
    0
    0 0
    .
    0
    0 2
    .
    9
    7 2
    .
    9
    7
    0
    7
    :
    2
    8
    :
    2
    3 A
    M a
    t
    m
    p
    t
    f
    /
    s e
    s
    t
    r
    e
    s
    /
    s r
    e
    t
    r
    a
    n
    s
    /
    s i
    s
    e
    g
    e
    r
    r
    /
    s o
    r
    s
    t
    s
    /
    s
    0
    7
    :
    2
    8
    :
    2
    4 A
    M 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0
    $ s
    a
    r -
    n D
    E
    V 1
    0
    7
    :
    2
    6
    :
    5
    9 A
    M I
    F
    A
    C
    E r
    x
    p
    c
    k
    /
    s t
    x
    p
    c
    k
    /
    s r
    x
    k
    B
    /
    s t
    x
    k
    B
    /
    s r
    x
    c
    m
    p
    /
    s t
    x
    c
    m
    p
    /
    s
    0
    7
    :
    2
    7
    :
    0
    0 A
    M e
    t
    h
    0 3
    .
    9
    6 3
    .
    9
    6 0
    .
    2
    5 0
    .
    4
    3 0
    .
    0
    0 0
    .
    0
    0
    0
    7
    :
    2
    7
    :
    0
    0 A
    M l
    o 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0 0
    .
    0
    0
    8

    View Slide

  9. s
    t
    r
    a
    c
    e
    9

    View Slide

  10. ¿Qué archivos abre un proceso?
    $ s
    t
    r
    a
    c
    e -
    e o
    p
    e
    n w
    h
    o
    o
    p
    e
    n
    (
    "
    /
    e
    t
    c
    /
    l
    d
    .
    s
    o
    .
    c
    a
    c
    h
    e
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    |
    O
    _
    C
    L
    O
    E
    X
    E
    C
    ) = 3
    o
    p
    e
    n
    (
    "
    /
    l
    i
    b
    /
    x
    8
    6
    _
    6
    4
    -
    l
    i
    n
    u
    x
    -
    g
    n
    u
    /
    l
    i
    b
    c
    .
    s
    o
    .
    6
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    |
    O
    _
    C
    L
    O
    E
    X
    E
    C
    ) = 3
    o
    p
    e
    n
    (
    "
    /
    u
    s
    r
    /
    l
    i
    b
    /
    l
    o
    c
    a
    l
    e
    /
    l
    o
    c
    a
    l
    e
    -
    a
    r
    c
    h
    i
    v
    e
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    |
    O
    _
    C
    L
    O
    E
    X
    E
    C
    ) = 3
    o
    p
    e
    n
    (
    "
    /
    v
    a
    r
    /
    r
    u
    n
    /
    u
    t
    m
    p
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    |
    O
    _
    C
    L
    O
    E
    X
    E
    C
    ) = 3
    o
    p
    e
    n
    (
    "
    /
    u
    s
    r
    /
    l
    i
    b
    /
    x
    8
    6
    _
    6
    4
    -
    l
    i
    n
    u
    x
    -
    g
    n
    u
    /
    g
    c
    o
    n
    v
    /
    g
    c
    o
    n
    v
    -
    m
    o
    d
    u
    l
    e
    s
    .
    c
    a
    c
    h
    e
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    ) = 3
    o
    p
    e
    n
    (
    "
    /
    e
    t
    c
    /
    l
    o
    c
    a
    l
    t
    i
    m
    e
    "
    , O
    _
    R
    D
    O
    N
    L
    Y
    |
    O
    _
    C
    L
    O
    E
    X
    E
    C
    ) = 3
    v
    a
    g
    r
    a
    n
    t p
    t
    s
    /
    0 2
    0
    1
    6
    -
    0
    7
    -
    1
    4 0
    1
    :
    1
    5 (
    1
    9
    2
    .
    1
    6
    8
    .
    1
    0
    2
    .
    1
    2
    0
    )
    10

    View Slide

  11. Estadisticas
    $ s
    t
    r
    a
    c
    e -
    c p
    y
    t
    h
    o
    n l
    o
    o
    p
    s
    .
    p
    y
    % t
    i
    m
    e s
    e
    c
    o
    n
    d
    s u
    s
    e
    c
    s
    /
    c
    a
    l
    l c
    a
    l
    l
    s e
    r
    r
    o
    r
    s s
    y
    s
    c
    a
    l
    l
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    6
    1
    .
    3
    1 0
    .
    0
    4
    0
    1
    8
    8 6 7
    2
    8
    8 b
    r
    k
    3
    6
    .
    9
    7 0
    .
    0
    2
    4
    2
    3
    7 7
    1
    3 3
    4 m
    u
    n
    m
    a
    p
    0
    .
    3
    2 0
    .
    0
    0
    0
    2
    1
    1 1 1
    7
    4 1
    0
    8 o
    p
    e
    n
    0
    .
    3
    1 0
    .
    0
    0
    0
    2
    0
    0 2 1
    2
    3 r
    e
    a
    d
    11

    View Slide

  12. ¿Qué datos se reciben?
    $ s
    t
    r
    a
    c
    e -
    o n
    e
    t
    t
    r
    a
    c
    e
    .
    t
    x
    t -
    e r
    e
    c
    v
    f
    r
    o
    m w
    g
    e
    t "
    h
    t
    t
    p
    :
    /
    /
    d
    o
    w
    n
    l
    o
    a
    d
    .
    f
    i
    n
    a
    n
    c
    e
    .
    y
    a
    h
    o
    o
    .
    c
    o
    m
    /
    d
    /
    q
    u
    o
    t
    e
    s
    .
    r
    e
    c
    v
    f
    r
    o
    m
    (
    4
    , "
    ^
    \
    2
    7
    1
    \
    2
    0
    1
    \
    2
    0
    0
    \
    0
    \
    1
    \
    0
    \
    3
    \
    0
    \
    0
    \
    0
    \
    0
    \
    1
    0
    d
    o
    w
    n
    l
    o
    a
    d
    \
    7
    f
    i
    n
    a
    n
    c
    e
    \
    5
    y
    a
    "
    .
    .
    .
    , 1
    0
    2
    4
    , 0
    , {
    s
    a
    _
    f
    r
    e
    c
    v
    f
    r
    o
    m
    (
    4
    , "
    \
    3
    6
    1
    (
    \
    2
    0
    1
    \
    2
    0
    0
    \
    0
    \
    1
    \
    0
    \
    3
    \
    0
    \
    0
    \
    0
    \
    0
    \
    1
    0
    d
    o
    w
    n
    l
    o
    a
    d
    \
    7
    f
    i
    n
    a
    n
    c
    e
    \
    5
    y
    a
    "
    .
    .
    .
    , 1
    0
    2
    4
    , 0
    , {
    s
    a
    _
    f
    r
    e
    c
    v
    f
    r
    o
    m
    (
    4
    , "
    H
    T
    T
    P
    /
    1
    .
    1 2
    0
    0 O
    K
    \
    r
    \
    n
    D
    a
    t
    e
    : T
    h
    u
    , 1
    4 J
    "
    .
    .
    .
    , 5
    1
    1
    , M
    S
    G
    _
    P
    E
    E
    K
    , N
    U
    L
    L
    , N
    U
    L
    L
    ) = 5
    1
    1
    r
    e
    c
    v
    f
    r
    o
    m
    (
    4
    , "
    a
    c
    h
    e
    T
    r
    a
    f
    f
    i
    c
    S
    e
    r
    v
    e
    r [
    c
    M
    s
    S
    f ]
    )
    \
    r
    \
    n
    S
    e
    r
    "
    .
    .
    .
    , 5
    1
    2
    , M
    S
    G
    _
    P
    E
    E
    K
    , N
    U
    L
    L
    , N
    U
    L
    L
    ) = 1
    7
    4
    12

    View Slide

  13. ¿Qué está haciendo el programa?
    $ t
    i
    m
    e p
    y
    t
    h
    o
    n c
    l
    i
    e
    n
    t
    .
    p
    y &
    [
    1
    ] 2
    3
    6
    1
    Podemos mirar el stack de llamadas, para ver dónde está esperando.
    $ s
    u
    d
    o c
    a
    t /
    p
    r
    o
    c
    /
    $
    (
    p
    g
    r
    e
    p -
    f c
    l
    i
    e
    n
    t
    .
    p
    y
    )
    /
    s
    t
    a
    c
    k
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    2
    5
    8
    4
    1
    >
    ] s
    k
    _
    w
    a
    i
    t
    _
    d
    a
    t
    a
    +
    0
    x
    d
    1
    /
    0
    x
    e
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    7
    f
    0
    6
    a
    >
    ] t
    c
    p
    _
    r
    e
    c
    v
    m
    s
    g
    +
    0
    x
    5
    5
    a
    /
    0
    x
    c
    d
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    a
    7
    3
    5
    b
    >
    ] i
    n
    e
    t
    _
    r
    e
    c
    v
    m
    s
    g
    +
    0
    x
    6
    b
    /
    0
    x
    8
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    1
    e
    5
    f
    8
    >
    ] s
    o
    c
    k
    _
    r
    e
    c
    v
    m
    s
    g
    +
    0
    x
    d
    8
    /
    0
    x
    f
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    2
    1
    4
    2
    9
    >
    ] S
    Y
    S
    C
    _
    r
    e
    c
    v
    f
    r
    o
    m
    +
    0
    x
    e
    9
    /
    0
    x
    1
    7
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    6
    2
    2
    0
    3
    e
    >
    ] S
    y
    S
    _
    r
    e
    c
    v
    f
    r
    o
    m
    +
    0
    x
    e
    /
    0
    x
    1
    0
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    8
    1
    7
    5
    0
    9
    9
    d
    >
    ] s
    y
    s
    t
    e
    m
    _
    c
    a
    l
    l
    _
    f
    a
    s
    t
    p
    a
    t
    h
    +
    0
    x
    1
    a
    /
    0
    x
    1
    f
    [
    <
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    >
    ] 0
    x
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    f
    13

    View Slide

  14. r
    e
    d
    i
    s
    _
    p
    u
    b
    s
    u
    b
    .
    p
    y
    i
    m
    p
    o
    r
    t r
    e
    d
    i
    s
    r = r
    e
    d
    i
    s
    .
    S
    t
    r
    i
    c
    t
    R
    e
    d
    i
    s
    (
    h
    o
    s
    t
    =
    '
    l
    o
    c
    a
    l
    h
    o
    s
    t
    '
    , p
    o
    r
    t
    =
    6
    3
    7
    9
    , d
    b
    =
    0
    )
    r
    .
    p
    u
    b
    l
    i
    s
    h
    (
    "
    c
    a
    n
    a
    l
    "
    , "
    h
    e
    l
    l
    o
    !
    "
    )
    14

    View Slide

  15. r
    e
    d
    i
    s
    _
    p
    u
    b
    s
    u
    b
    .
    p
    y
    s
    t
    r
    a
    c
    e -
    q -
    o p
    u
    b
    s
    u
    b
    .
    t
    x
    t p
    y
    t
    h
    o
    n r
    e
    d
    i
    s
    _
    p
    u
    b
    s
    u
    b
    .
    p
    y
    s
    o
    c
    k
    e
    t
    (
    P
    F
    _
    I
    N
    E
    T
    , S
    O
    C
    K
    _
    S
    T
    R
    E
    A
    M
    , I
    P
    P
    R
    O
    T
    O
    _
    T
    C
    P
    ) = 3
    s
    e
    t
    s
    o
    c
    k
    o
    p
    t
    (
    3
    , S
    O
    L
    _
    T
    C
    P
    , T
    C
    P
    _
    N
    O
    D
    E
    L
    A
    Y
    , [
    1
    ]
    , 4
    ) = 0
    f
    c
    n
    t
    l
    (
    3
    , F
    _
    G
    E
    T
    F
    L
    ) = 0
    x
    2 (
    f
    l
    a
    g
    s O
    _
    R
    D
    W
    R
    )
    f
    c
    n
    t
    l
    (
    3
    , F
    _
    S
    E
    T
    F
    L
    , O
    _
    R
    D
    W
    R
    ) = 0
    c
    o
    n
    n
    e
    c
    t
    (
    3
    , {
    s
    a
    _
    f
    a
    m
    i
    l
    y
    =
    A
    F
    _
    I
    N
    E
    T
    , s
    i
    n
    _
    p
    o
    r
    t
    =
    h
    t
    o
    n
    s
    (
    6
    3
    7
    9
    )
    , s
    i
    n
    _
    a
    d
    d
    r
    =
    i
    n
    e
    t
    _
    a
    d
    d
    r
    (
    "
    1
    2
    7
    .
    0
    .
    0
    .
    1
    "
    f
    c
    n
    t
    l
    (
    3
    , F
    _
    G
    E
    T
    F
    L
    ) = 0
    x
    2 (
    f
    l
    a
    g
    s O
    _
    R
    D
    W
    R
    )
    f
    c
    n
    t
    l
    (
    3
    , F
    _
    S
    E
    T
    F
    L
    , O
    _
    R
    D
    W
    R
    ) = 0
    s
    e
    n
    d
    t
    o
    (
    3
    , "
    *
    3
    \
    r
    \
    n
    $
    7
    \
    r
    \
    n
    P
    U
    B
    L
    I
    S
    H
    \
    r
    \
    n
    $
    5
    \
    r
    \
    n
    c
    a
    n
    a
    l
    \
    r
    \
    n
    $
    1
    1
    \
    r
    "
    .
    .
    .
    , 4
    6
    , 0
    , N
    U
    L
    L
    , 0
    ) = 4
    6
    b
    r
    k
    (
    0
    x
    1
    a
    f
    2
    0
    0
    0
    ) = 0
    x
    1
    a
    f
    2
    0
    0
    0
    r
    e
    c
    v
    f
    r
    o
    m
    (
    3
    , "
    :
    1
    \
    r
    \
    n
    "
    , 6
    5
    5
    3
    6
    , 0
    , N
    U
    L
    L
    , N
    U
    L
    L
    ) = 4
    r
    t
    _
    s
    i
    g
    a
    c
    t
    i
    o
    n
    (
    S
    I
    G
    I
    N
    T
    , {
    S
    I
    G
    _
    D
    F
    L
    , [
    ]
    , S
    A
    _
    R
    E
    S
    T
    O
    R
    E
    R
    , 0
    x
    7
    f
    9
    4
    a
    4
    3
    b
    5
    c
    b
    0
    }
    , {
    0
    x
    5
    5
    8
    f
    d
    0
    , [
    ]
    , S
    A
    _
    R
    E
    S
    c
    l
    o
    s
    e
    (
    3
    ) = 0
    15

    View Slide

  16. p
    e
    r
    f
    16

    View Slide

  17. $ p
    e
    r
    f s
    t
    a
    t -
    B p
    y
    t
    h
    o
    n l
    o
    o
    p
    s
    .
    p
    y
    P
    e
    r
    f
    o
    r
    m
    a
    n
    c
    e c
    o
    u
    n
    t
    e
    r s
    t
    a
    t
    s f
    o
    r '
    p
    y
    t
    h
    o
    n l
    o
    o
    p
    s
    .
    p
    y
    '
    :
    6
    8
    6
    1
    .
    2
    6
    1
    9
    1
    7 t
    a
    s
    k
    -
    c
    l
    o
    c
    k # 0
    .
    9
    9
    8 C
    P
    U
    s u
    t
    i
    l
    i
    z
    e
    d
    3
    8 c
    o
    n
    t
    e
    x
    t
    -
    s
    w
    i
    t
    c
    h
    e
    s # 0
    .
    0
    0
    6 K
    /
    s
    e
    c
    0 c
    p
    u
    -
    m
    i
    g
    r
    a
    t
    i
    o
    n
    s # 0
    .
    0
    0
    0 K
    /
    s
    e
    c
    3
    9
    7
    ,
    8
    4
    6 p
    a
    g
    e
    -
    f
    a
    u
    l
    t
    s # 0
    .
    0
    5
    8 M
    /
    s
    e
    c
    6
    .
    8
    7
    6
    9
    2
    0
    3
    0
    0 s
    e
    c
    o
    n
    d
    s t
    i
    m
    e e
    l
    a
    p
    s
    e
    d
    17

    View Slide

  18. $ p
    e
    r
    f t
    o
    p
    $ p
    y
    t
    h
    o
    n s
    u
    m
    a
    s
    .
    p
    y
    18

    View Slide

  19. Utilizar p
    r
    u
    e
    b
    a
    1 y p
    r
    u
    e
    b
    a
    2 simultáneamente.
    $ p
    e
    r
    f r
    e
    c
    o
    r
    d -
    g -
    e '
    s
    c
    h
    e
    d
    :
    s
    c
    h
    e
    d
    _
    s
    w
    i
    t
    c
    h
    ' -
    e '
    s
    c
    h
    e
    d
    :
    s
    c
    h
    e
    d
    _
    s
    t
    a
    t
    _
    s
    l
    e
    e
    p
    ' \
    -
    e '
    s
    c
    h
    e
    d
    :
    s
    c
    h
    e
    d
    _
    s
    t
    a
    t
    _
    b
    l
    o
    c
    k
    e
    d
    ' \
    -
    - p
    y
    t
    h
    o
    n l
    o
    o
    p
    s
    .
    p
    y
    19

    View Slide

  20. FlameGraphs
    $ g
    i
    t c
    l
    o
    n
    e h
    t
    t
    p
    s
    :
    /
    /
    g
    i
    t
    h
    u
    b
    .
    c
    o
    m
    /
    b
    r
    e
    n
    d
    a
    n
    g
    r
    e
    g
    g
    /
    F
    l
    a
    m
    e
    G
    r
    a
    p
    h
    $ p
    e
    r
    f r
    e
    c
    o
    r
    d -
    F 9
    9 -
    a -
    g -
    - p
    y
    t
    h
    o
    n .
    .
    /
    c
    l
    i
    e
    n
    t
    .
    p
    y
    $ p
    e
    r
    f s
    c
    r
    i
    p
    t | .
    /
    s
    t
    a
    c
    k
    c
    o
    l
    l
    a
    p
    s
    e
    -
    p
    e
    r
    f
    .
    p
    l > o
    u
    t
    .
    p
    e
    r
    f
    -
    f
    o
    l
    d
    e
    d
    $ .
    /
    f
    l
    a
    m
    e
    g
    r
    a
    p
    h
    .
    p
    l o
    u
    t
    .
    p
    e
    r
    f
    -
    f
    o
    l
    d
    e
    d > p
    e
    r
    f
    -
    k
    e
    r
    n
    e
    l
    .
    s
    v
    g
    20

    View Slide

  21. Thanks!
    @luisbelloch
    21

    View Slide