Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Dashboard for Unified Kernel Statistics (DUKS) - How is the Linux Kernel development going ? Duks is a data visualization tool to help with that.

License

Notifications You must be signed in to change notification settings

linux-duks/DUKS

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦆 DUKS - Dashboard for Unified Kernel Statistics

How is the Linux Kernel development going ? Duks is a [work in progress] data visualization tool to help with that.

duks.rcpassos.me

Development

To run DUKS in development, it is recommended to use the dev-compose.yaml file. This starts the server with the Backend (that also serves the Frontend).

podman-compose -f dev-compose.yaml up

Obtain the sample data files in the archived replication package.

The file structure

├── data    -> where the data files should be stored
├── nginx    -> configurations for nginx (for production)
├── scripts   -> scripts used to generate the dataset
└── server   -> backend source code
    └── static -> static Frontend files

Running from zero

Bootstrapping this from zero requires a few external resources.

Requirements:

Preparing the dataset

This repository is organized to use uv as its python dependencies, this document will use it. Run scripts from the project root directory (as it will create a ./data/ folder relative to the scripts). Other options should work.

  1. run the GRPC server with the local graph, following the upstream guide. Example: swh-graph-grpc-serve --bind 0.0.0.0:50091 /media/research/2025-05-18-history-hosting/graph
  2. run uv run scripts/grpc_script.py to execute the BFS on the graph. This script will look for the last commit in the DEFAULT_BRANCH for the chosen KERNEL_TREE. Defaults to the master in the mainline kernel. It is also possible to pre-load commits manually. Must set the GRAPH_GRPC_SERVER and INITIAL_NODE, if non-default port or commit would be used.
  3. run the uv run scripts/enrich_from_git.py script, pointing to the mainline branch path. This will load data that is unavailable in the graph. Tags can be loaded from the previous step, or loaded here if LOAD_TAGS_FROM_REPO is set. Example: KERNEL_PATH=/media/research/linux uv run scripts/enrich_from_git.py
  4. run the scripts/get_official_kernel_maintainers.py to read the contents of the maintainers file in all its changes. This step is independent from others, besides step 5. Example: KERNEL_PATH=/media/research/linux uv run scripts/get_official_kernel_maintainers.py
  5. run the [scripts/stitch_data_into_final_payload.py] to get the daily output (with some calculation) and with all files in a single v

Running application

Run either podman-compose -f dev-compose.yaml up for development or podman-compose up for production build

Research

Papers related to this software:

PASSOS, Rafael; PILONE, Arthur; TADOKORO, David; MEIRELLES, Paulo

About

Dashboard for Unified Kernel Statistics (DUKS) - How is the Linux Kernel development going ? Duks is a data visualization tool to help with that.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
Morty Proxy This is a proxified and sanitized view of the page, visit original site.