Nautobot offers advanced request profiling through django-silk. This allows administrators to collect debug information about user activities, which can be used to troubleshoot issues with the system.
Request profiling may be enabled by individual users in their profile within the web interface. This can be found under the "Advanced Settings" section.
Once a user enables request profiling, all subsequent HTTP requests made by that specific user to the system will be logged by django-silk. This setting will persist until the user either logs out or disables the setting in their profile.
Nautobot administrators with super-user permissions can access the django-silk UI at the
From there, administrators can view details of individual requests, including timing, SQL queries, and cProfile artifacts.
The Nautobot configuration comes out of the box with django-silk set up to support the above functionality. Those settings are described below, but it is not the intention of the Nautobot docs to describe all django-silk settings. Django-silk provides several other parameters that knowledgeable users may also be able to use, depending on the use case.
Global setting to allow or deny users from enabling request profiling on their login session.
Enables use of the built-in Python cProfile profiler.
Generates a binary
.prof file for each profiled request, which can be downloaded.
Adds part of the request URL path to the profile file name to make it easier to identify specific requests.
This defines a custom function that filters requests to be profiled. Notably, the default looks for the user session flag described above.
Users must be authenticated to access the django-silk UI.
Users must have permissions to access the django-silk UI. Used in combination with
This ensures the users must be a superuser of the system to access the django-silk UI. Used in combination with