Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate profiling reports #17

Merged
merged 6 commits into from
Feb 4, 2017
Merged

Generate profiling reports #17

merged 6 commits into from
Feb 4, 2017

Commits on Jan 17, 2017

  1. Flame graphs using :eflame

    The example puzzle is the same as the one in the Sudoku solver test, except with
    several more cells filled in. Using the original causes :eflame to time out
    while creating the final report (see
    proger/eflame#13).
    
    Ensure rebar is installed (the original, not rebar3), and run the following:
    
        $ MIX_ENV=prod mix do clean, deps.get, deps.compile, compile
        $ MIX_ENV=prod iex -S mix run -e "Backtrex.Profiler.eflame; exit(:normal)"
        $ ./deps/eflame/stack_to_flame.sh < stacks.out > flame-prod.svg
    
    Credit goes to http://learningelixir.joekain.com/profiling-elixir-2/ for getting
    me started.
    jmitchell committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    57e7692 View commit details
    Browse the repository at this point in the history
  2. Add fprof profiling. See #12.

    jmitchell committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    1efaca3 View commit details
    Browse the repository at this point in the history
  3. Flexible profiler (see #12).

    jmitchell committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    fda8bce View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2017

  1. Add backtrex.profile mix task.

    Runs fprof and eflame on all combinations of backends and frontends, each with
    a list of input problems they can handle.
    jmitchell committed Jan 18, 2017
    Configuration menu
    Copy the full SHA
    0c4b1c0 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2017

  1. Dialyzer: resolve/ignore warnings

    Ignore fprof's "Unknown functions" because they don't seem to be included in the
    Erlang PLT. Add mix as an explicit dependency to resolve the warning about the
    custom mix task.
    jmitchell committed Feb 4, 2017
    Configuration menu
    Copy the full SHA
    27a964d View commit details
    Browse the repository at this point in the history
  2. Add missing make_flamegraph.sh script

    Backtrex.Profiler calls the script, but it was never committed.
    jmitchell committed Feb 4, 2017
    Configuration menu
    Copy the full SHA
    422c996 View commit details
    Browse the repository at this point in the history