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
As a developer seeking to debug Islandora 8, or a system administrator wanting to understand performance, I want to have easy access to logs across all of the components involved.
It is currently very challenging to diagnose issues such as failed derivative generation in Islandora 8, due to the numerous components involved, especially if some requests succeed and others fail, e.g. due to size, or format. Easy access to logs and highlighting errors can assist rapid diagnosis.
An example of desirable observability is the UI available from Jaeger, now part of the CNCF OpenTracing project https://opentracing.io/. The screenshots below are from Jaeger log aggregation from the demo HotROD application. They show the inferred dependency graph, the trace data, and drilling into a particular span to see the SQL query that was executed.
AFAICT tracing requires each component to be monitored to be able to accept or pass through a trace context. Tags can be added to provide global context, e.g. user or role, so that a derivative operation can be matched with a specific user.
jaeger-dag shows the components involved in a trace:
jaeger-trace shows the various services involved in a trace, their timing, highlighted errors, etc.:
jaeger-span-detail shows the detailed data for a given span, including arbitrary name-value pairs, the actual SQL command, etc.
As a developer seeking to debug Islandora 8, or a system administrator wanting to understand performance, I want to have easy access to logs across all of the components involved.
It is currently very challenging to diagnose issues such as failed derivative generation in Islandora 8, due to the numerous components involved, especially if some requests succeed and others fail, e.g. due to size, or format. Easy access to logs and highlighting errors can assist rapid diagnosis.
An example of desirable observability is the UI available from Jaeger, now part of the CNCF OpenTracing project https://opentracing.io/. The screenshots below are from Jaeger log aggregation from the demo HotROD application. They show the inferred dependency graph, the trace data, and drilling into a particular span to see the SQL query that was executed.
AFAICT tracing requires each component to be monitored to be able to accept or pass through a trace context. Tags can be added to provide global context, e.g. user or role, so that a derivative operation can be matched with a specific user.
jaeger-dag shows the components involved in a trace:
![jaeger-dag](https://user-images.githubusercontent.com/208184/66680707-f6cbb080-ec25-11e9-823b-6f5c7f6af9f3.png)
![jaeger-trace](https://user-images.githubusercontent.com/208184/66680715-fdf2be80-ec25-11e9-9000-1815506e8ab6.png)
![jaeger-span-detail](https://user-images.githubusercontent.com/208184/66680731-077c2680-ec26-11e9-9f71-60bc81d2c561.png)
jaeger-trace shows the various services involved in a trace, their timing, highlighted errors, etc.:
jaeger-span-detail shows the detailed data for a given span, including arbitrary name-value pairs, the actual SQL command, etc.
Notes:
https://www.w3.org/2018/distributed-tracing/
Also relevant:
The text was updated successfully, but these errors were encountered: