Hatchet Hatchet Versions Save

Analyze graph/hierarchical performance data using pandas dataframes

v1.4.0

3 months ago

New features

  • Reader for the new HPCToolkit v4 data format
  • Several new capabilities in the Chopper API
  • Docs for the Chopper API
  • Function to unify multiple graphframes

Other changes

  • Drop Python 2.7 support
  • Remove cython generated .c files

v1.3.1

1 year ago

Support for new file formats:

  • Timemory reader
  • Perfetto/Omnitrace reader
  • HDF5 reader and writer
  • TAU reader
  • SpotDB reader
  • ScoreP reader

New features:

  • Query dataframe columns via GraphFrame.show_metric_columns()
  • Query nodes within a range using the call path query language
  • Extend readers to define their own default metric
  • Console tree() output can displays two metrics
  • Parallel implementation of filter function
  • New compound queries feature for Query language
  • Chopper API for simplifying performance analysis

v1.3.1a0

2 years ago

New features

  • Timemory reader
  • Query dataframe columns with GraphFrame.show_metric_columns()
  • Query nodes within a range using the call path query language
  • Extend readers to define their own default metric
  • Changes to existing APIs
  • Tree visualization displays 2 metrics
  • Literal output format: add hatchet node IDs
  • Parallel implementation of filter function
  • Caliper reader: support multiple hierarchies in JSON format
  • Adds multiprocessing dependency

v1.3.0

3 years ago

New features:

  • Interactive tree visualization in Jupyter
  • Add mult and division API
  • Update hatchet installation steps for cython integration
  • Readers: cprofiler, pyinstrument
  • Graph output formats: to_literal
  • Add profiling APIs to profile Hatchet APIs
  • Update basic tutorial for hatchet

Changes to existing APIs

  • Remove threshold=, color=, and unicode= from tree API
  • Highlighting name disabled by default in terminal tree output is kept in sync with the dataframe
  • Internal performance improvements to unify and HPCToolkit reader, enabling analysis of large datasets
  • For mathematical operations, insert nan values for missing nodes, show values as nan and inf as necessary in dataframe
  • Extend callpath query language to support non-dataframe metrics (e.g., depth, hatchet ID)
  • Literal reader: A node can be defined with a "duplicate": True field if it should be the same node (though in a different callpath). A node also needs "frame" field, which is a dict containing the node "name" and "type" (if necessary).

v1.2.0

3 years ago
  • Add graph syntax query language to filter the graph
  • Update HPCToolkit reader to handle sec or usec time units
  • Sort nodes in union and tree printout by their frame
  • Fix squash edge case where multiple parents are the same
  • Add squash parameter to filter function to perform filter and squash in a single call
  • Filter function takes an object, which can be a user-supplied function or a query object
  • Update tree printout format
  • Parameter changes to tree printout API, alias old to new parameters

v1.1.0

4 years ago
  • Add GraphFrame reindex operator
  • Query hatchet module version
  • Add depth parameter to tree printout
  • Handle MultiIndex for pandas 1.0.0 and newer vs older pandas versions

v1.0.1

4 years ago
  • Downgrade pandas version for python 3.6 and later (incompatible versions)
  • Fix HPCToolkit reader bug for statement nodes
  • Add markups to identify missing nodes (from unify)
  • Remove sorting nodes by frame in graph union
  • Add missing rows for math operations on graphframes, fixes unify
  • Add precision parameter to metrics in tree printout
  • Restore index for self's dataframe in squash
  • tree() to print nodes with negative values higher than threshold
  • Fix phase timer to aggregate times for duplicate phases
  • Add Graphframe division operator

v1.0.0

4 years ago

This is the first major release of Hatchet. Documentation is available at: https://hatchet.readthedocs.io.