Many of the HTTP routes allow specifying either the process ID pid or the unique ID uid. Which one to use depends on the target process and the environment in which the process is running.
The uid value of a process is guaranteed to be unique, regardless of environment, as long as the application is running on .NET 5+. Applications running on .NET Core 3.1 will have an empty value of 00000000-0000-0000-0000-000000000000 for uid.
Recommendations:
- For applications running on .NET 5+, use the
uidparameter. This is especially beneficial when running in Docker or Kubernetes, since containerized .NET applications within the same pod will likely report process IDs of 1. - For applications running on .NET Core 3.1, the
pidparameter is the only option since .NET Core 3.1 processes have auidof00000000-0000-0000-0000-000000000000. - If
dotnet monitoris configured to observe processes from only one process namespace (e.g. all containers share a single process namespace, the tool is not running in a container, etc), then it is allowable to use thepidparameter regardless of the runtime version.