tracer v0.1.1 Tracer

Tracer is a tracing framework for elixir which features an easy to use high level interface, extensibility and safety for using in production.

To run a tool use the run command. Tracing only happens when the tool is running. All tools accept the following parameters:

  • node: node_name - Option to run the tool remotely.
  • max_tracing_time: time - Maximum time to run tool (30sec).
  • max_message_count: count - Maximum number of events (1000)
  • max_queue_size: size - Maximum message queue size (1000)
  • process: pid - Process to trace, also accepts regigered names, and :all, :existing, :new
  • forward_pid: pid - Forward results as messages insted of printing to the display.

Examples

iex> run Count, process: self(), match: global String.split(string, pattern)
  :ok

  iex> String.split("Hello World", " ")
  ["Hello", "World"]

  iex> String.split("Hello World", " ")
  ["Hello", "World"]

  iex String.split("Hello World", "o")
  ["Hell", " W", "rld"]

  iex> String.split("Hello", "o")
  ["Hell", ""]

  iex> stop
  :ok

          1              [string:"Hello World", pattern:"o"]
          1              [string:"Hello"      , pattern:"o" ]
          2              [string:"Hello World", pattern:" "]

Link to this section Summary

Functions

Runs a tool. Tracing only happens when the tool is running.

  • tool_name - The name of the tool that want to run.
  • node: node_name - Option to run the tool remotely.
  • max_tracing_time: time - Maximum time to run tool (30sec).
  • max_message_count: count - Maximum number of events (1000)
  • max_queue_size: size - Maximum message queue size (1000)
  • process: pid - Process to trace, also accepts regigered names, and :all, :existing, :new
  • forward_pid: pid - Forward results as messages insted of printing to the display.

Examples

iex> run Count, process: self(), match: global String.split(string, pattern)
  :ok

Link to this section Functions

Link to this function probe(type, params)

Runs a tool. Tracing only happens when the tool is running.

  • tool_name - The name of the tool that want to run.
  • node: node_name - Option to run the tool remotely.
  • max_tracing_time: time - Maximum time to run tool (30sec).
  • max_message_count: count - Maximum number of events (1000)
  • max_queue_size: size - Maximum message queue size (1000)
  • process: pid - Process to trace, also accepts regigered names, and :all, :existing, :new
  • forward_pid: pid - Forward results as messages insted of printing to the display.

Examples

iex> run Count, process: self(), match: global String.split(string, pattern)
  :ok

  iex> String.split("Hello World", " ")
  ["Hello", "World"]

  iex> String.split("Hello World", " ")
  ["Hello", "World"]

  iex> String.split("Hello World", "o")
  ["Hell", " W", "rld"]

  iex> String.split("Hello", "o")
  ["Hell", ""]

  iex> stop
  :ok

          1              [string:"Hello World", pattern:"o"]
          1              [string:"Hello"      , pattern:"o" ]
          2              [string:"Hello World", pattern:" "]
Link to this function run(tool_name, params)
Link to this function set_tool(param)
Link to this function tool(type, params)