An Idea about project Please let me know if you like it and probably if it already exists Let's say you want to trace classes from certain packages I mean trace calls, input and output parameters Let's say you get a source code of project which works but don't contains any test You can add this lib Specify packages to trace Run smoke tests of your system Analyze traces Quite simple Actually that's something I personally really really need Just formulated my dream What do you think Team?
Just figured out that I definitely need such tool for Yesterday ☺️ Even for tests Main ideas it solve - 1 easily turn off and on tracing 2 - you don't need to fight with tons of log messages which makes code less clear and contains potential problems in prod
Chances are I reinvent the wheel But still strange I did not hear about such tool if it exists Important point - to log not only called function names but both input parameters value and output results
Talking about how to looks quite simple - we can use reflection and create corresponding proxies which will add function information collecting before and after function call And call original toString function to get additional information of corresponding parameter and output values Of cause we are little bit in trouble in case if there are no "good" toString function - maybe as quick workaround we can have an option to print values of corresponding object fields If nesting level is deep it can take little bit space - but this is a tracking, right? Maybe second big feature will be specifying list if classes for which we want to log detailed trace with custom toString
I just want to easily trace (and set what to trace in agile way) including functions input/output without changing target code >Well, I mean manually Of course, under the hood all function calls of tracing code will be replaced with corresponding proxies
Many tools show statistic info like number of calls of a certain functions
But my idea is easily tracing code
Like
1 Add library to classpath
2 create bean with annotation @Configuration
3 Add included and excluded packages
4 Add specific tracing level for certain classes (if you want to change the default value)
5 Maybe also add property with feature flag and / separate config file to easily turn it on / off on Production
Sounds reasonable for me I can not believe it does not exists so far
I forget to add My target stack for this tool is Java and Spring/Micronaut/Quarkus
Комментариев нет:
Отправить комментарий