precice-profiling


Nameprecice-profiling JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummaryA tool for post-processing and analyzing preCICE profiling data.
upload_time2025-08-18 10:46:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords precice visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # preCICE profiling tools

## Workflow

1. _Optional_ Enable `<profiling mode="all"/>` in the preCICE configuration of your case to get the profiling information.
2. Run the preCICE simulation.
3. Run `precice-profiling-merge` to combine all emitted profiling files of the simulation into a single `profiling.db` file.
4. Analyze the solvers:
    * Use `precice-profiling-analyze` to get a breakdown of an individual solver.
    * Use `precice-profiling-trace` to visualize the data.
    * Use `precice-profiling-export` to export the data as CSV to import in other software.


## Tools

### merge

Merges profiling files emitted by each rank of each participant into a single easily portable file.
Creates a `profiling.db` by default.

### export

Transforms all events to a tabular format and exports the result as a CSV format.
The columns `Participant`, and `Rank` can be used to filter the dataset to extract individual participants or specific ranks.

Reads `profiling.db` and creates `profiling.csv` by default.

### trace

Transforms all events to the [Google Trace Format](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU) which can be visualized by tools such as `about::tracing` in Chromium based browsers or [perfetto.dev](https://ui.perfetto.dev/).

Reads `profiling.db` and creates `trace.json` by default.

### analyze

Analyzes a given solver and returns a table of all timings including some statistics based on their duration.

Reads `profiling.db` by default.

## HPC users

HPC users or users of locked down clusters without easy access to pip can download the [`merge` command](https://raw.githubusercontent.com/precice/profiling/refs/heads/main/preciceprofiling/merge.py) as a standalone file and run it without installing additional dependencies.

```console
wget -O precice-profiling-merge https://raw.githubusercontent.com/precice/profiling/refs/heads/main/preciceprofiling/merge.py
chmod +x precice-profiling-merge
```

## Licensing

This repository contains modified part of the the `precice-profiling` script, which is part of the preCICE library (precice/precice `tools/profiling/precice-profiling`) and licensed under the LGPv3 license.
The two copyright holders David Schneider (@davidscn david.schneider@ipvs.uni-stuttgart.de) and Frédéric Simonis (@fsimonis frederic.simonis@ipvs.uni-stuttgart.de) decided on 23. June 2025 15:00 CET to rerelease the content of the `precice-profiling` script in this repository under the MIT license.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "precice-profiling",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Fr\u00e9d\u00e9ric Simonis <frederic.simonis@ipvs.uni-stuttgart.de>",
    "keywords": "preCICE, visualization",
    "author": null,
    "author_email": "The preCICE Developers <info@precice.org>",
    "download_url": "https://files.pythonhosted.org/packages/c2/3e/f8f409b0c4d09b0f504e6c1954cd1ce20d39b254e736f88e48434acc8b91/precice_profiling-2.0.3.tar.gz",
    "platform": null,
    "description": "# preCICE profiling tools\n\n## Workflow\n\n1. _Optional_ Enable `<profiling mode=\"all\"/>` in the preCICE configuration of your case to get the profiling information.\n2. Run the preCICE simulation.\n3. Run `precice-profiling-merge` to combine all emitted profiling files of the simulation into a single `profiling.db` file.\n4. Analyze the solvers:\n    * Use `precice-profiling-analyze` to get a breakdown of an individual solver.\n    * Use `precice-profiling-trace` to visualize the data.\n    * Use `precice-profiling-export` to export the data as CSV to import in other software.\n\n\n## Tools\n\n### merge\n\nMerges profiling files emitted by each rank of each participant into a single easily portable file.\nCreates a `profiling.db` by default.\n\n### export\n\nTransforms all events to a tabular format and exports the result as a CSV format.\nThe columns `Participant`, and `Rank` can be used to filter the dataset to extract individual participants or specific ranks.\n\nReads `profiling.db` and creates `profiling.csv` by default.\n\n### trace\n\nTransforms all events to the [Google Trace Format](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU) which can be visualized by tools such as `about::tracing` in Chromium based browsers or [perfetto.dev](https://ui.perfetto.dev/).\n\nReads `profiling.db` and creates `trace.json` by default.\n\n### analyze\n\nAnalyzes a given solver and returns a table of all timings including some statistics based on their duration.\n\nReads `profiling.db` by default.\n\n## HPC users\n\nHPC users or users of locked down clusters without easy access to pip can download the [`merge` command](https://raw.githubusercontent.com/precice/profiling/refs/heads/main/preciceprofiling/merge.py) as a standalone file and run it without installing additional dependencies.\n\n```console\nwget -O precice-profiling-merge https://raw.githubusercontent.com/precice/profiling/refs/heads/main/preciceprofiling/merge.py\nchmod +x precice-profiling-merge\n```\n\n## Licensing\n\nThis repository contains modified part of the the `precice-profiling` script, which is part of the preCICE library (precice/precice `tools/profiling/precice-profiling`) and licensed under the LGPv3 license.\nThe two copyright holders David Schneider (@davidscn david.schneider@ipvs.uni-stuttgart.de) and Fr\u00e9d\u00e9ric Simonis (@fsimonis frederic.simonis@ipvs.uni-stuttgart.de) decided on 23. June 2025 15:00 CET to rerelease the content of the `precice-profiling` script in this repository under the MIT license.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool for post-processing and analyzing preCICE profiling data.",
    "version": "2.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/precice/profiling/issues",
        "Documentation": "https://precice.org/tooling-performance-analysis",
        "Homepage": "https://precice.org",
        "Repository": "https://github.com/precice/profiling.git"
    },
    "split_keywords": [
        "precice",
        " visualization"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "28820ce2583ad16ece81a4e3b3d692c15b86a65d458c9640647b9adb3532e0fa",
                "md5": "2ace336e12df11c03edb33bf70ff97d3",
                "sha256": "ef638dadef911d838a899c5977bdba0b888ab7d633aefc71e47038c8fcf2cb02"
            },
            "downloads": -1,
            "filename": "precice_profiling-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2ace336e12df11c03edb33bf70ff97d3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 17118,
            "upload_time": "2025-08-18T10:46:13",
            "upload_time_iso_8601": "2025-08-18T10:46:13.353345Z",
            "url": "https://files.pythonhosted.org/packages/28/82/0ce2583ad16ece81a4e3b3d692c15b86a65d458c9640647b9adb3532e0fa/precice_profiling-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c23ef8f409b0c4d09b0f504e6c1954cd1ce20d39b254e736f88e48434acc8b91",
                "md5": "63b9bbaf818d1d2f4dcfe1250517e4e7",
                "sha256": "d861814d50d1f13a4a5bef589d0f8b9685fadb4d0b2651fa0c21eee2957b3ed3"
            },
            "downloads": -1,
            "filename": "precice_profiling-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "63b9bbaf818d1d2f4dcfe1250517e4e7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14962,
            "upload_time": "2025-08-18T10:46:14",
            "upload_time_iso_8601": "2025-08-18T10:46:14.839731Z",
            "url": "https://files.pythonhosted.org/packages/c2/3e/f8f409b0c4d09b0f504e6c1954cd1ce20d39b254e736f88e48434acc8b91/precice_profiling-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 10:46:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "precice",
    "github_project": "profiling",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "precice-profiling"
}
        
Elapsed time: 1.22100s