Skip to main content

Interactive browser for analyzing Dynflow task execution data from TheForeman/Red Hat Satellite sosreports.

Project description

DynflowBrowser

Interactive browser for analyzing Dynflow task execution data from TheForeman/Red Hat Satellite sosreports.

Overview

  • DynflowBrowser is based on DynflowParser.
  • Compared to previous application, DynflowBrowser is much more FASTER because it does not generate all Action pages but only saves data to a SQLite file.
  • There are available two interfaces for analyzing Dynflow execution:
    • Terminal Browser: Fast keyboard/mouse-driven specifically designed TUI Dynflow browser.
    • HTTPD Service: Web interface accessible from any browser.

How it works?

  1. It reads Dynflow csv files from a sosreport and saves the data to a SQLite file.
    • Imported data can be filtered using similar sintax as the well known foreman-rake. E.g:
      # foreman-rake foreman_tasks:export_tasks TASK_SEARCH='result != success' TASK_DAYS=3
      #
      # dynflowbrowser --search="result != success" --task-days 3
      
  2. The database is used to get the Tasks details while browsing using the TUI or HTTP server.
  • HTTPD Service can be started in background while using the Terminal Browser.
  • Share HTTP or SSH tunnel access with colleagues to dig into the same Dynflow data.
  1. Dynflow and Pulp statistics by execution time are available for all/specific Tasks.

Key Features

  • Fast CSV parsing with pandas and optimized SQLite operations
  • Filter tasks by state, result, search queries, or time range
  • Expandable task hierarchies with automatic error expansion
  • Dynflow and Pulp execution statistics
  • Timezone-aware date conversion. Dynflow and Pulp UTC converted to sosreport TZ.
  • System context display (hostname, version, CPU, RAM, tuning)

Screenshots

Tasks list Task details Terminal

Installation

Using pip

pip install dynflowbrowser

Using prebuilt packages

Download from Latest Release

Requirements

  • Python 3.6+
  • Jinja2, pandas, pytz, textual

Usage

usage: dynflowbrowser [-h] [-v] [--search SEARCH] [--state {paused,pending,planned,planning,running,stopped}]
                      [--result {error,pending,success,warning}] [--task-days TASK_DAYS] [-o OUTPUT_PATH]
                      [sosreport_path]

Get sosreport dynflow files and generates user friendly html pages for tasks, plans, actions and steps

positional arguments:
  sosreport_path        Path to sos report folder. Default is current path.

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --search SEARCH       Search query using foreman-rake syntax. Supports operators: =, !=, ~, !~, >, <, >=, <= and connectors: AND,
                        OR
  --state {paused,pending,planned,planning,running,stopped}
                        Filter by task state. Valid: paused, pending, planned, planning, running, stopped
  --result {error,pending,success,warning}
                        Filter by task result. Valid: error, pending, success, warning
  --task-days TASK_DAYS
                        Import only tasks from last N days. Same as foreman-rake TASK_DAYS parameter.
  -o OUTPUT_PATH, --output_path OUTPUT_PATH
                        Write output to this path. Default is './dynflowbrowser/'.

Examples:
  # Combine state, result and time filters
  dynflowbrowser --state stopped --result error --task-days 10

  # Complex search query (AND / OR operators)
  dynflowbrowser --search="result != success" --task-days 3
  dynflowbrowser --search="label ~ Sync AND state = stopped AND result = error"

Exporting Tasks from Foreman Database

For systems where sos is not installed or doesn't include dynflow data:

# Run on the Satellite server
dynflowbrowser-export-tasks

# Options:
#  -d DAYS    Number of days to export (default: 14)
#  -f FILTER  SQL filter query
#  -o PATH    Output directory (default: /tmp)

Creates a compressed export file compatible with DynflowBrowser.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynflowbrowser-0.0.3.tar.gz (78.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynflowbrowser-0.0.3-py3-none-any.whl (90.7 kB view details)

Uploaded Python 3

File details

Details for the file dynflowbrowser-0.0.3.tar.gz.

File metadata

  • Download URL: dynflowbrowser-0.0.3.tar.gz
  • Upload date:
  • Size: 78.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dynflowbrowser-0.0.3.tar.gz
Algorithm Hash digest
SHA256 7b688907aabc0e16f852fc4c2af01cf0adfc5d776ccd1774744816295abd6ea3
MD5 bf08c1cf60e8101958f920a2ee6f461d
BLAKE2b-256 78d3b37fe3ebd79fa5548c32819878f1c859f53e74b38c00dd3be5b8ec7666d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynflowbrowser-0.0.3.tar.gz:

Publisher: publish-pypi.yml on pafernanr/dynflowbrowser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dynflowbrowser-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: dynflowbrowser-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 90.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dynflowbrowser-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11c259ee97d1110b2ad87d3452e59723ff1a0abb3fc707411cb07f8072753774
MD5 5625a05197a615364007805bc18b21b4
BLAKE2b-256 e59df6b928776889c414be916121ed237224a1a168b003cfdb6ea51a9e5fd689

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynflowbrowser-0.0.3-py3-none-any.whl:

Publisher: publish-pypi.yml on pafernanr/dynflowbrowser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page