Are the actual osds running in containers with cephadm? -Sam On Fri, Jul 23, 2021 at 4:19 AM Chris Ward <tjcw01@xxxxxxxxx> wrote: > > I would like to take a google profile (performance profile) of a ceph OSD. > I'm using 'cephadm' to depoy my cluster, which results in a set of servers > which are too wrapped up in automation for me to be able to add the google > profiling hooks. I'll describe how to take a google profile of a regular > linux process, in the hope that someone can help me adapt this to the way > cephadm deploys a ceph OSD. > > First, you install the google profiling library and analysis tool. > 'sudo apt install google-perftools' would do the install on Ubuntu; there is > a matching package in EPEL for RHEL/Centos. > > Then you run the OSD with some environment variables set > LD_PRELOAD=/usr/lib/libprofiler.so > CPUPROFILE=osd.googleprof > CPUPROFILESIGNAL=12 > It's OK to set these variables for additional processes (e.g. all processes in > a container) > > Then you get ready to run the client benchmarking application. Just before > starting the client, you send signal SIGUSR2 (signal 12) to the OSD process; > this turns profiling on. > After the benchmarking application completes, you send another SIGUSR2 to the > OSD; this stops profiling and writes the profile to file osd.googleprof . > > After profiling, you run the analysis tool. > google-pprof --pdf OSD osd.googleprof >osd.pdf > where OSD is the appropriate program binary file. This writes a call graph as > a PDF to the given file. > > Thanks for all help ! > _______________________________________________ > Dev mailing list -- dev@xxxxxxx > To unsubscribe send an email to dev-leave@xxxxxxx _______________________________________________ Dev mailing list -- dev@xxxxxxx To unsubscribe send an email to dev-leave@xxxxxxx