Recent Releases of hatchet

hatchet - v2025.1.0

Version 2025.1.0 is a major release.

Notable Changes

  • Display more than 2 metrics on the tree visualization (#165)
  • Allows Hatchet to work with NumPy >= 2.0 (#163)
  • Remove Extra Aggregation in Timeseries (#164)
  • Aggregate on String Attributes (#158)
  • Disable Aggregation for non-timeseries Profiles (#157)

Bug Fixes

  • Fix Node Ordering Setting (#154)
  • Fix sum(nan) == 0 in caliper native reader (#166)

Internal Updates

  • Skip HDF Test if Package not Available (#156)
  • Update examples to use fromcaliperreader by default, instead of fromcaliper (#160)
  • Update to Ubuntu 22.04 (#159)
  • Disables attestations in gh-action-pypi-publish to avoid errors from PyPI (#168)

- JavaScript
Published by slabasan 8 months ago

hatchet - v2024.1.3

Version 2024.1.3 is a minor release on the 2024.1 series.

Notable Changes:

  • Ignore Error Message if Not IPython (#147)
  • Improves performance of QL by changing how the QL extracts node data when using MultiIndex (#143)
  • Allow tuple as metric_column (#139)

Internal Updates:

  • Temporarily pin numpy Version Less Than 2.0.0 (#140)
  • Fixes minor typo that will cause CD to fail (#137)
  • Adds test for upload-artifact@v4 (#136)

- JavaScript
Published by slabasan over 1 year ago

hatchet - v2024.1.2

Version 2024.1.2 is a minor release on the 2024.1 series.

Notable Changes:

  • Adds support for multi-indexed column names to the query language (#124)
  • Adds a new HPCToolkit reader supporting the newest database format (#126)
  • Fixes a bug in Roundtrip that causes interactive visualization to fail in newer versions of Jupyter and IPython (#127)

Internal Updates:

  • Adds functionality to CI that auto-uploads to Codecov (#130)
  • Upgrades the version of black used in CI (#131)
  • Upgrades action versions in CI/CD (#132)

- JavaScript
Published by pearce8 over 1 year ago

hatchet - v2024.1.1

Version 2024.1.1 is a minor release on the 2024.1 series.

Notable Changes

  • Add support for terminal tree printout for dataframe with multi-indexed columns (#120)

Internal Updates

  • calipernativereader: Change "nid" casted value to np.int64 (#118)

- JavaScript
Published by slabasan almost 2 years ago

hatchet - v2024.1.0

Version 2024.1.0 is a major release.

Notable Changes

  • Added Jupyter Version Check to Roundtrip Import (#116)
  • Update node ordering of child graph when making a copy (#117)
  • Updates CaliperNativeReader to support all Caliper data types
  • Support for reading in a timeseries cali file and viewing annotations on tree

Internal Updates

  • Update old-style query warning to include hatchet version (#115)
  • Removed unicode string formatting needed for python2 only
  • Allows push to PyPI to be triggered through workflow_dispatch (#114)

- JavaScript
Published by slabasan almost 2 years ago

hatchet - v2023.1.1

Version 2023.1.1 is a minor release on the 2023.1 series.

Notable Changes

  • Add support for NaNs in calculating exclusive columns and optionally specify inclusive columns (#99)
  • Adds support for tree annotations with coloring and min/max attributes (#97)
  • caliperreader: handle other metadata types (#98)
  • Update caliperreader to initialize nodes based on node order column (#94)
  • Sort nodes in terminal tree by hatchet_nid instead alphabetically (#108)

Internal Updates

  • docs: Update developer_guide.rst (#102)
  • Deprecate Python2 CI coverage (#95)
  • Adds hatchet/external/roundtrip to MANIFEST (#91)
  • Removes python 3.5 from CI checks (#112)

- JavaScript
Published by slabasan over 2 years ago

hatchet - v2023.1.0

Version 2023.1.0 is a major release.

Notable Changes

  • caliperreader: Adds support for optional additional string attributes
  • caliperreader: option to use native or aliased metric names
  • Changes np.float to np.float64 to account for removal of np.float in newer versions of NumPy
  • caliperreader: fix duplicate dataframe rows
  • Enables support for multi-indexed DataFrames in the Query Language
  • Refactors Query Language for Thicket
  • Add Tuple Support and a Switch to Filter Function

Internal Updates

  • Changes the textx dependency to use version < 3 with Python < 3.6 and version >= 3 with Python >= 3.6
  • Adds Cython to the build-system requires list in pyproject.toml
  • Refactors setuptools to fix Cython issues and be consistent with Thicket
  • Adds a line to setup.py to get the hatchet.query package
  • Adds GitHub Action to build and (optionally) upload wheels and sdist (#87)

- JavaScript
Published by slabasan over 2 years ago

hatchet - 2022.2.2

This is a hotfix on the 2022.2 series. It addresses a bug fix in Hatchet's from_caliperreader().

- JavaScript
Published by slabasan over 3 years ago

hatchet - 2022.2.1

This is a minor release on the 2022.2 series.

Notable Changes

  • updates caliper reader to convert caliper metadata values into correct Python objects
  • adds tojson writer and fromdict and from_json readers
  • adds render_header parameter to tree() to toggle the header on/off
  • adds the ability to match leaf nodes in the Query Language

Other Changes

  • exposes version module to query hatchet version from the command line
  • docs: update to using hatchet at llnl page
  • adds a GitHub Action to test PyPI releases on a regular schedule

- JavaScript
Published by slabasan over 3 years ago

hatchet - 2022.2.0

Version 2022.2.0 is a major release, and resolves package install of hatchet.

  • Adds writers module to installed modules to resolve package install
  • CaliperReader bug fixes: filter records to parse, ignore function metadata field
  • Modify graphframe copy/deepcopy
  • Adds beautiful soup 4 to requirements.txt
  • Add new page on using hatchet on LLNL systems

- JavaScript
Published by slabasan over 3 years ago

hatchet - 2022.1.1

This is a minor release on the 2022.1 series. It addresses a bug fix in Hatchet's query language and Hatchet's flamegraph output:

  • flamegraph: change count to be an int instead of a float
  • query language: fix edge cases with + wildcard/quantifier by replacing it with . followed by *

- JavaScript
Published by slabasan over 3 years ago

hatchet - 2022.1.0

Version 2022.1.0 is a major release.

New features

  • 3 new readers: TAU, SpotDB, and Caliper python reader
  • Query language extensions: compound queries, not query, and middle-level API
  • Adds GraphFrame checkpoints in HDF5 format
  • Interactive CCT visualization enhancements: pan and zoom, module encoding, multivariate encoding and adjustable mass pruning on large datasets
  • HPCToolkit: extend for GPU stream data
  • New color maps for terminal tree visualization
  • New function for calculating exclusive metrics from corresponding inclusive metrics

Changes to existing APIs

  • Precision parameter applied to second metric in terminal tree visualization (e.g., gf.tree(precision=3))
  • Deprecates from_caliper_json(), augments existing from_caliper() to accept optional cali-query parameter and cali file or just a json file
  • Metadata now stored on the GraphFrame
  • New interface for calling the Hatchet calling context tree from Roundtrip: %cct <graphframe or list>. Deprecated interface: %loadVisualization <roundtrip_path> <literal_tree>
  • Add recursion limit parameter to graphframe filter(rec_limit=1000), resolving recursion depth errors on large graphs

Tutorials and documentation

  • New tutorial material from the ECP Annual Meeting 2021
  • New developer and contributor guides
  • Added section on how to generate datasets for Hatchet and expanded
  • documentation on the query language

Internal updates

  • Extend updateinclusivecolumns() for multi-indexed trees
  • Moves CI from Travis to GitHub Actions
  • Roundtrip refactor
  • New unit test for formatting license headers

Bugfixes

  • Return default_metric and metadata in filter(), squash(), copy(), and deepcopy()
  • flamegraph: extract name from dataframe column instead of frame
  • Preserve existing incmetrics in updateinclusive_columns

- JavaScript
Published by slabasan almost 4 years ago

hatchet - Hatchet v1.3.0

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).

- JavaScript
Published by slabasan about 4 years ago

hatchet - v1.3.1a0

New features

  • Timemory reader
  • Query dataframe columns with GraphFrame.showmetriccolumns()
  • 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

- JavaScript
Published by slabasan about 4 years ago