Another thing to consider is whether this is a workload you are managing as a service, or whether you are providing support to an end user using an endpoint to access services that you support. If it is an end user, the quickest route to addressing the problem is frequently having them reboot. There are usually far too many variables, that directly correlate to the other human in the equation, to afford a reasonable amount of time to adequately diagnose the root cause of the problem(s) they are experiencing.
However, if you are managing a service it is probably better to take a bit of time beforehand and set up proactive monitoring that will provide metrics that can be used to establish baseline patterns and trends that can in turn be observed and used to identify deviations that lead to undesirable application and system states. This will allow you to detect anomalous states and enable auto-healing features that will automatically remedy issues before they get to the point that a reboot is the necessary remediation.
If you are managing immutable/stateless workloads (containers/microservices) that use a service oriented architecture, this is much easier to implement and manage. If you're dealing with traditional monolithic applications it can up the difficulty of implementation by quite a bit.