| Type |
Task
|
| Priority |
Normal
|
| Assignee | |
| Version |
tigase-server-8.2.0
|
| Spent time |
0
|
Issue Votes (0)
Watchers (0)
| Type |
Task
|
| Priority |
Normal
|
| Assignee | |
| Version |
tigase-server-8.2.0
|
| Spent time |
0
|
Currently MethodStatistics maintains collection of methods (
private final ConcurrentHashMap<Method, MethodStatistics> statistics = new ConcurrentHashMap<>();) and propagates it correctly (https://github.com/tigase/tigase-server/blob/05fa90bfa40ad4b253819b4be7b897fd76b7c8b2/src/main/java/tigase/stats/StatisticsInvocationHandler.java#L46-L46 ) but during actual statistics collection overloaded methods are not correctly distinguished causing some statistics to be "dropped" (by being overridden) in https://github.com/tigase/tigase-server/blob/05fa90bfa40ad4b253819b4be7b897fd76b7c8b2/src/main/java/tigase/stats/StatisticsInvocationHandler.java#L138-L138 where we simply take method name (String name = method.getName();) and add it to the list:list.add(compName, prefix + "/" + name + "/Excutions last hour", per_hour, Level.FINEST);The most notable example would be UserRepository and it's
getDatamethod:We have increasing count of executions yet calculation of "Execution last X" is completely wrong.
Possible solution would be to include all method parameters in the statistics list (e.g.:
getData(String),getData(BareJID,String), etc.)