mpickering/eventlog2html

Fails to install

Opened this issue · 4 comments

stack --version
Version 2.9.3 aarch64

stack install eventlog2html     

Error: [S-4804]
       Stack failed to construct a build plan.
       
       While constructing the build plan, Stack encountered the following errors:
       
       In the dependencies for eventlog2html-0.9.3:
           statistics-linreg must match >=0.3, but the Stack configuration has no specified version (latest matching
                             version is 0.3)
           trie-simple must match >=0.4, but the Stack configuration has no specified version (latest matching version
                       is 0.4.1.1)
       needed since eventlog2html is a build target.

There is currently no test in CI which tests whether the dependencies of eventlog2html can be satisfied by any of the stackage snapshots. So there is no guarantee that eventlog2html can be built with any of the stack snapshots without using extra-dependencies.

I think you have two possibilities:

I've made some MRs against stackage to add those dependencies to the nightly package set:

Adding the following to stack.yaml worked for the install, but I'm not seeing any charts related to parallel in the output. I'm basically looking for an alternative of ThreadScope, because it doesn't work on Apple Silicon. It's possible I'm missing something due to being new to Haskell, but I can see the desired charts using ThreadScope on another computer.

extra-deps:
- statistics-linreg-0.3
- trie-simple-0.4.1.1

Edit: I found #102, so, I guess parallel programs profiling isn't supported.

There is probably a confusion about what eventlog2html does, in comparison to Threadscope. The eventlog is a general purpose mechanism of the runtime system of Haskell programs to emit data during execution and write them to an eventlog file. There are many different types of events that can be written to an eventlog file. Threadscope visualizes events which are related to threads, garbage collection and parallelism, whereas eventlog2html visualizes events related to the usage of heap memory, in order to diagnose space leaks. So Threadscope and eventlog2html have very little overlapping use cases at the moment.