mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-11 18:20:26 +09:00
perfcollect docs: run two commands instead of three (#76325)
This commit is contained in:
parent
7ea7f2e5ca
commit
b577e6b514
1 changed files with 7 additions and 13 deletions
|
@ -165,28 +165,22 @@ symbols for these when it converts its data, but ONLY if the symbols for these n
|
|||
the library they are for).
|
||||
|
||||
There is a global command called [dotnet symbol](https://github.com/dotnet/symstore/blob/master/src/dotnet-symbol/README.md#symbol-downloader-dotnet-cli-extension) which does this. This tool was mostly desiged to download symbols
|
||||
for debugging, but it works for perfcollect as well. There are three steps to getting the symbols
|
||||
for debugging, but it works for perfcollect as well. There are two steps to getting the symbols:
|
||||
|
||||
1. Install dotnet symbol
|
||||
1. Install dotnet symbol.
|
||||
2. Download the symbols.
|
||||
3. Copy the symbols to the correct place
|
||||
|
||||
To install dotnet symbol issue the command
|
||||
```
|
||||
dotnet tool install -g dotnet-symbol
|
||||
```
|
||||
With that installed download the symbols to a local directory. if your installed version of the .NET Core runtime is
|
||||
2.1.0 the command to do this is
|
||||
|
||||
To download symbols for **all native libraries** (including .NET runtime/framework as well as any other installed frameworks like ASP.NET) and store them next to them:
|
||||
|
||||
```
|
||||
mkdir mySymbols
|
||||
dotnet symbol --symbols --output mySymbols /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0/lib*.so
|
||||
sudo dotnet symbol --recurse-subdirectories --symbols '/usr/share/dotnet/*.so'
|
||||
```
|
||||
Now all the symbols for those native dlls are in mySymbols. You then have to copy them (as super user next to the
|
||||
dlls that they are for.
|
||||
```
|
||||
sudo cp mySymbols/* /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0
|
||||
```
|
||||
After this, you should get symbolic names for the native dlls when you run perfcollect.
|
||||
|
||||
## Collecting in a Docker Container ##
|
||||
Perfcollect can be used to collect data for an application running inside a Docker container. The main thing to know is that collecting a trace requires elevated privileges because the [default seccomp profile](https://docs.docker.com/engine/security/seccomp/) blocks a required syscall - perf_events_open.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue