You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/project/linux-performance-tracing.md
+7-13Lines changed: 7 additions & 13 deletions
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
165
165
the library they are for).
166
166
167
167
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
168
-
for debugging, but it works for perfcollect as well. There are three steps to getting the symbols
168
+
for debugging, but it works for perfcollect as well. There are two steps to getting the symbols:
169
169
170
-
1. Install dotnet symbol
170
+
1. Install dotnet symbol.
171
171
2. Download the symbols.
172
-
3. Copy the symbols to the correct place
173
172
174
173
To install dotnet symbol issue the command
175
174
```
176
175
dotnet tool install -g dotnet-symbol
177
176
```
178
-
With that installed download the symbols to a local directory. if your installed version of the .NET Core runtime is
179
-
2.1.0 the command to do this is
180
-
```
181
-
mkdir mySymbols
182
-
dotnet symbol --symbols --output mySymbols /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0/lib*.so
183
-
```
184
-
Now all the symbols forthose native dlls arein mySymbols. You then have to copy them (as super user next to the
185
-
dlls that they are for.
177
+
178
+
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:
sudo dotnet symbol --recurse-subdirectories --symbols '/usr/share/dotnet/*.so'
188
182
```
189
-
After this, you should get symbolic names for the native dlls when you run perfcollect.
183
+
190
184
## Collecting in a Docker Container ##
191
185
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.
0 commit comments