Need steps for alpine container profiling

Questions about YourKit .NET Profiler
Post Reply
sachinss
Posts: 2
Joined: Fri Aug 13, 2021 12:05 pm

Need steps for alpine container profiling

Post by sachinss »

Hi,
I am trying to profile the dotnet core application deployed to aspnet:3.1-alpine3.13 image container with https://www.yourkit.com/dotnet/download ... 3-b100.zip. I referred the "https://www.yourkit.com/docs/java/help/docker.jsp" this article to setup but getting below error
-----------------------------------------------------------
/usr/local/YourKit-NetProfiler-2021.3/bin # ./YourKitTools.sh status
Failed to load /usr/local/YourKit-NetProfiler-2021.3/dotnet/64/shared/Microsoft.NETCore.App/5.0.3/libcoreclr.so, error: Error relocating /usr/local/YourKit-NetProfiler-2021.3/dotnet/64/shared/Microsoft.NETCore.App/5.0.3/libcoreclr.so: __isnan: symbol not found
Segmentation fault
-----------------------------------------------

I am new to container and linux so please excuse me if it is basic question, but it will be helpful if you share steps to use the linux offering of the dotnet profiler.

Thanks,
Sachin
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Need steps for alpine container profiling

Post by Anton Katilin »

Hello Sachin,

The instructions https://www.yourkit.com/docs/java/help/docker.jsp you refer to are for Java profiling. You're trying to profile .NET.

Could you please provide the full content of your docker file.

Best regards,
Anton
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Need steps for alpine container profiling

Post by Anton Katilin »

Update:

Please try to change the compatibility library installation code from

RUN apk add --no-cache libc6-compat
ENV LD_LIBRARY_PATH=/lib64

to

RUN apk add --no-cache gcompat

Anyway, it's an Alpine compatibility related issue. Running within a non-Alpine container should eliminate it.
sachinss
Posts: 2
Joined: Fri Aug 13, 2021 12:05 pm

Re: Need steps for alpine container profiling

Post by sachinss »

Hi Anton,
Thanks for the information. I ran my container by adding below lines to dockerfile to install the profiler by taking the reference of java link(https://www.yourkit.com/docs/java/help/docker.jsp).
--------------------------------------------------------------------------
RUN wget https://www.yourkit.com/dotnet/download ... 3-b100.zip -P /tmp/ && \
unzip /tmp/YourKit-NetProfiler-2021.3-b100.zip -d /usr/local && \
rm /tmp/YourKit-NetProfiler-2021.3-b100.zip

RUN apk add --no-cache libc6-compat
ENV LD_LIBRARY_PATH=/lib64
EXPOSE 10001
-------------------------------------------------------------
When install the gcompat package the profiles got loaded and I was able to attach the profiler to process. Which I confirmed with status command. But after that my application stopped working so as mentioned by you compatibility issue of Alpine is there and I need to try no-alpine container.

Thanks
Post Reply