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.5.tar.gz (90.0 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.5-py3-none-any.whl (104.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dynflowbrowser-0.0.5.tar.gz
  • Upload date:
  • Size: 90.0 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.5.tar.gz
Algorithm Hash digest
SHA256 bfb3c546f00e792fdb385fe5c194d89a083f02d9018a11bf25b491eecf5cd9db
MD5 211f92ee65d330c6a4f56539ada8a44a
BLAKE2b-256 c0ed52c194d849510aa9dbb21df26bc7832fcb7000f8cabb960a4cd0a4953bcc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dynflowbrowser-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 104.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3c1389862ad088f77bdee1ff55f514a79ee54e5f304a443ac33f5779fbee6a71
MD5 66537c935421199daf20b9dd5c42ab8d
BLAKE2b-256 3834b7240b1d3f4791c80f3937a52f1d12c33e402f0344bdd58a0f32bb5fa018

See more details on using hashes here.

Provenance

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