# How-to-generate-flame-graph-for-specific-container_686074188
## Introduction

This guide presents the steps to generate flamegraph for specific container

## When to use this guide?

Usually when the issue happens on specific deployment and basic monitoring metrics cannot help on the troubleshooting.

## Deployment

1. Deploy [Krew](https://github.com/kubernetes-sigs/krew) on bastion
	1. Make sure that `git` is installed.
		2. Run this command to download and install `krew`:
		```
		(
		  set -x; cd "$(mktemp -d)" &&
		  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
		  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
		  KREW="krew-${OS}_${ARCH}" &&
		  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
		  tar zxvf "${KREW}.tar.gz" &&
		  ./"${KREW}" install krew
		)
		```
		3. Add the `$HOME/.krew/bin` directory to your PATH environment variable. To do this, update your `.bashrc` or `.zshrc` file and append the following line:
		```
		export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
		```
		4. Run `kubectl krew` to check the installation.
2. Install kubectl-prof
	```
	kubectl krew index add kubectl-prof https://github.com/josepdcs/kubectl-prof
	kubectl krew search kubectl-prof
	kubectl krew install kubectl-prof/prof
	kubectl prof --help
	```

## Take the flame graph

1. Find the pod / container with issue
2. Take the flame graph
	```
	kubectl prof itom-xruntime-platform-offline-xxxxxxxxxx-xxxxx -n  itsma-xxxxx  -t 1m -l java -o flamegraph --local-path=/temp itom-xruntime-platform
	```
3. Analyze on the flamegraph

Reference
