Topics

USDT probe to trace based on path to binary

Vallish Guru.V.
 

Hello,


I am trying to introduce USDT probe to an application and my bcc script is failing with following error:


<snip>

Traceback (most recent call last):

  File "test.py", line 40, in <module>

    b = BPF(text=prog, usdt_contexts=[u])

  File "/usr/lib/python3.6/dist-packages/bcc/__init__.py", line 318, in __init__

    "locations")

Exception: can't generate USDT probe arguments; possible cause is missing pid when a probe in a shared object has multiple locations

<end snip>


I am trying to run bcc script based on path to binary and not pid.  The closest discussion I found related to this error is:

https://github.com/iovisor/bcc/issues/1774

Application that I am trying to instrument is not a shared object as discussed in issue #1774. The code that I have instrumented is in the application. Since there are more than one instance of the application, tracing through pid becomes messy. Is there something obvious that I have missed in my script? I would appreciate any pointers to unblock me.


Thanks.

-Vallish

Yonghong Song
 

On Fri, May 22, 2020 at 7:14 PM Vallish Guru.V. <vallishguru@...> wrote:

Hello,


I am trying to introduce USDT probe to an application and my bcc script is failing with following error:


<snip>

Traceback (most recent call last):

File "test.py", line 40, in <module>

b = BPF(text=prog, usdt_contexts=[u])

File "/usr/lib/python3.6/dist-packages/bcc/__init__.py", line 318, in __init__

"locations")

Exception: can't generate USDT probe arguments; possible cause is missing pid when a probe in a shared object has multiple locations

<end snip>


I am trying to run bcc script based on path to binary and not pid. The closest discussion I found related to this error is:

https://github.com/iovisor/bcc/issues/1774

Application that I am trying to instrument is not a shared object as discussed in issue #1774. The code that I have instrumented is in the application. Since there are more than
Could you file a separate issue so it is easy for people to help?

Do you have a minimum reproducible test case? This will make it easy
to debug. application without pid should work. A test case will be
helpful to investigate.

one instance of the application, tracing through pid becomes messy. Is
there something obvious that I have missed in my script? I would
appreciate any pointers to unblock me.


Thanks.

-Vallish