Skip to content

Conversation

@jrishabh248
Copy link

Issue #, if available:
The aperf tool had issues in capturing the async profiler data for java based applications running on eks which was mentioned as limitation with the eks-aperf.sh script.

Description of changes:
Fix the above issue below modifications

  • Replace pod specification with new aperf pod configuration
  • Add direct variable substitution in heredoc instead of sed commands
  • Implement kubectl exec-based profiling workflow for better reliability
  • Fix kubectl cp command to use correct tar.gz filename from aperf report
  • Remove manual tar creation as aperf report generates it automatically
  • Add host path creation functionality for on-the-fly directory setup using temporary setup pod

Host path improvements:

  • Create async profiler directory on target nodes automatically
  • Mount host root filesystem to setup required directories
  • Enable shared volume mounting between application and APerf pods
  • Support for /opt/k8s/async-profiler/async-profiler-4.2-linux-arm64 host path
  • Ensure proper directory permissions for profiler execution

Script improvements:

  • Use predictable aperf record/report naming with timestamps
  • Simplify aperf report command to use directory from record step
  • Enhanced error handling for missing report directories
  • Streamlined file copying process
  • Enable --profile-java support through shared volume configuration

Documentation updates:

  • Create comprehensive combined README merging existing and new documentation
  • Add detailed application pod configuration requirements for shared volume mounting
  • Include complete setup instructions from ECR repository creation to execution
  • Document worker node requirements for async profiler binaries
  • Add troubleshooting guide and security considerations
  • Remove outdated limitation about --profile-java support
  • Include real execution examples and expected output
  • Document host path creation and shared volume requirements

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

@jrishabh248 jrishabh248 requested a review from a team as a code owner November 11, 2025 10:32
@jrishabh248 jrishabh248 changed the title Updated the Docker File, eks-aperf.sh and adding eks-aperf-README.md Updated the Docker File, eks-aperf.sh and adding eks-aperf-README.md Adding support async-profiler on EKS Nov 11, 2025
@@ -0,0 +1,300 @@
# Running APerf on EKS/Kubernetes
Copy link
Contributor

Choose a reason for hiding this comment

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

The title says "Updated the Docker File, eks-aperf.sh and adding eks-aperf-README.md", but seems the change only includes readme?

Copy link
Contributor

Choose a reason for hiding this comment

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

A similar pull request was opened here: https://github.com/aws/aperf/pull/355/files

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