[lttng-dev] running lttng 2.10 on Docker 1.13.1

Jonathan Rajotte-Julien jonathan.rajotte-julien at efficios.com
Mon Apr 29 11:11:16 EDT 2019


Hi John,

On Sat, Apr 27, 2019 at 01:44:47AM +0000, whalajam--- via lttng-dev wrote:
>  I attach the lttng-sessiond -vvv output,John
>     On Friday, April 26, 2019, 9:38:36 p.m. EDT, whalajam--- via lttng-dev <lttng-dev at lists.lttng.org> wrote:  
>  
>  Hi,I have one docker container on which I installed LTTng version 2.10.I use
>  the same Docker container to build and run the application. The problem I
>  have is that there are no traces in the path specified when doing "lttng
>  create". "lttng view"fails complaining about files not found, the trace
>  directories are sometimes added to the path but the
>  /root/lttng../../../channel0_* files are empty.=C2=A0I've followed the
>  installation instructions from=C2=A0http://frederic-wou.net/lttng/and docs
>  on=C2=A0https://lttng.org/docs/v2.10/=C2=A0These are the commands: "lttng
>  enable -u a:b", "lttng start", <excercise-the-tracepoints>,"lttng stop" and
>  "lttng view". lttng-consumerd is running. Running 'lttng-sessiond --vvv'
>  returns DEBUG info and an error about server already runningWhat could be the
>  reason for the failure, how can I debug it?John

Multiple things going on here.

First, I gather from your explanation and log from sessiond that you most
probably installed lttng using a PPA or an equivalent. Note that some packages
will install a service and launch a root lttng-sessiond on start.

To get a verbose lttng-sessiond, you can disable this service, and then run
lttng-sessiond manually with the verbose option (-vvv --verbose-consumer).

   systemctl stop lttng-sessiond.serive
   systemctl disable lttng-sessiond.service
   lttng-sessiond -vvv --verbose-consumer

Or you can modify the service file. You will have to add the necessary options
and systemd output redirection.

If this is not the case, make sure to kill the other instance of lttng-sessiond.

> DEBUG3 - 22:36:39.908815000 [23511/23511]: Creating LTTng run directory: /var/run/lttng (in create_lttng_rundir() at main.c:5301)
> Error: A session daemon is already running.

As for your actual "problem", the likely culprit is that either no instrumented
application is tracing and no file are generated or you forgot to issue a "lttng
stop" or "lttng destroy" (on destroy an implicit stop is done since 2.9 if I
recall correctly) command.

When launching an app that you know is instrumented you can launch it with
LTTNG_UST_DEBUG=y env variable defined to get more information e.g if the app is
able to actually register to a lttng-sessiond instances.

Could you give us more information on the Docker image used
and if an open-source version of it is available so we can try and recreate the
problem? I guess, most probably, a Centos image on the tutorial link you
provided. We would still need the version and as much information you can
provide.

Cheers


More information about the lttng-dev mailing list