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

Sign up
Appearance settings

cissieAB/eCenter

Repository files navigation

eCenter

Real-time multi-node network traffic monitoring and visualization for JLab LDRD 100Gbps testbeds.

See CLAUDE.md for the full architecture design and decisions.

Repository Structure

eCenter/
├── dpu-telemetry-eBPF/ # eBPF traffic counter (submodule → JeffersonLab/dpu-telemetry-eBPF)
├── ld2606_daos_redis/ # Redis backend + simulator + DAOS client (submodule → cissieAB/ld2606_daos_redis)
├── viz/ # Go viz backend + browser UI (vis.js + uPlot)
└── CLAUDE.md # Architecture documentation

Clone

Always clone with --recurse-submodules to pull both sub-projects:

git clone --recurse-submodules https://github.com/cissieAB/eCenter.git

If you already cloned without it:

git submodule update --init

Pull Latest Updates

Update everything at once

# Pull parent repo changes + advance all submodules to their latest remote commit
git pull
git submodule update --remote --merge

Update a specific submodule only

git submodule update --remote --merge dpu-telemetry-eBPF
# or
git submodule update --remote --merge ld2606_daos_redis

Check submodule status

git submodule status

A - prefix means not yet initialized. A + prefix means the checked-out commit differs from what the parent repo tracks (i.e., you have a newer or older commit locally).

How to Work with This Repo

The parent repo stores a commit pointer (SHA) for each submodule, not the code itself. Any time a submodule's commit advances — whether you made the change or pulled from upstream — you need to record the new pointer in the parent with a commit. This keeps the parent always tracking exactly which versions of the sub-projects work together.

Make changes inside a submodule

Submodules start in detached HEAD state. Check out a branch before making changes:

cd dpu-telemetry-eBPF
git checkout main # or whichever branch you want
# ... make changes ...
git commit -am "your change"
git push
cd ..
git add dpu-telemetry-eBPF # stage the new commit pointer
git commit -m "bump dpu-telemetry-eBPF to <sha>"
git push

Pull upstream changes to a submodule

git submodule update --remote --merge dpu-telemetry-eBPF
git add dpu-telemetry-eBPF
git commit -m "bump dpu-telemetry-eBPF to <sha>"
git push

Check what needs recording

git submodule status
  • - prefix → submodule not initialized yet (git submodule update --init)
  • + prefix → submodule is ahead of what the parent tracks → needs a bump commit
  • no prefix → in sync

Viz Prototype

A standalone browser demo (mock data, no Redis required) lives in viz/demo.html. Open it directly in any browser:

open viz/demo.html

About

The network digital twin view via eBPF. Product of JLab LDRD2606

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /