-
Notifications
You must be signed in to change notification settings - Fork 5.3k
perfcollect docs: run two commands instead of three #76325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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 | ||
| ``` | ||
| mkdir mySymbols | ||
| dotnet symbol --symbols --output mySymbols /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0/lib*.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. | ||
|
|
||
| To download symbols for all native libraries and store them next to them: | ||
|
|
||
|
||
| ``` | ||
| sudo cp mySymbols/* /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0 | ||
| sudo dotnet symbol --recurse-subdirectories --symbols '/usr/share/dotnet/lib*.so' | ||
|
||
| ``` | ||
| 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. | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.