aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reza Motamedi <reza.motam...@gmail.com>
Subject Re: Review Request 54107: changes to intercept and time mybatis invocations
Date Mon, 28 Nov 2016 22:10:21 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54107/
-----------------------------------------------------------

(Updated Nov. 28, 2016, 10:10 p.m.)


Review request for Aurora, David McLaughlin, Joshua Cohen, Mehrdad Nurolahzade, and Santhosh
Kumar Shanmugham.


Changes
-------

fixed styling issues. all checks pass now.


Repository: aurora


Description
-------

MyBatis allows us to intercept calls within the execution of a mapped statement. This allows
us to time various mapped statements and ultimately gain more insight on the performance of
the database module.

This patch introduces an interceptor on MyBatis on `updates` and `query` mapped statements.
I used the following convention to create name for the newly collected stats:
mybatis.<<the id of the mapped statement>>

After interception the process is very similar to the one in @Timed-interceptor. SlidingStats
can be used to export interval averages, total milliseconds and the event counts.

__example stats (from ./vars.json)__
mybatis.create_tables_events 1
mybatis.create_tables_events_per_sec 0.0
mybatis.create_tables_nanos_per_event 0.0
mybatis.create_tables_nanos_total 592633784
mybatis.create_tables_nanos_total_per_sec 0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.selectAll_events 3
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.selectAll_events_per_sec 0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.selectAll_nanos_per_event 0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.selectAll_nanos_total 2858362
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.selectAll_nanos_total_per_sec
0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.select_events 333
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.select_events_per_sec 0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.select_nanos_per_event 0.0
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.select_nanos_total 85745680
mybatis.org.apache.aurora.scheduler.storage.db.AttributeMapper.select_nanos_total_per_sec
0.0


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/storage/db/DbModule.java e7287cec28e7b8ca978c506bfe821f261bc0ac26

  src/main/java/org/apache/aurora/scheduler/storage/db/InstrumentingInterceptor.java PRE-CREATION

  src/test/java/org/apache/aurora/scheduler/storage/db/InstrumentingInterceptorTest.java PRE-CREATION

  src/test/java/org/apache/aurora/scheduler/storage/mem/InMemTaskStoreTest.java 2e560c0d565689703b282391fe49dbf213ee25dc

  src/test/java/org/apache/aurora/scheduler/storage/mem/MemCronJobStoreTest.java 79999e19454568540c14f91808635bf8dff82bb3


Diff: https://reviews.apache.org/r/54107/diff/


Testing
-------

Tests are covered in InstrumentingInterceptorTest.

- testStatIsCreatedOnce
Tests that each stat is created one time only.

- testInterceptMarksMetrics
Tests that invocation is correctly intercepted and then proceeds.


Thanks,

Reza Motamedi


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message