<commit_before>SystemTap and Erlang/OTP
========================

Introduction
------------

SystemTap is DTrace for Linux. In fact Erlang's SystemTap support
is build using SystemTap's DTrace compatibility's layer. For an
introduction to Erlang DTrace support read [$ERL_TOP/HOWTO/DTRACE.md][].

Requisites
----------

*   Linux Kernel with UTRACE support
    
    check for UTRACE support in your current kernel:

        # grep CONFIG_UTRACE /boot/config-`uname -r`
        CONFIG_UTRACE=y

    Fedora 16 is known to contain UTRACE, for most other Linux distributions
    a custom build kernel will be required.
    Check Fedora's SystemTap documentation for additional required packages
    (e.g. Kernel Debug Symbols)

*   SystemTap > 1.6
  
    A the time of writing this, the latest released version of SystemTap is
    version 1.6. Erlang's DTrace support requires a MACRO that was introduced
    after that release. So either get a newer release or build SystemTap from
    git yourself (see: http://sourceware.org/systemtap/getinvolved.html)

Building Erlang
---------------

Configure and build Erlang with SystemTap support:

    # ./configure --with-dynamic-trace=systemtap + whatever args you need
    # make<commit_msg>Update SYSTEMTAP.md<commit_after>SystemTap and Erlang/OTP
========================

Introduction
------------

SystemTap is DTrace for Linux. In fact Erlang's SystemTap support
is built using SystemTap's DTrace compatibility's layer. For an
introduction to Erlang DTrace support read [$ERL_TOP/HOWTO/DTRACE.md][].

Requisites
----------

*   Linux Kernel with UTRACE support
    
    check for UTRACE support in your current kernel:

        # grep CONFIG_UTRACE /boot/config-`uname -r`
        CONFIG_UTRACE=y

    Fedora 16 is known to contain UTRACE, for most other Linux distributions
    a custom build kernel will be required.
    Check Fedora's SystemTap documentation for additional required packages
    (e.g. Kernel Debug Symbols)

*   SystemTap > 1.6
  
    A the time of writing this, the latest released version of SystemTap is
    version 1.6. Erlang's DTrace support requires a MACRO that was introduced
    after that release. So either get a newer release or build SystemTap from
    git yourself (see: http://sourceware.org/systemtap/getinvolved.html)

Building Erlang
---------------

Configure and build Erlang with SystemTap support:

    # ./configure --with-dynamic-trace=systemtap + whatever args you need
    # make
{'fraction_non_alphanumeric': 0.10145513338722716, 'fraction_numerical': 0.004850444624090542, 'mean_word_length': 3.1318864774624373, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2311329', 'n_tokens_mistral': 718, 'n_tokens_neox': 671, 'n_words': 278}