Igniters,
I would like to initiate a discussion on the deprecation and removal of
Ignite 2 Tracing.
*Motivation*
Ignite Tracing was introduced to provide distributed tracing
capabilities for Apache Ignite. However, over time several issues have
become apparent:
1. Ignite Tracing is based on OpenCensus, which has been deprecated and
is no longer maintained. [1]
2. The implementation has never reached production readiness. It is
difficult to configure and, in some scenarios, introduces significant
performance overhead.
3. The tracing implementation handles asynchronous Ignite operations
poorly, making the resulting traces difficult to interpret.
4. It is tightly coupled with the Communication and Discovery
subsystems, increasing their complexity and making maintenance and
refactoring more difficult.
5. Ignite Tracing has not received active maintenance for more than
three years.
Before proceeding with removal, I would like to ask whether anyone is
aware of production deployments or real-world users who rely on Ignite
Tracing.
Such feedback would help us better assess the impact of its removal.
*Alternatives*
Apache Ignite already provides several actively maintained mechanisms
for monitoring:
1. Ignite Performance Statistics [2] [3]
2. Ignite Metric System [4]
3. Ignite System Views [5]
The aforementioned mechanisms are actively maintained and serve as the
primary means of monitoring Ignite.
Regards,
Mikhail.
[1] https://opentelemetry.io/blog/2023/sunsetting-opencensus
[2]
https://ignite.apache.org/docs/ignite2/latest/monitoring-metrics/performance-statistics
[3]
https://ignite.apache.org/docs/ignite2/latest/extensions-and-integrations/performance-statistics#print-statistics
[4]
https://ignite.apache.org/docs/ignite2/latest/monitoring-metrics/new-metrics-system
[5]
https://ignite.apache.org/docs/ignite2/latest/monitoring-metrics/system-views