Tracing Node on Linux with LTTNG

@dberesford, nearForm.

Tracing Node on Linux with LTTNG

@dberesford - nearForm

Node JS Dublin - March 2015

bit.ly/1GPk0cx

Tracing

A specialised use of logging to record information about a programs execution

Tracing - what it isn't

Linux Tracing

Syscalls

LTTNG 2.x

LTTNG Components

LTTNG Viewers

Kernel Tracing Example..

LTTNG - UST

Tracepoint Macro..


      TRACEPOINT_EVENT(
        hello_world,
        my_first_tracepoint,
      TP_ARGS(
        int, my_integer_arg,
        char*, my_string_arg
      ), TP_FIELDS(
        ctf_string(my_string_field, my_string_arg)
        ctf_integer(int, my_integer_field, my_integer_arg)
        )
      )
      ...
      tracepoint(hello_world, my_first_tracepoint, 23, "hi there!");
    

LTTNG Tracepoints in node.js/io.js

io.js FTW!

io.js Debugging and Tracing

Node.js App Tracepoints - nftrace

LTTNG - quick review!

Monitoring & Metrics

Finally..