Hello, Igniters. For now, Ignite lack of good monitoring subsystem and profiling tools. I think it's time to fix it! I've created IEP-35 [1] for it.
Problems description: 1. Existing metrics are not documented(This is huge issue for our users, I know it, for sure). 2. Currently, there are different APIs for monitoring: Java API, JMX, Visor task, SQL System views. But, the cover Ignite API partially. 3. Many Ignite subsystems and internal processes are hidden from user and administrator. Ignite is a black box for them. I want to initiate first part of discussion: Current Ignite APIs for monitoring. *What APIs are available for what IGNITE subsystems*? I made some analysis for current APIs. Please, validate my conclusion: Monitoring completely unavailable: * Compute Grid(Visor tasks are broken) * Service Grid * Data streamers * Distributed Data Structures * Ignite messaging (Ignite#message) * 3-d party storage * ContinuousQuery * MVCC transactions * ML - *What should be available?* * Explicit locks Monitoring API available: * PDS + offheap memory * Ignite#dataRegionMetrics * Ignite#dataStorageMetrics * Ignite#persistentStoreMetrics * Cache * IgniteCache#mxBean * IgniteCache#localMxBean * SQL system view: CACHE_GROUPS * SQL system view: LOCAL_CACHE_GROUPS_IO * SQL system view: CACHES * Queries * IgniteCache#queryMetrics * IgniteCache#queryDetailMetrics * SQL system view: LOCAL_SQL_QUERY_HISTORY * SQL system view: LOCAL_SQL_RUNNING_QUERIES * SQL * SQL system view: SCHEMAS * SQL system view: TABLES * SQL system view: INDEXES * Transactions * JMX - TransactionMetricsMxBean * JMX - TransactionMXBean * ThinClients * JMX - ClientProcessorMXBean [1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392
signature.asc
Description: This is a digitally signed message part