Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-13411

Optimize tracing when NoopTracingSpi is used

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.9
    • 2.9
    • None
    • None

    Description

      Current tracing implementation has some redundant actions for no-op tracing SPI which have a negative impact on performance:

      1. GridNioTracerFilter added to communication SPI filters chain even if tracing is disabled.
      2. MTC.support/MTC.supportContinual methods in case of no-op span or null span return TracingSurrounding which equivalently does nothing (span.set(oldSpan) is redundant, since span.set(startSpan) was skipped for no-op or null span, and endRequired is always false. So, instead of creating new TracingSurrounding we can return null (correctly processed by try-with resource block) with the same effect and get rid of some code on the hot path.
      3. Sometimes we already have Span on hands and call to MTC.span() is redundant.

      Attachments

        Activity

          People

            alex_pl Aleksey Plekhanov
            alex_pl Aleksey Plekhanov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 10m
                1h 10m