Skip to content

Conversation

@salvatoredipietro
Copy link
Contributor

Description of changes:

Added Kubernetes support for running APerf on Amazon EKS clusters with three new files:

  • Dockerfile to build a containerized version of APerf with multi-architecture support (x86_64/arm64)
  • eks-aperf.sh script to deploy and run APerf pods on specific EKS nodes
  • README-EKS.md with detailed setup instructions and usage examples

This enhancement enables collecting performance metrics on EKS nodes without requiring direct SSH access, making it easier to profile applications running in Kubernetes environments.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@salvatoredipietro salvatoredipietro requested a review from a team as a code owner July 10, 2025 09:06
Copy link
Contributor

@DDxPlague DDxPlague left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these look good to me. Tested it on my cluster with you and got good results.

@DDxPlague DDxPlague merged commit 298a9e3 into aws:main Jul 10, 2025
6 checks passed
case "$1" in
--node=*)
NODE_NAME="${1#*=}"
shift
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend to factor out the parsing so you have less code and don't have to repeat each argument.

Example:

while [ $# -gt 0 ]; do
    dest=""
    case "${1%=*}" in
        --foo) dest=SET_FOO;;
        --bar) dest=SET_BAR;;
        *) echo "Unknown parameter: $1"; exit 1;;
    esac
    if [[ "$1" = *=* ]]; then 
        let ${dest}="${1#*=}"
    else 
        let ${dest}="$2"
        shift
    fi  
    shift
done

kill $LOGS_PID 2>/dev/null || true

# Copy files from pod to local directory
LOCAL_FILE="aperf_report_$(date +%Y%m%d-%H%M%S).tar.gz"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we name the report at generate time instead of here (or even allow the user to define the name), to avoid ending up with multiple reports with the same internal name?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants