Skip to main content

Network Profiler for the HPE Cassini Cray NIC

Project description

net_prof

net_prof is a network profiler library aimed to profile the HPE Cray Cassini Network Interface Card (NIC) on a compute node to collect, analyze and visualize the network counter events. This tool will help to compare and diagnose a successful workload without any network issues with an unsuccessful workload due to a network issue.

To Install

pip install net_prof
- or -
pip install net-prof (Legacy -- pip supports - or _)

Install in editable mode from project root:

pip install -e .

Or use (workaround):

sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'src')))

Functions

collect(input_directory, output.json)
summarize(before, after)
dump(summary)
dump_html(summary, output.html)

Example Utilizing multi-NIC

import sys
import os
import net_prof

net_prof.collect("../sys/class/cxi", "/path/to/file/before.json"))
# Perform some sort of action between before and after.
net_prof.collect("../sys/class/cxi", "/path/to/file/after.json"))

summary = net_prof.summarize("/path/to/file/before.json", "/path/to/file/after.json")

net_prof.dump(summary)
net_prof.dump_html(summary, "/path/to/file/report.html")

Instructions for single-NIC collection

Instead of giving a ../sys/class/cxi directory:

net_prof.collect("../sys/class/cxi", os.path.join(script_dir, "before.json"))

pass in the whole directory up to /telemetry/ of specific NIC:

net_prof.collect("../sys/class/cxi/cxi0/device/telemetry", os.path.join(script_dir, "before.json"))

Test used by Aurora:

import os
import net_prof

target_host = "x4306c7s2b0n0.hostmgmt2306.cm.aurora.alcf.anl.gov"

net_prof.collect("/sys/class/cxi/","/lus/flare/projects/datascience/kaushik/network/net-prof-tests/ping-test/before.json")
os.system(f"ping -c 4 {target_host}") 
net_prof.collect("/sys/class/cxi/","/lus/flare/projects/datascience/kaushik/network/net-prof-tests/ping-test/after.json")

summary = net_prof.summarize("/lus/flare/projects/datascience/kaushik/network/net-prof-tests/ping-test/before.json", "/lus/flare/projects/datascience/kaushik/network/net-prof-tests/ping-test/after.json")

net_prof.dump(summary)
net_prof.dump_html(summary, "/lus/flare/projects/datascience/kaushik/network/net-prof-tests/ping-test/net_prof_report.html")

Profiler Snapshots

Alt text Alt text Alt text Alt text

References

https://cpe.ext.hpe.com/docs/latest/getting_started/HPE-Cassini-Performance-Counters.html

https://github.com/argonne-lcf/net_prof

https://pypi.org/project/net_prof/

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

net_prof-0.1.6.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

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

net_prof-0.1.6-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file net_prof-0.1.6.tar.gz.

File metadata

  • Download URL: net_prof-0.1.6.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for net_prof-0.1.6.tar.gz
Algorithm Hash digest
SHA256 885a3b73d6109325719bbdee8156fe34677a6bea357cd4087ef6a54cb29d44dd
MD5 a165699f0d55a9b3e62950bc96155dc9
BLAKE2b-256 ccb29368b86fe756bb53fda5b00bb87a00e155847a74259ec4ac3ffe5e6be290

See more details on using hashes here.

File details

Details for the file net_prof-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: net_prof-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for net_prof-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 91d8d6b6e970269010f2c0f13fa256b5efc5e3e28ec7e65bd1fb756b21ff4d0e
MD5 3a0431630b7205b326991227dbb43a64
BLAKE2b-256 9022ddbf98d2013182136337a93d10d4d2ff7bbc3a515e880fb05f45c2b166ed

See more details on using hashes here.

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