mpickering / eventlog2html

Visualise eventlog events as a static webpage
Other
69 stars 16 forks source link

Fails to install #165

Open asarkar opened 1 year ago

asarkar commented 1 year ago

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.
BinderDavid commented 1 year ago

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:

TeofilC commented 1 year ago

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

asarkar commented 1 year ago

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 https://github.com/mpickering/eventlog2html/issues/102, so, I guess parallel programs profiling isn't supported.

BinderDavid commented 1 year ago

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.