Instructions uses sudo. To configure sudo on your fedora system, use this command as root, and replace [username] with your username, then logout and login again:
usermod [username] -a -G wheel
1 Build and install kernel modules
1.1 Perform any pending updates:
sudo yum update
If the kernel is updated, reboot the machine.
1.2 Install development tools:
sudo yum group install "Development tools"
1.3 Fix kernel headers location
At the time of writing this How-to, the version of the kernel-devel package doesn't exactly matches the running kernel (uname -r). We worked around this issue by copying headers in the directory matching the version of the running kernel. The version numbers are likely to change (and this issue may be solved), so adapt it your situation.
First, check if this applies to your system:
First, check if this applies to your system:
rpm -qa | grep kernel-devel
kernel-devel-3.9.4-300.fc19.x86_64
uname -r 3.9.4-301.fc19.x86_64
If versions do not match, you can fix (hack) it like this:
sudo su - cd /usr/src/kernels cp -a 3.9.4-300.fc19.x86_64 3.9.4-301.fc19.x86_64
1.4 Download lttng-modules
We need to install lttng-modules 2.2.0-rc2 (or later) for compatibility with linux 3.9.4.
wget http://lttng.org/files/lttng-modules/lttng-modules-2.2.0-rc2.tar.bz2 tar -xjvf lttng-modules-2.2.0-rc2.tar.bz2 cd lttng-modules-2.2.0-rc2/ KERNELDIR=/usr/src/kernels/$(uname -r) make sudo KERNELDIR=/usr/src/kernels/$(uname -r) make modules_install sudo depmod -a sudo modprobe lttng-tracer
The module lttng_tracer should be loaded and visible with lsmod.
Step 2: Install lttng packages
sudo yum install lttng-tools lttng-ust babeltrace lttng-ust-devel
Now, reboot the machine. The service lttng-sessiond should be started automatically, and all required modules should be loaded. Here is some checks that can be done:
$ lsmod | grep lttng_tracer lttng_tracer 558145 24 lttng_ring_buffer_client_discard,lttng_probe_jbd2,lttng_probe_kmem,lttng_probe_napi,lttng_probe_scsi,lttng_probe_sock,lttng_ring_buffer_client_mmap_overwrite,lttng_probe_statedump,lttng_ring_buffer_metadata_client,lttng_ring_buffer_client_mmap_discard,lttng_probe_irq,lttng_probe_kvm,lttng_probe_net,lttng_probe_skb,lttng_probe_udp,lttng_ring_buffer_metadata_mmap_client,lttng_probe_module,lttng_probe_signal,lttng_probe_vmscan,lttng_probe_block,lttng_ring_buffer_client_overwrite,lttng_probe_power,lttng_probe_sched,lttng_probe_timer lttng_lib_ring_buffer 50443 7 lttng_ring_buffer_client_discard,lttng_ring_buffer_client_mmap_overwrite,lttng_ring_buffer_metadata_client,lttng_ring_buffer_client_mmap_discard,lttng_tracer,lttng_ring_buffer_metadata_mmap_client,lttng_ring_buffer_client_overwrite lttng_statedump 30537 1 lttng_tracer lttng_ftrace 13097 1 lttng_tracer lttng_kprobes 12911 1 lttng_tracer lttng_kretprobes 13224 1 lttng_tracer $ sudo service lttng-sessiond status Redirecting to /bin/systemctl status lttng-sessiond.service lttng-sessiond.service - LTTng 2.x central tracing registry session daemon Loaded: loaded (/usr/lib/systemd/system/lttng-sessiond.service; enabled) Active: active (running) since Tue 2013-06-04 14:48:53 EDT; 1min 8s ago Process: 385 ExecStart=/usr/bin/lttng-sessiond -d (code=exited, status=0/SUCCESS) Main PID: 418 (lttng-sessiond) CGroup: name=systemd:/system/lttng-sessiond.service └─418 /usr/bin/lttng-sessiond -d
Step 3: Make traces with workload-kit
One way to make traces is to use workload-kit. Here is how to install it from sources.
wget http://secretaire.dorsal.polymtl.ca/~fgiraldeau/workload-kit/workload-kit-0.1.13.tar.bz2 tar -xjvf workload-kit-0.1.13.tar.bz2 cd workload-kit-0.1.13/ ./configure --disable-cputemp make -j12 sudo make installThen, the tool lttng-simple can be used to generate a UST trace or a kernel trace for instance:
lttng-simple -k -s -- sleep 1 babeltrace sleep-k/ lttng-simple -u -- /usr/local/share/workload-kit/scripts/ust/wk-heartbeat babeltrace wk-heartbeat-u/Happy tracing!
Aucun commentaire:
Enregistrer un commentaire