The threadscope package

[ Tags: bsd3, development, profiling, program, trace ] [ Propose Tags ]

ThreadScope is a graphical viewer for thread profile information generated by the Glasgow Haskell compiler (GHC).

The Threadscope program allows us to debug the parallel performance of Haskell programs. Using Threadscope we can check to see that work is well balanced across the available processors and spot performance issues relating to garbage collection or poor load balancing.

[Skip to Readme]


Versions 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9
Dependencies array (<0.6), base (>=4.6 && <5), binary (<0.10), bytestring (<0.11), cairo (<0.14), containers (>=0.2 && <0.6), deepseq (>=1.1), file-embed (<0.1), filepath (<1.5), ghc-events (>=0.5 && <0.7), glib (<0.14), gtk (>=0.12 && <0.15), gtk-mac-integration (<0.4), mtl (<2.3), pango (<0.14), template-haskell (<2.13), temporary (>=1.1 && <1.3), text (<1.3), time (>=1.1 && <1.9), unix (>=2.3 && <2.8) [details]
License BSD3
Copyright 2009-2010 Satnam Singh, 2009-2011 Simon Marlow, 2009 Donnie Jones, 2011-2012 Duncan Coutts, 2011-2014 Mikolaj Konarski, 2011 Nicolas Wu, 2011 Eric Kow
Author Satnam Singh <>, Simon Marlow <>, Donnie Jones <>, Duncan Coutts <>, Mikolaj Konarski <>, Nicolas Wu <>, Eric Kow <>
Maintainer Simon Marlow <>
Category Development, Profiling, Trace
Home page
Bug tracker
Source repository head: git clone
Uploaded Sat Sep 2 11:31:42 UTC 2017 by MitsutoshiAoe
Distributions Debian:0.2.6, FreeBSD:0.2.7, NixOS:0.2.9
Executables threadscope
Downloads 5282 total (54 in the last 30 days)
Rating 2.25 (2 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2017-09-02 [all 2 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees

Readme for threadscope-0.2.9

[back to package description]


Hackage Hackage-Deps Build Status Build status

Using pre-built binaries

Currently pre-built binaries for the following platforms are provided:

  • Ubuntu Trusty (64-bit)
  • OS X
  • Windows (x64)

GTK+2 needs to be installed for those binaries to work. On OS X, gtk-mac-integration also needs to be installed.

Building from source


GTK+2 is required to be installed. On Ubuntu-like systems:

sudo apt install libgtk2.0-dev

Then you can build threadscope using cabal:

cabal new-build

Or using stack:

stack setup
stack install


GTK+ and gtk-mac-integration are required.

brew install gtk+ gtk-mac-integration

Then you can build threadscope using cabal:

cabal new-build --constraint="gtk +have-quartz-gtk"

Or using stack:

stack setup
stack install --flag gtk:have-quartz-gtk


stack is the recommended tool to build threadscope on Windows.

CAVEAT: Currently gtk2 needs to be installed twice: one for stack's MSYS2 environment and another for local MSYS2 environment.

In command prompt:

stack setup
stack exec -- pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime msys2-runtime-devel
stack exec -- pacman -Syu
stack exec -- pacman -Syuu
stack exec -- pacman -S base-devel mingw-w64-x86_64-pkg-config mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk2
stack install

Then in MSYS2 MINGW64 shell:

echo 'export PATH=$APPDATA/local/bin:$PATH' >> .profile
source .profile