Nikita, Igniters,

I left a few comments on the tool itself in the PR.

However, I would like to reiterate and discuss why a user would prefer to
use the profiling tool over tracing? Profiling tool only captures very
high-level details of the operations (a single cache operation, for
example), and does not interconnect operations happened on different nodes.
For example, a user would not be able to match a long task with a long job
in that task. In other words, profiling data is always a subset of data
collected by tracing.

Maybe it makes sense to adopt local log file approach to write spans so we
can process those spans later to build a report?

чт, 4 июн. 2020 г. в 11:16, Nikita Amelchev <nsamelc...@gmail.com>:

> Hi, Igniters.
>
> I have implemented cluster profiling and tool to build the performance
> report. It's ready to be reviewed. [1, 2]
>
> Profiling can be managed by JMX bean. I have plans to implement it to
> control.sh also.
>
> Nodes write statistics to the temporary off heap buffer and then one
> thread flushes to the profiling files. The write mechanics and format
> is like WAL logging.
> The report contains the following statistics:
> - nodes and caches info
> - cache operations and transaction statistics
> - SQL and scan queries statistics (include logical and physical reads per
> query)
> - tasks and jobs statistics.
>
> More details in the IEP [3].
>
> [1] https://github.com/apache/ignite/pull/7693
> [2] https://issues.apache.org/jira/browse/IGNITE-12666
> [3]
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool
>
> вс, 26 апр. 2020 г. в 17:29, Вячеслав Коптилин <slava.kopti...@gmail.com>:
> >
> > Hello Nikolay,
> >
> > > Who deprecated visor and when? Maybe I miss something?
> > On the one hand, there was technically no community consensus that this
> > tool should be obsolete.
> > On the other hand, my opinion based on the following topic:
> >
> http://apache-ignite-developers.2346864.n4.nabble.com/Re-Visor-plugin-tp44879p44939.html
> > Moreover, it seems to me, currently, the control utility is widely used
> and
> > actively developed, instead of the visor.
> >
> > > It's true that, for now, Ignite doesn't have "tool strategy" I think
> it's
> > a big issue from the user's point of view.
> > I absolutely agree with that.
> >
> > > We should solve it in the nearest time. Feel free to start this
> activity
> > I have no plan at the moment. However, at the first stage, we could
> > understand the difference between visor and control utility.
> > All useful features from visor should be moved/implemented in control
> > utility and after that visor tool and should be marked as
> > deprecated/obsoleted.
> >
> > > You need to throw in control.sh also, which does some kind of
> statistics
> > too, such as idle_verify.
> > > Please, clarify your idea:
> > >    We should use some info from control.sh to the report?
> > >    The report should be generated by some control.sh subcommand?
> > If I am not mistaken, the oracle database has AWR tool (mentioned on the
> > IEP page) which is a command-line utility that generates HTML reports.
> > I like this idea and I think this is a good approach that can be realized
> > in the control utility.
> > If we have a case that cannot be implemented in this way, we have to
> > clearly states the difference between these tools so as not to confuse
> our
> > users.
> > What do you think?
> >
> > Thanks,
> > Slava.
> >
> >
> > сб, 25 апр. 2020 г. в 12:00, Nikolay Izhikov <nizhi...@apache.org>:
> >
> > > Hello, Slava, Ilya, Denis.
> > >
> > > Thanks for joining this discussion!
> > >
> > > > - visor (which is deprecated)
> > >
> > > Who deprecated visor and when?
> > > Maybe I miss something?
> > >
> > > > - web-console (to be honest, I don't quite understand the status of
> this
> > > tool)
> > >
> > > +1.
> > >
> > > > I am not against the new tool, I just want to understand the
> motivation
> > > to not improve the existing sub-projects.
> > >
> > > It's true that, for now, Ignite doesn't have "tool strategy"
> > > I think it's a big issue from the user's point of view.
> > > We should solve it in the nearest time.
> > > Feel free to start this activity.
> > >
> > > > - new ignite-profiling (which is a monitoring tool as well, judging
> by
> > > the provided link [1] )
> > >
> > > The general idea is the following:
> > >
> > > 1. We should have some profiling mechanism that will generate a
> node-local
> > > event log
> > > 2. We should have a tool that can export events to some third-party
> > > system. This system can be an Elastic Search(Kibana) or Ignite
> performance
> > > report or Kafka log, whatever.
> > > 3. Ignite performance report, in the first release, should be a
> "static"
> > > tool.
> > >     This means we take static logs(that is not rewritten in the
> analysis
> > > time) and feed them in the script(or tool or control.sh, whatever)
> > >     The script produces static report that can be used for overall
> > > performance analysis.
> > >
> > > The primary users of this report is a developer of Ignite based
> > > applications and performance engineers.
> > >
> > > Ilya,
> > >
> > > > You need to throw in control.sh also, which does some kind of
> statistics
> > > too, such as idle_verify.
> > >
> > > Please, clarify your idea:
> > >     We should use some info from control.sh to the report?
> > >     The report should be generated by some control.sh subcommand?
> > >
> > >
> > > Denis,
> > >
> > > > Speaking of the probes/statistics collection approach, is it
> supposed to
> > > reuse tracing capabilities that are to be added as part of IEP-35?
> > >
> > > For now, we don't have any results of tracing development available in
> > > Apache Ignite.
> > > Hopefully, we got some in a couple of weeks.
> > > After it, we can start a discussion of how to merge two improvements.
> > >
> > >
> > >
> > > > 24 апр. 2020 г., в 20:32, Denis Magda <dma...@apache.org>
> написал(а):
> > > >
> > > >>
> > > >> Tracing is more deeply takes statistics. If it will be possible,
> I'm for
> > > >> reuse.
> > > >
> > > >
> > > > Looks like we need to sync up on these activities/initiatives to
> ensure
> > > we
> > > > don't do a duplicate job. If you think a separate discussion is
> necessary
> > > > let's kick it off.
> > > >
> > > > -
> > > > Denis
> > > >
> > > >
> > > > On Fri, Apr 24, 2020 at 9:18 AM Nikita Amelchev <
> nsamelc...@gmail.com>
> > > > wrote:
> > > >
> > > >> Denis, Ilya,
> > > >>
> > > >> I will try to integrate profiling functionality into control.sh
> utility.
> > > >>
> > > >>> Speaking of the probes/statistics collection approach, is it
> supposed
> > > to
> > > >>> reuse tracing capabilities that are to be added as part of IEP-35?
> > > >> Tracing is more deeply takes statistics. If it will be possible,
> I'm for
> > > >> reuse.
> > > >>
> > > >> пт, 24 апр. 2020 г. в 18:59, Ilya Kasnacheev <
> ilya.kasnach...@gmail.com
> > > >:
> > > >>>
> > > >>> Hello!
> > > >>>
> > > >>> I suggest that it's one of the places where it could be put
> instead of
> > > >>> adding a new tool.
> > > >>>
> > > >>> Regards,
> > > >>> --
> > > >>> Ilya Kasnacheev
> > > >>>
> > > >>>
> > > >>> пт, 24 апр. 2020 г. в 18:56, Nikita Amelchev <nsamelc...@gmail.com
> >:
> > > >>>
> > > >>>> Ilya,
> > > >>>>
> > > >>>> You suggest using control.sh to build the report?
> > > >>>>
> > > >>>> пт, 24 апр. 2020 г. в 18:20, Ilya Kasnacheev <
> > > >> ilya.kasnach...@gmail.com>:
> > > >>>>>
> > > >>>>> Hello!
> > > >>>>>
> > > >>>>> You need to throw in control.sh also, which does some kind of
> > > >> statistics
> > > >>>>> too, such as idle_verify.
> > > >>>>>
> > > >>>>> Regards,
> > > >>>>> --
> > > >>>>> Ilya Kasnacheev
> > > >>>>>
> > > >>>>>
> > > >>>>> пт, 24 апр. 2020 г. в 18:06, Вячеслав Коптилин <
> > > >> slava.kopti...@gmail.com
> > > >>>>> :
> > > >>>>>
> > > >>>>>> Hello Nikita,
> > > >>>>>>
> > > >>>>>> Perhaps, I am missing something...
> > > >>>>>> Apache Ignite already has a web-console tool. Do we want to
> > > >> improve the
> > > >>>>>> existing tool instead of creating a new one?
> > > >>>>>> It seems to me, this can be confusing for users.
> > > >>>>>> - visor (which is deprecated)
> > > >>>>>> - web-console (to be honest, I don't quite understand the status
> > > >> of
> > > >>>> this
> > > >>>>>> tool)
> > > >>>>>> - new ignite-profiling (which is a monitoring tool as well,
> > > >> judging
> > > >>>> by the
> > > >>>>>> provided link [1] )
> > > >>>>>>
> > > >>>>>> I am not against the new tool, I just want to understand the
> > > >>>> motivation to
> > > >>>>>> not improve the existing sub-projects.
> > > >>>>>>
> > > >>>>>> [1]
> > > >>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool
> > > >>>>>>
> > > >>>>>> Thanks,
> > > >>>>>> S.
> > > >>>>>>
> > > >>>>>> пт, 24 апр. 2020 г. в 14:58, Nikita Amelchev <
> nsamelc...@gmail.com
> > > >>> :
> > > >>>>>>
> > > >>>>>>> Hi, Igniters.
> > > >>>>>>>
> > > >>>>>>> I'm working on cluster profiling and the tool for creating a
> > > >>>>>>> performance report. [1] I have prepared PoC based on
> performance
> > > >>>>>>> logging to a separate category of Ignite log. The report
> > > >> contains:
> > > >>>>>>>
> > > >>>>>>> - Cache operations and its distribution by types [2]
> > > >>>>>>> - Transactions and histogram of durations [3]
> > > >>>>>>> - SQL and Scan query statistics, top of slowest queries,
> logical
> > > >> and
> > > >>>>>>> physical reads by query [4]
> > > >>>>>>> - Compute statistics, top of slowest tasks and their jobs [5]
> > > >>>>>>> Soon I will add:
> > > >>>>>>> - Topology and Ignite versions info
> > > >>>>>>> - Client ID in case of operations from clients
> > > >>>>>>>
> > > >>>>>>> For now, I'm developing a binary logging format to reduce the
> > > >> effect
> > > >>>>>>> on performance. I'll try to reuse Ignite mechanisms.
> > > >>>>>>>
> > > >>>>>>> I would like to hear suggestions for the profiling and the
> > > >>>> performance
> > > >>>>>>> report.
> > > >>>>>>>
> > > >>>>>>> [1]
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool
> > > >>>>>>> [2]
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool?preview=/145723859/148647581/p1.png
> > > >>>>>>> [3]
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool?preview=/145723859/148647582/p2.png
> > > >>>>>>> [4]
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool?preview=/145723859/148647583/p3.png
> > > >>>>>>> [5]
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/Cluster+performance+profiling+tool?preview=/145723859/152112279/p5.png
> > > >>>>>>>
> > > >>>>>>> --
> > > >>>>>>> Best wishes,
> > > >>>>>>> Amelchev Nikita
> > > >>>>>>>
> > > >>>>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> --
> > > >>>> Best wishes,
> > > >>>> Amelchev Nikita
> > > >>>>
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Best wishes,
> > > >> Amelchev Nikita
> > > >>
> > >
> > >
>
>
>
> --
> Best wishes,
> Amelchev Nikita
>

Reply via email to