Denis, AFAIK we doesn't have documentation for the SQL System Views existing in Ignite.
I have plans to write a documentation about metrics and syste views that will cover SQL System View. It will be available till 2.8 release. В Пт, 18/10/2019 в 07:16 -0700, Denis Magda пишет: > Alex, Igniters, > > Who of us was contributing this feature? I don’t see any documentation, not > clear how the users are expected to benefit from the capability and how > everybody will be aware of the feature existence. > > We need to close the gap and spread the word. > > Denis > > On Thursday, October 17, 2019, Alex Plehanov <plehanov.a...@gmail.com> > wrote: > > > Denis, > > > > Views engine and some views were released in AI 2.7. > > In 2.8 they will be moved to the new engine and new views will be added (as > > part of IEP-35) > > > > > > пт, 18 окт. 2019 г. в 00:50, Denis Magda <dma...@apache.org>: > > > > > Anton, Maxim, > > > > > > Are we planning to release the views as part of 2.8? Don't see them > > > > listed > > > in the important features section: > > > > > > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.8# > > > > ApacheIgnite2.8-Themostimportantreleasetasks > > > > > > - > > > Denis > > > > > > > > > On Wed, Feb 14, 2018 at 1:49 AM Anton Vinogradov < > > > > avinogra...@gridgain.com > > > > > > > > > > wrote: > > > > > > > Vova, > > > > > > > > Could you confirm https://issues.apache.org/jira/browse/IGNITE-7527 > > > > > > ready > > > > to be merged? > > > > > > > > On Wed, Feb 14, 2018 at 12:01 PM, Vladimir Ozerov < > > > > voze...@gridgain.com> > > > > wrote: > > > > > > > > > I would start with NODES and NODE_ATTRIBUTES as the most simple > > > > thing. > > > > > > > > > > On Tue, Feb 13, 2018 at 4:10 AM, Denis Magda <dma...@apache.org> > > > > > > wrote: > > > > > > > > > > > Alex P, sounds like a good plan for me. > > > > > > > > > > > > Vladimir, do you have any suggestions or corrections? > > > > > > > > > > > > — > > > > > > Denis > > > > > > > > > > > > > On Feb 12, 2018, at 4:57 AM, Alex Plehanov < > > > > > > plehanov.a...@gmail.com> > > > > > > wrote: > > > > > > > > > > > > > > The views engine and the first view are almost ready to merge > > > > > > (review > > > > > > > comments are resolved). Which views should we take next? My > > > > > > proposal > > > > - > > > > > > > NODES, NODE_ATTRIBUTES, NODE_METRICS, NODE_HOSTS and > > > > > > NODE_ADDRESSES, > > > > > > since > > > > > > > these views are clear and all topology data available on each > > > > node. > > > > > > > Any objections? > > > > > > > > > > > > > > 2018-01-25 16:27 GMT+03:00 Alex Plehanov < > > > > plehanov.a...@gmail.com > > > > : > > > > > > > > > > > > > > > Anton, Vladimir, I've made some fixes. There is only one view > > > > left > > > > and > > > > > > > > it's renamed to 'IGNITE.LOCAL_TRANSACTIONS'. > > > > > > > > > > > > > > > > High level design of solution: > > > > > > > > When IgniteH2Indexing is starting, it create and start > > > > > > > > new GridH2SysViewProcessor, which create and register in H2 (via > > > > > > its > > > > > own > > > > > > > > table engine) all implementations of system views. Each system > > > > > > view > > > > > > > > implementation extends base abstract class GridH2SysView. View > > > > > > > > implementation describes columns, their types and indexes in > > > > > > > > > > constructor > > > > > > > > and must override method getRows for data retrieval (this method > > > > > > > > > > called > > > > > > by > > > > > > > > H2-compatible table and index implementations for ignite system > > > > > > > > > > views). > > > > > > > > Almost no fixes to existing parsing engine was made, except some > > > > > > > > > > places, > > > > > > > > where GridH2Table instance was expected, but for system views > > > > > > there > > > > is > > > > > > > > another class. > > > > > > > > > > > > > > > > New PR: [1]. Please have a look. > > > > > > > > > > > > > > > > [1] https://github.com/apache/ignite/pull/3433 > > > > > > > > > > > > > > > > 2018-01-24 19:12 GMT+03:00 Anton Vinogradov < > > > > > > > > avinogra...@gridgain.com > > > > > > : > > > > > > > > > > > > > > > > > I've created IEP-13 [1] to cover all cases. > > > > > > > > > Feel free to create issues. > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage. > > > > > > > > > > > > action?pageId=75962769 > > > > > > > > > > > > > > > > > > On Wed, Jan 24, 2018 at 6:10 PM, Vladimir Ozerov < > > > > > > > > > > voze...@gridgain.com > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Let's start with a single and the most simple view, e.g. > > > > > > > > > > LOCAL_TRANSACTIONS. We will review and merge it along with > > > > > > > > necessary > > > > > > > > > > infrastructure. Then will handle the rest view in separate > > > > > > tickets > > > > > and > > > > > > > > > > separate focused discussions. > > > > > > > > > > > > > > > > > > > > On Wed, Jan 24, 2018 at 5:29 PM, Alex Plehanov < > > > > > > > > > > > > plehanov.a...@gmail.com > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > 1) It’s not a principal point, I can change schema. The > > > > > > > > > > > > > > > > > > > > INFORMATION_SCHEMA > > > > > > > > > > > was used because it’s already exists and usually used for > > > > > > > > metadata > > > > > > > > > tables > > > > > > > > > > > and views. Your proposal is to use schema “IGNITE”, am I > > > > > > > > understand > > > > > > > > > you > > > > > > > > > > > right? BTW, for now, we can’t query another (H2) meta > > > > > > > > > > > tables > > > > > > from > > > > > the > > > > > > > > > > > INFORMATION_SCHEMA, so, “Ignite system views” is only > > > > available > > > > > views > > > > > > > > > to > > > > > > > > > > > query from this schema. > > > > > > > > > > > 2) Exactly for this reason the IGNITE_INSTANCE view is > > > > useful: > > > to > > > > > > > > > > determine > > > > > > > > > > > which node we are connected to. > > > > > > > > > > > 3) As the first phase, in my opinion, local views will be > > > > > > enough. > > > > > > > > > > > Performance and caching of distributed views should be > > > > > > discussed > > > > at > > > > > > > > > next > > > > > > > > > > > phases, when distributed views implementation will be > > > > planned. > > > In > > > > > > > > > current > > > > > > > > > > > implementation I tried to use indexing for local views > > > > wherever > > > > > it’s > > > > > > > > > > > possible. > > > > > > > > > > > 4) I don’t think, that JVM info is more critical > > > > > > > > > > > information > > > > > > > > than, > > > > > > for > > > > > > > > > > > example, caches or nodes information. When authorization > > > > > > > > > > capabilities > > > > > > > > > > > planned to implement? > > > > > > > > > > > > > > > > > > > > > > About local data: yes, we can rename all currently > > > > implemented > > > > > views > > > > > > > > > for > > > > > > > > > > > the local node data as LOCAL_..., and create (someday) new > > > > > > whole > > > > > > > > > cluster > > > > > > > > > > > views (which use distributed requests) without prefix or, > > > > > > > > > > > for > > > > > > > > > > > > example, > > > > > > > > > > with > > > > > > > > > > > CLUSTER_ prefix. But some views can show all cluster > > > > > > information > > > > > > using > > > > > > > > > > only > > > > > > > > > > > local node data, without distributed requests (for example > > > > > > > > > > > IGNITE_NODE_METRICS, IGNITE_PART_ASSIGNMENT, > > > > > > > > > > IGNITE_PART_ALLOCATION, > > > > > > > > > > > IGNITE_NODES, etc). Are they local or cluster views in > > > > > > > > > > > this > > > > > > > > > > concept? > > > > > > > > > > Which > > > > > > > > > > > prefix should be used? And what about caches? Are they > > > > > > > > > > > local > > > > or > > > > > > > > > cluster? > > > > > > > > > > On > > > > > > > > > > > local node we can see cluster wide caches (replicated and > > > > > > > > > > > > distributed) > > > > > > > > > > and > > > > > > > > > > > caches for current node only. Local caches list may differ > > > > from > > > > > node > > > > > > > > > to > > > > > > > > > > > node. Which prefix should be used for this view? And one > > > > more, > > > > > there > > > > > > > > > is > > > > > > > > > > no > > > > > > > > > > > sense for some views to make them cluster wide (for > > > > > > > > > > > example > > > > > > > > > > > INGNITE_INSTANCE). Should we name it LOCAL_INSTANCE > > > > > > > > > > > without > > > > > > > > > > creating > > > > > > > > > > > INSTANCE view? > > > > > > > > > > > > > > > > > > > > > > So, next steps: split PR, change schema name (IGNITE?), > > > > change > > > > view > > > > > > > > > name > > > > > > > > > > > for caches (CACHES, LOCAL_CACHES?) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2018-01-24 13:03 GMT+03:00 Vladimir Ozerov < > > > > > > voze...@gridgain.com > > > > > : > > > > > > > > > > > > > > > > > > > > > > > Hi Alex, > > > > > > > > > > > > > > > > > > > > > > > > System views could be extremely valuable addition for > > > > Ignite. > > > > > > > > > Ideally, > > > > > > > > > > > user > > > > > > > > > > > > should be able to monitor and manage state of the whole > > > > > > cluster > > > > > > > > > with a > > > > > > > > > > > > single SQL command line. We have plans to implement it > > > > > > > > > > > > for a > > > > > > > > very > > > > > > > > > long > > > > > > > > > > > > time. However, this is very sensitive task which should > > > > take a > > > > lot > > > > > > > > > of > > > > > > > > > > > > moving pieces in count, such as usability, consistency, > > > > > > > > > > performance, > > > > > > > > > > > > security, etc.. > > > > > > > > > > > > > > > > > > > > > > > > Let me point several major concerns I see at the moment: > > > > > > > > > > > > > > > > > > > > > > > > 1) Usability: INFORMATION_SCHEMA > > > > > > > > > > > > This schema is part of SQL ANSI standard. When creating > > > > system > > > > > > > > > views, > > > > > > > > > > > some > > > > > > > > > > > > vendors prefer to store them in completely different > > > > > > predefined > > > > > > > > > schema > > > > > > > > > > > > (Oracle, MS SQL). Others prefer to keep them in > > > > > > > > INFORMATION_SCHEMA > > > > > > > > > > > > directly. Both approaches could work. However, the > > > > > > > > > > > > latter > > > > > > breaks > > > > > > > > > > > separation > > > > > > > > > > > > of concerns - we store typical metadata near to possibly > > > > > > > > sensitive > > > > > > > > > > system > > > > > > > > > > > > data. Also it makes security management more complex - > > > > system > > > > data > > > > > > > > > is > > > > > > > > > > > very > > > > > > > > > > > > sensitive, and now we cannot simply grant access > > > > > > > > > > > > > > > > > > INFORMATIONAL_SCHEMA > > > > > > > > > > to > > > > > > > > > > > > user. Instead, we have to grant that access on per-view > > > > basis. > > > > For > > > > > > > > > this > > > > > > > > > > > > reason my preference is to store system tables in > > > > > > > > > > > > separate > > > > > > > > schema, > > > > > > > > > not > > > > > > > > > > in > > > > > > > > > > > > INFORMATION_SCHEMA > > > > > > > > > > > > > > > > > > > > > > > > 2) Consistency: local data > > > > > > > > > > > > One of implemented view GridH2SysViewImplInstance. > > > > > > > > > > > > Normally > > > > > > SQL > > > > > > > > > users > > > > > > > > > > > > communicate with Ignite through JDBC/ODBC drivers. These > > > > > > drivers > > > > > are > > > > > > > > > > > > connected to a single node, typically client node. > > > > > > > > > > > > Moreover, > > > > > > we > > > > > will > > > > > > > > > > > > introduce high-availability feature when drivers were > > > > > > > > > > > > able > > > > to > > > > > > > > > connect > > > > > > > > > > to > > > > > > > > > > > > any address from a predefined list. It renders this view > > > > > > > > useless, > > > > > as > > > > > > > > > > you > > > > > > > > > > > do > > > > > > > > > > > > not know which node you connected to. Also, local-only > > > > > > > > > > > > data > > > > > > > > cannot > > > > > > > > > be > > > > > > > > > > > > joined in general case - you will receive different > > > > > > > > > > > > results > > > > on > > > > > > > > > > different > > > > > > > > > > > > nodes. The same goes for transactions, JVM info, etc. > > > > > > > > > > > > > > > > > > > > > > > > 3) Performance > > > > > > > > > > > > Suppose we fixed consistency of transactions and now > > > > > > > > > > > > this > > > > view > > > > > shows > > > > > > > > > > > > transactions in the whole cluster with possibility to > > > > > > > > > > > > filter > > > > > > > > them > > > > > by > > > > > > > > > > > nodes > > > > > > > > > > > > - this is what user would expect out of the box. Another > > > > > > problem > > > > > > > > > > appears > > > > > > > > > > > > then - performance. How would we collect necessary > > > > > > > > > > > > data? How > > > > > > > > would > > > > > > > > > we > > > > > > > > > > > > handle joins, when particular view could be scanned > > > > > > > > > > > > multiple > > > > > > > > times > > > > > > > > > > during > > > > > > > > > > > > query execution? How we achieve sensible consistency? > > > > > > > > > > > > Most > > > > > > > > > > probably > > > > > > > > > we > > > > > > > > > > > > would collect remote data once when query is started, > > > > > > > > > > > > cache > > > > it > > > > > > > > > somehow > > > > > > > > > > on > > > > > > > > > > > > query session level, and then re-use during joins. But > > > > again, > > > > this > > > > > > > > > > should > > > > > > > > > > > > be discussed separately. > > > > > > > > > > > > > > > > > > > > > > > > 4) Security: JVM info > > > > > > > > > > > > We should define clear boundaries of what info is > > > > > > > > > > > > exposed. > > > > JVM > > > > > data > > > > > > > > > > along > > > > > > > > > > > > with running threads is critically sensitive > > > > > > > > > > > > information. We > > > > > > > > > > should > > > > > > > > > not > > > > > > > > > > > > expose it until we have authorization capabilities. > > > > > > > > > > > > > > > > > > > > > > > > In order to start moving this code from prototype to > > > > > > production > > > > > > > > > state > > > > > > > > > > we > > > > > > > > > > > > should start with the most simple and consistent views. > > > > > > > > > > > > E.g. > > > > > > > > > > > > > > > > > > > > > > IGNITE_CACHES. > > > > > > > > > > > > Let's move it to a separate PR, review infrastructure > > > > > > > > > > > > code, > > > > > > > > review > > > > > > > > > view > > > > > > > > > > > > implementation, agree on proper naming and placement, > > > > > > > > > > > > and > > > > > > merge > > > > > it. > > > > > > > > > > Then > > > > > > > > > > > > each and every view (or group of related views) should > > > > > > > > > > > > be > > > > > > > > > > discussed > > > > > > > > > and > > > > > > > > > > > > reviewed separately. > > > > > > > > > > > > > > > > > > > > > > > > As far as node-local stuff, may be we should move it to > > > > > > > > > > > > a > > > > > > > > separate > > > > > > > > > > > schema, > > > > > > > > > > > > or mark with special prefix. E.g. "IGNITE.TRANSACTIONS" > > > > > > > > > > > > - > > > > all > > > > > > > > > > > transactions > > > > > > > > > > > > in the cluster, "IGNITE.LOCAL_TRANSACTIONS" - > > > > > > > > > > > > transactions > > > > on > > > > the > > > > > > > > > local > > > > > > > > > > > > node. In this case we will be able to merge "local" > > > > > > > > > > > > stuff > > > > > > > > shortly, > > > > > > > > > and > > > > > > > > > > > > implement more complex but at the same time much more > > > > > > > > > > > > useful > > > > > > > > > > > > > > > > > > > > distributed > > > > > > > > > > > > stuff later on. > > > > > > > > > > > > > > > > > > > > > > > > Makes sense? > > > > > > > > > > > > > > > > > > > > > > > > Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 23, 2018 at 8:30 PM, Alex Plehanov < > > > > > > > > > > > > > > > > > > > > plehanov.a...@gmail.com> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters! > > > > > > > > > > > > > > > > > > > > > > > > > > For Ignite diagnostic usually it’s helpful to get some > > > > Ignite > > > > > > > > > > internals > > > > > > > > > > > > > information. But currently, in my opinion, there are > > > > > > > > > > > > > no > > > > > > > > > > convenient > > > > > > > > > > > tools > > > > > > > > > > > > > for this purpose: > > > > > > > > > > > > > > > > > > > > > > > > > > · Some issues can be solved by analyzing log > > > > > > > > > > > > > files. > > > > > > Log > > > > > > > > > files > > > > > > > > > > > are > > > > > > > > > > > > > useful for dumps, but sometimes they are difficult to > > > > > > > > > > > > > read. > > > > > > > > Also > > > > > > > > > > > > > interesting metrics can’t be received runtime by > > > > > > > > > > > > > request, > > > > we > > > > need > > > > > > > > > to > > > > > > > > > > > wait > > > > > > > > > > > > > until Ignite will write these metrics by timeout or > > > > > > > > > > > > > other > > > > > > > > events. > > > > > > > > > > > > > > > > > > > > > > > > > > · JMX is useful for scalar metrics. Complex and > > > > table > > > > data > > > > > > > > > can > > > > > > > > > > > > also > > > > > > > > > > > > > be received, but it’s difficult to read, filter and > > > > > > > > > > > > > sort > > > > them > > > > > > > > > without > > > > > > > > > > > > > processing by specialized external tools. For most > > > > frequently > > > > > used > > > > > > > > > > > cases > > > > > > > > > > > > > almost duplicating metrics are created to show data > > > > > > > > > > > > > in an > > > > > > > > > > > > > > > > > > > > easy-to-read > > > > > > > > > > > > > form. > > > > > > > > > > > > > > > > > > > > > > > > > > · Web-console is able to show table and complex > > > > data. > > > > > > > > > Perhaps, > > > > > > > > > > > > > someday web-console will contain all necessary > > > > > > > > > > > > > dashboards > > > > > > for > > > > > > > > > most > > > > > > > > > > > > problem > > > > > > > > > > > > > investigation, but some non-trivial queries will not > > > > > > > > > > > > > be > > > > > > covered > > > > > > > > > > anyway. > > > > > > > > > > > > > Also web-console needs additional infrastructure to > > > > > > > > > > > > > work. > > > > > > > > > > > > > > > > > > > > > > > > > > · External “home-made” tools can be used for > > > > > > non-trivial > > > > > > > > > > cases. > > > > > > > > > > > > They > > > > > > > > > > > > > cover highly specialized cases and usually can’t be > > > > > > > > > > > > > used as > > > > > > > > > > > > > > > > > > general > > > > > > > > > > > > purpose > > > > > > > > > > > > > tools. > > > > > > > > > > > > > > > > > > > > > > > > > > Sometimes we are forced to use more than one tool and > > > > > > > > > > > > > join > > > > > > data > > > > > by > > > > > > > > > > > hands > > > > > > > > > > > > > (for example, current thread dump and data from logs). > > > > > > > > > > > > > > > > > > > > > > > > > > Often RDBMS for diagnostic purposes provides system > > > > > > > > > > > > > views > > > > > > (for > > > > > > > > > > example, > > > > > > > > > > > > > DBA_% and V$% in Oracle), which can be queried by > > > > > > > > > > > > > SQL. This > > > > > > > > > > > > > > > > > > solution > > > > > > > > > > > > makes > > > > > > > > > > > > > all internal diagnostic information available in a > > > > > > > > > > > > > readable > > > > > > > > form > > > > > > > > > > (with > > > > > > > > > > > > all > > > > > > > > > > > > > possible filters and projections) without using any > > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > internal or > > > > > > > > > > > > > external tools. My proposal is to create similar > > > > > > > > > > > > > system > > > > views > > > > in > > > > > > > > > > > Ignite. > > > > > > > > > > > > > > > > > > > > > > > > > > I implement working prototype (PR: [1]). It contains > > > > > > > > > > > > > views: > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_SYSTEM_VIEWS > > > > > > > > > > > > > > > > > > > > > > > > > > Registered system views > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_INSTANCE > > > > > > > > > > > > > > > > > > > > > > > > > > Ignite instance > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_JVM_THREADS > > > > > > > > > > > > > > > > > > > > > > > > > > JVM threads > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_JVM_RUNTIME > > > > > > > > > > > > > > > > > > > > > > > > > > JVM runtime > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_JVM_OS > > > > > > > > > > > > > > > > > > > > > > > > > > JVM operating system > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_CACHES > > > > > > > > > > > > > > > > > > > > > > > > > > Ignite caches > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_CACHE_CLUSTER_METRICS > > > > > > > > > > > > > > > > > > > > > > > > > > Ignite cache cluster metrics > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_CACHE_NODE_METRICS > > > > > > > > > > > > > > > > > > > > > > > > > > Ignite cache node metrics > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_CACHE_GROUPS > > > > > > > > > > > > > > > > > > > > > > > > > > Cache groups > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_NODES > > > > > > > > > > > > > > > > > > > > > > > > > > Nodes in topology > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_NODE_HOSTS > > > > > > > > > > > > > > > > > > > > > > > > > > Node hosts > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_NODE_ADDRESSES > > > > > > > > > > > > > > > > > > > > > > > > > > Node addresses > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_NODE_ATTRIBUTES > > > > > > > > > > > > > > > > > > > > > > > > > > Node attributes > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_NODE_METRICS > > > > > > > > > > > > > > > > > > > > > > > > > > Node metrics > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_TRANSACTIONS > > > > > > > > > > > > > > > > > > > > > > > > > > Active transactions > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_TRANSACTION_ENTRIES > > > > > > > > > > > > > > > > > > > > > > > > > > Cache entries used by transaction > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_TASKS > > > > > > > > > > > > > > > > > > > > > > > > > > Active tasks > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_PART_ASSIGNMENT > > > > > > > > > > > > > > > > > > > > > > > > > > Partition assignment map > > > > > > > > > > > > > > > > > > > > > > > > > > IGNITE_PART_ALLOCATION > > > > > > > > > > > > > > > > > > > > > > > > > > Partition allocation map > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > There are much more useful views can be implemented > > > > > > (executors > > > > > > > > > > > > diagnostic, > > > > > > > > > > > > > SPIs diagnostic, etc). > > > > > > > > > > > > > > > > > > > > > > > > > > Some usage examples: > > > > > > > > > > > > > > > > > > > > > > > > > > Cache groups and their partitions, which used by > > > > transaction > > > > more > > > > > > > > > > than > > > > > > > > > > > 5 > > > > > > > > > > > > > minutes long: > > > > > > > > > > > > > > > > > > > > > > > > > > SELECT cg.CACHE_OR_GROUP_NAME, te.KEY_PARTITION, > > > > > > > > > > > > > count(*) > > > > AS > > > > > > > > > > > ENTITIES_CNT > > > > > > > > > > > > > FROM INFORMATION_SCHEMA.IGNITE_TRANSACTIONS t > > > > > > > > > > > > > JOIN INFORMATION_SCHEMA.IGNITE_TRANSACTION_ENTRIES te > > > > > > > > > > > > > ON > > > > > > t.XID > > > > = > > > > > > > > > > > te.XID > > > > > > > > > > > > > JOIN INFORMATION_SCHEMA.IGNITE_CACHES c ON > > > > > > > > > > > > > te.CACHE_NAME = > > > > > > > > > > c.NAME > > > > > > > > > > > > > JOIN INFORMATION_SCHEMA.IGNITE_CACHE_GROUPS cg ON > > > > c.GROUP_ID > > > = > > > > > > > > > cg.ID > > > > > > > > > > > > > WHERE t.START_TIME < TIMESTAMPADD('MINUTE', -5, NOW()) > > > > > > > > > > > > > GROUP BY cg.CACHE_OR_GROUP_NAME, te.KEY_PARTITION > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Average CPU load on server nodes grouped by operating > > > > system: > > > > > > > > > > > > > > > > > > > > > > > > > > SELECT na.VALUE, COUNT(n.ID), AVG(nm.AVG_CPU_LOAD) > > > > > > AVG_CPU_LOAD > > > > > > > > > > > > > FROM INFORMATION_SCHEMA.IGNITE_NODES n > > > > > > > > > > > > > JOIN INFORMATION_SCHEMA.IGNITE_NODE_ATTRIBUTES na ON > > > > > > na.NODE_ID > > > > > = > > > > > > > > > > n.ID > > > > > > > > > > > > AND > > > > > > > > > > > > > na.NAME = 'os.name' > > > > > > > > > > > > > JOIN INFORMATION_SCHEMA.IGNITE_NODE_METRICS nm ON > > > > nm.NODE_ID > > > = > > > > > > > > > n.ID > > > > > > > > > > > > > WHERE n.IS_CLIENT = false > > > > > > > > > > > > > GROUP BY na.VALUE > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Top 5 nodes by puts to cache ‘cache’: > > > > > > > > > > > > > > > > > > > > > > > > > > SELECT cm.NODE_ID, cm.CACHE_PUTS FROM > > > > > > > > > > > > > INFORMATION_SCHEMA.IGNITE_CACHE_NODE_METRICS cm > > > > > > > > > > > > > WHERE cm.CACHE_NAME = 'cache' > > > > > > > > > > > > > ORDER BY cm.CACHE_PUTS DESC > > > > > > > > > > > > > LIMIT 5 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does this implementation interesting to someone else? > > > > > > > > > > > > > Maybe > > > > > > any > > > > > > > > > views > > > > > > > > > > > are > > > > > > > > > > > > > redundant? Which additional first-priority views must > > > > > > > > > > > > > be > > > > > > > > > > > > > > > > > > implemented? > > > > > > > > > > > Any > > > > > > > > > > > > > other thoughts or proposal? > > > > > > > > > > > > > > > > > > > > > > > > > > [1] https://github.com/apache/ignite/pull/3413 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
signature.asc
Description: This is a digitally signed message part