Aleksey Plekhanov created IGNITE-13411:
------------------------------------------
Summary: Optimize tracing when NoopTracingSpi is used
Key: IGNITE-13411
URL: https://issues.apache.org/jira/browse/IGNITE-13411
Project: Ignite
Issue Type: Improvement
Affects Versions: 2.9
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov
Current tracing implementation has some redundant actions for no-op tracing SPI
which have a negative impact on performance:
# {{GridNioTracerFilter}} added to communication SPI filters chain even if
tracing is disabled.
# {{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.
# Sometimes we already have {{Span}} on hands and call to {{MTC.span()}} is
redundant.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)