Package tigase.stats

## Class StatisticsInvocationHandler<S>

- java.lang.Object
- - tigase.stats.StatisticsInvocationHandler<S>

- All Implemented Interfaces:
    `java.lang.reflect.InvocationHandler`

      public class StatisticsInvocationHandler<S>
      extends java.lang.Object
      implements java.lang.reflect.InvocationHandler

  Generic class used by MD connection pools and repositories to wrap and measure method execution times.
  Created by andrzej on 15.12.2016.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `StatisticsInvocationHandler.MethodStatistics` |
    `static class` | `StatisticsInvocationHandler.Statistics` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StatisticsInvocationHandler​(java.lang.String name, S instance, java.lang.Class... monitoredIfcs)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `everyHour()` |
    `void` | `everyMinute()` |
    `void` | `everySecond()` |
    `void` | `getStatistics​(java.lang.String compName, java.lang.String prefix, StatisticsList list)` |
    `java.lang.Object` | `invoke​(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StatisticsInvocationHandler

          public StatisticsInvocationHandler​(java.lang.String name,
                                             S instance,
                                             java.lang.Class... monitoredIfcs)

  - ### Method Detail

    - #### everyHour

          public void everyHour()

    - #### everyMinute

          public void everyMinute()

    - #### everySecond

          public void everySecond()

    - #### getStatistics

          public void getStatistics​(java.lang.String compName,
                                    java.lang.String prefix,
                                    StatisticsList list)

    - #### invoke

          public java.lang.Object invoke​(java.lang.Object proxy,
                                         java.lang.reflect.Method method,
                                         java.lang.Object[] args)
                                  throws java.lang.Throwable

      Specified by:
        `invoke` in interface `java.lang.reflect.InvocationHandler`
      Throws:
        `java.lang.Throwable`