Skip to content

Make clock skew adjustment transparent #961

@yurishkuro

Description

@yurishkuro

Requirement - what kind of business use case are you trying to solve?

It is currently not obvious in Jaeger UI is the span timestamps were adjusted for clock skew. @tedsuo wrote:

The issue was that displaying “manipulated” data, however well intentioned, led users to mistrust what they were seeing in some cases. “Is this 'real data' or is this ‘corrected data’?" was becoming a common question when looking at odd display patterns, or patterns that did not match other data sources. Given that we usually could not “correct” most scenarios properly but could only place the spans into a sort of “best guess” situation, we decided it would be better to avoid confusion and always show raw data, with visual annotations to point out where we felt the raw data was suspicious. So the main issue is trust, and retaining the ability to triage raw data. Another approach would be to give users a toggle to turn off the corrections so they can quickly see the raw data.

As an example, there were situations where clock correction was actually covering up issues, or subtly moving spans in a way which “looked right” but developers knew were impossible. For example, in one case there was a batch processing workload where the clock correction subtly moved things to make it look like the map/reduce phases were slightly overlapping in impossible ways. Other cases were where incorrect instrumentation lead to “incoceivable” child spans, but the source was not clock skew - that child span really was offset in a crazy way!

Problem - what in Jaeger blocks you from solving the requirement?

Jaeger clock skew adjustment is not recorded anywhere in the adjusted spans. UI does not make it obvious that the timestamps were adjusted.

Proposal - what do you suggest to solve the problem or improve the existing situation?

  • Clock skew adjuster should record the delta in the adjusted span
  • Jaeger UI should display a warning in the span details (and/or some other visual cue) that the span was adjusted
  • Jaeger UI should provide a toggle to view the unadjusted trace (the /api/trace endpoint already allows retrieving unadjusted trace) Add ability to display unadjusted trace in the UI jaeger-ui#197

Any open questions to address

How to do a visual cue that the span is adjusted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions