eui icon indicating copy to clipboard operation
eui copied to clipboard

[Meta] Runtime performance baseline and monitoring

Open JasonStoltz opened this issue 1 year ago • 2 comments

As our library continues to grow and evolve, we must evaluate and monitor how we're impacting performance in consuming projects -- particularly in Kibana.

This PR raised concerns about the potential performance impacts of the Emotion conversion.

We encountered some performance related issues in Kibana related to Emotion, but most of them have been mitigated by an effort to memoize emotion styles. At the time of writing this issue, we have about 80% of the library converted to Emotion, so we do not anticipate many more performance issues related to Emotion.

However, we must consider how we prevent future performance degredation and manage to a baseline level of performance in the EUI library on an ongoing basis.

The foundational task that we'd need to accomplish as part of this Meta issue is establishing that baseline, and putting a system in place to continually monitor it.

JasonStoltz avatar Feb 01 '24 18:02 JasonStoltz

Capturing related comment from Clint:

Some context: we've seen some inconsistencies in rendering times using Emotion, based on a study someone just completed elsewhere. It occurred to me it would be amazing if we had a standard set of benchmark tests for EUI components, and even a "kitchen sink" test, that could be imported into Kibana and compared.

Something like: https://stitches.dev/docs/benchmarks

JasonStoltz avatar May 21 '25 18:05 JasonStoltz

Callstack's Reassure could be a great place to start: https://github.com/callstack/reassure

clintandrewhall avatar May 21 '25 20:05 clintandrewhall