Skip to content

Conversation

@KremnevDmitry
Copy link
Contributor

@KremnevDmitry KremnevDmitry commented Feb 5, 2026

Added custom spans for the following cases:

  • Core
    • DataManager loading
    • DataManager saving
  • UI
    • Views lifecycle
    • Actions execution

Implemented observation context propagation for background tasks.

The following application properties have been added:

  • jmix.core.data-observation-enabled with false default value
  • jmix.ui.ui-observation-enabled with false default value

The value of the properties controls the creation of custom spans in the application.

observability-test.zip

@KremnevDmitry KremnevDmitry self-assigned this Feb 5, 2026
@KremnevDmitry KremnevDmitry linked an issue Feb 6, 2026 that may be closed by this pull request
@glebfox glebfox requested a review from fractal3000 February 6, 2026 06:51
fireEvent(new ReadyEvent(this));
getUiObservationSupport().createViewEventObservation(this, ReadyEvent.class.getSimpleName())
.observe(() -> fireEvent(new ReadyEvent(this)));
stopViewTimerSample(sample, meterRegistry, READY, getId().orElse(null));
Copy link
Contributor

@fractal3000 fractal3000 Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to use Timer and Observation at the same time? As I know, Observation contains Timer functions inside.


@SuppressWarnings("unchecked")
E entity = (E) storage.load(context);
E entity = (E) observationSupport.createEntityLoadObservation(metaClass, context.getQuery())
Copy link
Contributor

@fractal3000 fractal3000 Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use it not only in the DataManager, but also in the DataLoader(s) (when we currently use Timers)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Auto-Instrumentation for distributed tracing in Flow UI

2 participants