Replies: 6 comments 2 replies
-
@bpangburn I won't say let me know if you don't get this. |
Beta Was this translation helpful? Give feedback.
-
Do you see this as a permanent addition or something temporary where I would checkout a branch from your fork to grab some data and report back? A little reluctant to add permanent dependencies. |
Beta Was this translation helpful? Give feedback.
-
With unix to vxWorks to roll-your-own, I've always added some form of statisctics collection in OS work. Seems like a natural for something as dynamic as SwingSet/App. Useful for general information and tracking down specific issues, and ongoing monitoring can be useful for post mortem diagnosing when something new pops up and also as an early warning system. I was pretty jazzed when I tried the "Timer" metric; and saw the averge/min/max time for SSDataNavigator#doUpdateRow(). The idea of collecting stats, sending them to a central collector, keeping an eye on things; seems potentially long term useful. But I don't know enough about how the app is deployed and managed. I'm not sure about the nature of the objections to 3rd party stuff. I will note that using this kind of library is quite different from one that is user facing or that is somehow integrated into the app. In fact it does not impact the UI or the behavior of the app; it could be taken out without impacting anything. To insure that, a layer could be devised rather than having direct calls to Metrics. Then that layer could turn itself off if Metrics is not in the class path. |
Beta Was this translation helpful? Give feedback.
-
If the time arises that instrumenting SwingSet and/or app is a thing; these notes are here. |
Beta Was this translation helpful? Give feedback.
-
Forgot to mention (re-mention). What I've been using to get a feel for longer term viability of a project is https://mvnrepository.com/ . It quickly gives an idea of how widely used a project is used and how frequent it has a release. |
Beta Was this translation helpful? Give feedback.
-
Came across some articles a couple weeks ago from DZone. Interesting stuff and relevant to this discussion |
Beta Was this translation helpful? Give feedback.
-
This is about application specific metrics, in particular instrumenting the library for statistics of interest. This is not about profiling, such as YourKit. I got to thinking of this wondering about how big the lists got in SSComboBox and SSDBComboBox to get an idea of the benefit of potential optimizations. I ran into a metrics library earlier this year, Metrics ... insight ... in production. It appears to be widely used in maven repository projects. There's a short Getting Started. I haven't looked at any other application instrumentation libraries.
I've run some experiments with their Histograms and Timers. Take a look at the MetricsSetup branch in my fork. Below is some example out that I got running the demo using mysql, with H2 the times were too small.
In the following, I've adapted their console reporting to output to log4j and put their CSV output into a subdirectory of the log4j output. For this report, there's no periodic collection and the reports are generated at JVM shutdown.
Beta Was this translation helpful? Give feedback.
All reactions