Design and build a collaborative user experience for a chance to win cool prizes!
Blog

Observe your Flow applications

By  
Mikael Sukoinen
Mikael Sukoinen
·
On Nov 15, 2022 4:25:00 PM
·
In Product

Observability (or o11y) is the ability to answer questions about your application and its infrastructure, no matter how complex. Our new Observability Kit assists developers in implementing it for Flow-based applications in order to obtain traceable, actionable information about their applications in production.

Observability versus monitoring

Web applications will always need to be monitored to make sure their performance meets the requirements and that they work well for all users.

Observability is different from traditional Application Performance Monitoring (or APM) because it goes beyond predefined metrics like CPU or RAM usage; It is an active process in which the monitored data is exported and looked at to learn about the application and how it works.

Observability commonly consists of

  1. Metrics

Is my application working as it should be?

Metrics are statistics that measure processes and may be used to identify patterns. System metrics (CPU, RAM utilization) and infrastructure metrics are examples of common metrics.

  1. Alerts

Is there a problem with my application?

Alerts notify when an unexpected error occurs in the infrastructure.

  1. Logs

Does something go wrong if I try this new feature?

Logs record events and may be reviewed while testing new features to ensure they function as expected or to troubleshoot problems.

  1. Traces

What went wrong and where?

Traces are comprehensive records that exist across the application architecture. When compared to logs that are triggered by specific events, traces provide a full view of the program.

Why is observability so important?

Monitoring your program without watching it has limitations. Consider the scenario when an unidentified problem causes your CPU use to jump to 100%. The error is removed if you restart your program. For the time being, the problem has been resolved. What went wrong, and where did it go wrong? How can you prevent that from happening again?

You can keep and review logs to track a problem, but manually tracing a mistake is quite consuming if you ever find it. Observability seeks to generate data that is both actionable and discoverable.

Introducing the Vaadin Observability Kit

Observability Kit provides integrations with industry-leading APM and observability tools through the OpenTelemetry standard. At its core, Observability Kit is a custom Java agent that runs alongside a Vaadin Flow application to gather telemetry data such as traces, metrics, and logs automatically. It integrates deeply into the Flow framework and provides:

  • UI count
  • Session count
  • Session time
  • JVM metrics

 ...out of the box. You can also add your own metrics on top of these.

Observability Kit integrates with ships through officially tested connectors for NewRelic, Grafana, Datadog, Prometheus, and Jaeger. Because of the OpenTelemetry standard, it may be modified for other providers as well. Observability Kit works with Vaadin Flow 23 and above.

If you’re not a Vaadin Ultimate subscriber yet, you may request a free trial by filling out the form:

Request trial

Psst. Want to see the Observability Kit in action? Join our webinar for a live demonstration!

Mikael Sukoinen
Mikael Sukoinen
Mikael has a passion for writing text, code and music. He’s currently utilising his skills to explain difficult concepts in plain language at Vaadin Ltd.
Other posts by Mikael Sukoinen