Hi,

Dmitriy thanks for note, I will keep metrics IEP in mind.

Roman it sounds quite a straightforward approach. Moreover current cache
transactions follow it: there could be a number of invisible actions in
private workspace (e.g. creating and then deleting the same entry) but only
final changes are metered.

Also, I observed strange behavior for TRANSACTIONAL cache operations. For
following case metrics surprised me (numbers in comments):

public void testPutRemove() throws Exception {
    cache.remove(1);
    System.out.println(cache.metrics().getCacheRemovals()); // 1

    cache.put(1, "a");

    cache.remove(1);
    System.out.println(cache.metrics().getCacheRemovals()); // 2
}

While for ATOMIC cache I see 0 and 1 which looks much better. And similar
effect is observed for "replace" operations.

Is it a bug? Do we have some document describing how metrics should be
counted?

2018-08-08 21:11 GMT+03:00 Dmitriy Setrakyan <dsetrak...@apache.org>:

> I think we should be updating the IEP with metrics specifications in
> parallel.
>
> D.
>
> On Wed, Aug 8, 2018, 05:32 Roman Kondakov <kondako...@mail.ru.invalid>
> wrote:
>
> > Hi Ivan!
> >
> > In my opinion we need to preserve the essence of the metrics: if we
> > didn't consider dirty writes as updates before MVCC implementation, we
> > also shouldn't count these writes in MVCC metrics implementation too.
> > So, I think we need to count only committed entries. But we can count
> > this dirty writes as additional metrics.
> >
> > Also additional metrics concerning MVCC could be:
> >
> > - Average count of the active transactions per snapshot
> >
> > - Average quantity of versions per key
> >
> >
> > --
> >
> > Roman Kondakov
> >
> >
> > On 07.08.2018 17:17, Павлухин Иван wrote:
> > > Hi Igniters,
> > >
> > > I am working on cache metrics support for caches with enabled MVCC. As
> > you
> > > may know, during MVCC transaction execution entry versions are written
> to
> > > storage right away (without deferring until commit). So, it is not
> > obvious
> > > for me if we should update writes count right away or defer it until
> > > commit. On one hand, MVCC entry version write is not "true" write until
> > > commit. On the other hand, it definitely changes the storage. How do we
> > > interpret write metrics in Ignite philosophy?
> > >
> > > Also, it seems that bunch of MVCC specific metrics could be
> introduced. I
> > > would like to collect some thoughts about it. Which such metrics come
> to
> > > your mind?
> > >
> >
> >
>



-- 
Best regards,
Ivan Pavlukhin

Reply via email to