Package xyz.cofe.sql.cpool.proxy
Class InvokeActivityStat
java.lang.Object
xyz.cofe.sql.cpool.proxy.InvokeActivityStat
public class InvokeActivityStat
extends java.lang.Object
Статистика вызовов методов
- Author:
- Kamnev Georgiy (nt.gocha@gmail.com)
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInvokeActivityStat.ValueОписывает статистику вызова метода -
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.Long>callCountprotected java.util.Map<java.lang.String,java.lang.Long>firstCallprotected java.lang.LonglastActivityprotected java.util.Map<java.lang.String,java.lang.Long>lastCallprotected java.util.concurrent.locks.ReadWriteLockreadWriteLock -
Constructor Summary
Constructors Constructor Description InvokeActivityStat()Конструктор по умолчанию -
Method Summary
Modifier and Type Method Description voidcollect(java.lang.String methodName)Сбор статистики вызова методаstatic xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String>constName(java.lang.String name)Возвращает указанную константу в качестве метрикиstatic MethodCallListenercreateActivityTracker(java.lang.ref.WeakReference<InvokeActivityStat> wstat)Создает подписчика на вызовы методов прокси объектовstatic MethodCallListenercreateActivityTracker(InvokeActivityStat stat)Создает подписчика на вызовы методов прокси объектовstatic MethodCallListenercreateActivityTracker(InvokeActivityStat stat, boolean asWeak, xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> nameGeneraor)Создает подписчика для сбора статистикиstatic xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String>exclude(xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> include, java.lang.String... excludeMethodNames)Создает функц именования метрики для указаных метрик, за исключением указанных методовjava.util.Map<java.lang.String,java.lang.Long>getCallCount()ВОзвращает кол-во вызововjava.util.Map<java.lang.String,java.lang.Long>getFirstCall()Возвращает время первого вызоваjava.lang.LonggetLastActivity()Возвращает время последнего вызова методовjava.util.DategetLastActivityDate()Возвращает время последнего вызова методовjava.util.Map<java.lang.String,java.lang.Long>getLastCall()Возвращает время последнего вызоваjava.util.List<InvokeActivityStat.Value>getValues()Возвращает выборку текущий метрикstatic xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String>simpleMethodName()Возвращает имя метода в качетсве имени метрики
-
Field Details
-
lastCall
protected final java.util.Map<java.lang.String,java.lang.Long> lastCall -
firstCall
protected final java.util.Map<java.lang.String,java.lang.Long> firstCall -
callCount
protected final java.util.Map<java.lang.String,java.lang.Long> callCount -
lastActivity
protected volatile java.lang.Long lastActivity -
readWriteLock
protected java.util.concurrent.locks.ReadWriteLock readWriteLock
-
-
Constructor Details
-
InvokeActivityStat
public InvokeActivityStat()Конструктор по умолчанию
-
-
Method Details
-
getLastCall
public java.util.Map<java.lang.String,java.lang.Long> getLastCall()Возвращает время последнего вызова- Returns:
- метод / время
-
getFirstCall
public java.util.Map<java.lang.String,java.lang.Long> getFirstCall()Возвращает время первого вызова- Returns:
- метод / время
-
getCallCount
public java.util.Map<java.lang.String,java.lang.Long> getCallCount()ВОзвращает кол-во вызовов- Returns:
- метод / кол-во
-
collect
public void collect(java.lang.String methodName)Сбор статистики вызова метода- Parameters:
methodName- имя метода
-
getLastActivityDate
public java.util.Date getLastActivityDate()Возвращает время последнего вызова методов- Returns:
- время последнего вызова или null
-
getLastActivity
public java.lang.Long getLastActivity()Возвращает время последнего вызова методов- Returns:
- время или null
-
getValues
Возвращает выборку текущий метрик- Returns:
- выборка метрик
-
createActivityTracker
Создает подписчика на вызовы методов прокси объектов- Parameters:
stat- куда будут записываться метрики- Returns:
- подписчик
-
createActivityTracker
public static MethodCallListener createActivityTracker(java.lang.ref.WeakReference<InvokeActivityStat> wstat)Создает подписчика на вызовы методов прокси объектов- Parameters:
wstat- куда будут записываться метрики- Returns:
- подписчик
-
constName
public static xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> constName(java.lang.String name)Возвращает указанную константу в качестве метрики- Parameters:
name- имя метрики- Returns:
- функц получения имени метрики
-
simpleMethodName
public static xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> simpleMethodName()Возвращает имя метода в качетсве имени метрики- Returns:
- функц получения имени метрики
-
exclude
public static xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> exclude(xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> include, java.lang.String... excludeMethodNames)Создает функц именования метрики для указаных метрик, за исключением указанных методов- Parameters:
include- функция именования метрикexcludeMethodNames- методы исключемые из сбора статистики- Returns:
- функция сопоставления вызова метода и метрики
-
createActivityTracker
public static MethodCallListener createActivityTracker(InvokeActivityStat stat, boolean asWeak, xyz.cofe.fn.Fn4<java.lang.Object,java.lang.Object,java.lang.reflect.Method,java.lang.Object[],java.lang.String> nameGeneraor)Создает подписчика для сбора статистики- Parameters:
stat- куда будет записиываться статистикаasWeak- статистика будет храниться в памяти как weak ссылкаnameGeneraor- метод генерации имени метрики- Returns:
- подписчик
-