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.4.tar.gz (78.5 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.4-py3-none-any.whl (91.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dynflowbrowser-0.0.4.tar.gz
  • Upload date:
  • Size: 78.5 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.4.tar.gz
Algorithm Hash digest
SHA256 2f44ec9ec24e08f4b69dd8bb34f6c8beb946c9739c5109881bd682d56cc70db6
MD5 ef4a2db5c94c60a4883c1171ef36fb75
BLAKE2b-256 cf61a8d9ca8d856f6aa0d4f76f46b625a8ca3c31b84f1a749845b843a4427881

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynflowbrowser-0.0.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: dynflowbrowser-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 91.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2e1647cc58a5d8c481bd339f69db1fc03bdaa4c16b9481efa0cd494e3a3e3225
MD5 b3c67459d66c1ba9bbadb0d91b76da34
BLAKE2b-256 4897d613a944d0fb5ce9f6df1472c3d56095f4a54e5d1545a2c2b5c469925bf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynflowbrowser-0.0.4-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