Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
APPSERV-14 Slow SQL tracing views #4422
Adds on server side:
Adds on client side:
Annotations are a new concept in collection of metrics to attach key-value data to a particular metric at a particular point in time. Such annotation should only be done in situations that are in some way noteworthy such as a metric's value exceeding a particular threshold. In general annotations are event like information that are stored per series in a queue of fixed size. Newer annotations eventually replace older annotations to avoid number of annotations growing out of control.
The annotation data is used by the client to enhance views such as lists of alerts with more data for the period of the alert or to allow widgets of type
Annotations provide a general mechanism that makes such values available for any metric and from all instances. To verify the general nature of the concept it has also been applied to request tracing which allows to also list the trace span attributes in a table.
New unit tests were added for
Manual testing of various features. This PR does change general parts and extends others. It makes sense to test usual workflows even though they were not an explicit target of the changes.
Testing slow SQL tracing:
Testing Request Tracing (again):
Testing Health Checks (again):
Further things in MC to test (again)
Pandrex247 left a comment
I ran the JPA tests in EE7 samples against it to trigger the slow SQL rather than your provided app.
@Pandrex247 addressed your comments.
I also fixed a potential memory leak I noticed. When SQL traces would hit the new store but monitoring would be disabled the queues could grow without limit. I applied same technique I used for request tracing where the queue is limited to 50 entries. Should it be that size when new entry is added the oldest entry is thrown away.