GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - inab/treecript: A set of python scripts to monitor, collect, and visualize metrics of a given Linux process or a give command line

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

179 Commits
179 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
data
data
 
 
docs
docs
 
 
installation
installation
 
 
legacy
legacy
 
 
mypy-stubs/rocrate
mypy-stubs/rocrate
 
 
onboarding
onboarding
 
 
sample-charts
sample-charts
 
 
sample-series/Wetlab2Variations_metrics/2025_05_20-02_19-14001
sample-series/Wetlab2Variations_metrics/2025_05_20-02_19-14001
 
 
sample-work-to-measure
sample-work-to-measure
 
 
sample/27819-2018_05_03_1521
sample/27819-2018_05_03_1521
 
 
sample_cpuinfo
sample_cpuinfo
 
 
tests
tests
 
 
treecript
treecript
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
LICENSE
LICENSE
 
 
MANIFEST.in
MANIFEST.in
 
 
README.md
README.md
 
 
RO-Crate-REPRESENTATION.md
RO-Crate-REPRESENTATION.md
 
 
cpuinfo-tdp-finder.py
cpuinfo-tdp-finder.py
 
 
execution-metrics-collector.py
execution-metrics-collector.py
 
 
metrics-aggregator.py
metrics-aggregator.py
 
 
modelname-tdp-finder.py
modelname-tdp-finder.py
 
 
plotGraph.py
plotGraph.py
 
 
process-metrics-collector.py
process-metrics-collector.py
 
 
pyproject.toml
pyproject.toml
 
 
setup.py
setup.py
 
 
tdp-finder.py
tdp-finder.py
 
 
treecript-builder.def
treecript-builder.def
 
 

Repository files navigation

treecript: Process Tree Metrics Transcriptor

Originally named Execution Process Metrics Collector, treecript monitors Linux processes and their descendants, collects their metrics, and helps analyze and visualize the results. It was initially developed for ELIXIR STEERS.

Documentation

The full list is in the documentation index.

  • Installation: Singularity/Apptainer, pip, and Conda.
  • Standalone collector binary: download the existing Docker-built binary, or use a builder image to create one with PyInstaller and check compatibility with HPC systems.
  • Usage and CPU datasets: collect, plot, find CPU TDP, and estimate energy consumption.
  • Metrics and output files: output files and column reference.
  • RO-Crate representation: structure of generated RO-Crates.
  • Onboarding example and sample workloads.
  • Legacy scripts.

Quick start

After a Python installation:

execution-metrics-collector ~/my_metrics my_command --arg1 --arg2

For container-based collection and subsequent analysis, see the usage guide. The standalone binary only provides the collector; analysis requires a separate Python installation.

The Apptainer/Singularity builder SIF is an intermediate tool for producing that binary. It is not the separate collection runtime image.

Repository

treecript/
├── treecript/                  Python package (the actual implementation)
│   ├── collector.py            Process-tree metrics collection
│   ├── parser.py               Reads collected metrics
│   ├── aggregator.py           Digests metrics and estimates energy consumption
│   ├── plot_graph.py           Time series charts
│   ├── tdp_finder.py           CPU TDP lookup (uses tdp_sources.py)
│   ├── rocrate.py              RO-Crate generation
│   └── common.py               Shared helpers
├── *.py (top level)            Thin wrappers of the commands (see table below)
├── tests/                      Unit tests
├── docs/                       Documentation (start at docs/README.md)
├── installation/               Requirements, constraints and container recipes
├── treecript-builder.def       Apptainer/Singularity recipe for the standalone binary
├── setup.py, pyproject.toml    Packaging
├── data/                       Local CPU datasets (populated as in docs/usage.md)
├── legacy/                     Old Bash scripts (unmaintained)
├── onboarding/                 First installation and measurement walk-through
├── sample-work-to-measure/     Scripts that run sample workloads
├── sample/, sample-series/,    Example metrics, charts and CPU info files
│   sample-charts/, sample_cpuinfo/
└── .github/workflows/          CI: pre-commit, pip-audit, container builds
Command Module Purpose
execution-metrics-collector treecript.collector Run a command and collect its process tree metrics.
process-metrics-collector treecript.collector Collect metrics of an already running PID.
plotGraph treecript.plot_graph Plot time series charts.*
metrics-aggregator treecript.aggregator Aggregate metrics and estimate energy.*
tdp-finder, cpuinfo-tdp-finder, modelname-tdp-finder treecript.tdp_finder Find a CPU TDP from metrics, /proc/cpuinfo or a model name.*

* Needs the analytics extra (not included in the standalone binary).

The workflows in .github/workflows/ are:

  • pre-commit.yml, pre-commit_wsl.yml: linting, type checks, tests and licence checks.
  • pip-audit.yml: scheduled security audit that regenerates the constraints files.
  • container.yml, container_self.yml: Singularity/Apptainer image builds (on v* tags or manual dispatch).

License

Licensed under GNU GPL v3. This repository is a fork and evolution of chamilad/process-metrics-collector.

About

A set of python scripts to monitor, collect, and visualize metrics of a given Linux process or a give command line

Topics

elixir-steerssteers

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

6 stars

Watchers

2 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.