This talk will show how a monolithic application is being migrated to a distributed application leveraging Eclipse Theia. We will review the migration steps and how to preserve investments made by maximizing the reuse of domain specific logic.
This talk is a collection of smaller incidents showing why configuration is often key. There will be examples of critical path analysis, when to parallelize, when there is too much parallelization, timeout analysis, deadlocks, when to instrument more and other common pattern recognition.
Linus’s law states “Given enough eyeballs, all bugs are shallow.” This is very true, however, if a problem is obscured, the more eyes won’t help until they can see through the blocker. This talk addresses tracing, how and when to use it, and how it can see through these issues. It is re-enforced with a real-world example of how tracing solved a performance issue in Trace Compass. We will discuss tracing, and how it plays in a world where profiling and debugging already exist.
Today's development of embedded systems/IoTs and SOCs (Systems on Chip) faces the problem of a rapidly growing complexity.
Due to the decentralised nature of the development (multiple cores on external boards, specific hardware components, external communication interfaces, simulated components,...) it is difficult to visualize, debug and understand the behavior.
The information to be processed differs in nature:
Trace Compass is a powerful tool to solve performance and reliability issues by reading and analyzing traces and logs of a system. It has been always an integral part of the Trace Compass project to allow users to extend Trace Compass for custom trace and log formats, custom analysis and views using Java plug-in extensions or by loading user defined XML definitions on-the-fly.
Analyzing and visualizing traces and logs of a system is a powerful and proven trouble-shooting technique to solve performance and reliability issues. Trace Compass is an open source trace visualizer that handles large traces of a single application, single computer or a distributed system. The Trace Compass project is currently on a journey towards a cloud-based trace analysis and visualization solution using Eclipse Theia.
In this talk, we’ll have a deep dive into MicroProfile OpenTracing, discussing the key points of the specification, including naming conventions, the @Traced annotation, the ability to add explicit instrumentation in business code or even extend scope of tracing by adding OpenTracing compatible instrumentations. We’ll then build a simple MicroProfile application with the MP-OpenTracing module and see how the reported telemetry data looks like in Jaeger an OpenTracing compliant distributed tracing system.
The Trace Compass project has been providing trace analysis and visualization tools for many years. Analyzing Linux based systems has been one of the main focuses. Call Graph analysis for profiling of applications, analysis of real-time systems or analysis of traces coming from Jaeger (Open Tracing API) are some recent developments for Trace Compass. Moving the UI to modern front-end technologies and showing the analysis results in a web browser is ahead of us.
In this talk we will walk through MicroProfile-OpenTracing project and explain how it can improve observability in your cloud native Java deployments. At the beginning there will be an introduction to distributed tracing and then we will continue with the project specific features. We will also touch more advanced topics like tracing in (Istio) service mesh architectures, distributed context propagation and best practices when instrumenting your business logic. Last but not least we will talk about project roadmap and how to get involved.