|
Sponsored Links
Resources
Enterprise Java Research Library
Get Java white papers, product information, case studies and webcasts
|
News
News
News
|
Messages: 25
Messages: 25
Messages: 25
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
beet 1.4 beta 1 released - performance logging for Spring
beet is a recently open-sourced library for logging performance metrics in a Spring-based Java application. Builders of Spring-based web or other multi-tier applications are the target audience. Beet's primary design goals are:
1. no code modification required for installation 2. sensible default configuration 3. strongly correlated performance event logging across application layers -- view, logic, and persistence 4. associate user / session ids to performance events 5. extensibility for custom user identity management systems (e.g. not necessarily Java standards-based login methods) 6. flexible logging output: XML, binary, JDBC persistence, or custom 7. low resource consumption
We provide a fairly rich set of Spring XML tags for configuration. The most basic configuration goes in your Spring applicationContext.xml file:
<bt:manager application="myapp" track-method-expression="execution(* com.mtgi.analytics..*Tracked(..))"> <bt:http-requests parameters="dispatch"/> </bt:manager>
Most applications won't need to get more elaborate than that. Full documentation and binaries are available at our project home page, http://beet.sourceforge.net.
This is our first open source public beta, so there might be a few bugs. However, the code has already been production-tested prior to its open-source incarnation so it is reasonably mature. We also have a pretty strong body of unit tests (check out the coverage report on our website).
Community feedback on ease of installation, clarity of documentation, and usefulness would be fantastic!
|
|
Message #307768
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Hmmm...I'm not sure why you need this framework. I can do this using Spring AOP and if I wanted to measure spring's performance then I've got AspectJ.
I could be wrong...
|
|
Message #307772
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Hmmm...I'm not sure why you need this framework. I can do this using Spring AOP and if I wanted to measure spring's performance then I've got AspectJ.
I could be wrong... I could do that too, but I'd rather use a framework that is already designed, implemented and tested.
|
|
Message #307777
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Hmmm...I'm not sure why you need this framework. I can do this using Spring AOP and if I wanted to measure spring's performance then I've got AspectJ.
I could be wrong... I could do that too, but I'd rather use a framework that is already designed, implemented and tested. IMHO, I will use Spring AOP or AspectJ because I don't want to depend on some small, unpopular framework.
Community feedback on ease of installation, clarity of documentation, and usefulness would be fantastic! Does that mean community feedback on feature requests will be ignored? (just my quick thought when I read that line. I don't mean anything.)
|
|
Message #307805
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
it's more than a method advisor
Hmmm...I'm not sure why you need this framework. I can do this using Spring AOP and if I wanted to measure spring's performance then I've got AspectJ.
I could be wrong...
The scope is small, but it is more than an AspectJ advisor as you imply. HTTP requests and SQL statements are recorded, and correlated back to the event that originated them. So you can identify what percentage of a request was spent in a method call, what percentage of the method call in SQL execution, so on. Configurable user id, session id, parameter logging add value to the data.
Calling it a "framework" is also a little reductive, since most users will not make API calls directly, only adding lines to spring configuration. Also, calling it "unpopular" a few short days after public release is at least a little mean-spirited. I've used plenty of "unpopular" open source libraries, if for no other reason than to absorb something from reading someone else's code.
If you find yourself writing a lot of trace logging statements then the library will be helpful. Though as you rightly say you can always write your own. This is true of anything.
In any case, my PR skills are lacking. If my humble news post here fails to be compelling, please browse the library code or documentation to see if it communicates better.
|
|
Message #307810
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
i like beet
i actually think the scope of this project is quite nice. Yes people can do all this on there own, but its all about DRY principles.
|
|
Message #307812
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Very cool
The scope is small, but it is more than an AspectJ advisor as you imply. HTTP requests and SQL statements are recorded, and correlated back to the event that originated them. So you can identify what percentage of a request was spent in a method call, what percentage of the method call in SQL execution, so on. Configurable user id, session id, parameter logging add value to the data.
That is very very cool and looks a lot like what Dynatrace does. It also is able to correlate all kinds of events and it is even able to trace 'methods' over multiple systems.
Do you have some kind of slick looking webpage that can be used to display all kinds of QOS/performance numbers? This makes it very low entry to get started with.
|
|
Message #307813
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
re: very cool
That is very very cool and looks a lot like what Dynatrace does. It also is able to correlate all kinds of events and it is even able to trace 'methods' over multiple systems.
Do you have some kind of slick looking webpage that can be used to display all kinds of QOS/performance numbers? This makes it very low entry to get started with. Not yet :)
Dynatrace does look a strong product. For the initial release we kind of focus on generating the data, using the direct database feed or ETL scripts for doing ad-hoc reporting after that. Not so much with the real-time analysis, which would be cool.
I was thinking about an external feed to dashboard-type systems like dynatrace, helios, or jmanage. This would be a low-cost way to combine our event data with other system resource monitors, and give you that cool web page.
The low-cost-of-entry appeal is definitely something we want though. Maybe we could also ship something embedded as part of the release package. Any recommendation for OSS product that displays aggregate QOS data? jmanage?
|
|
Message #307822
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Hmmm...I'm not sure why you need this framework. I can do this using Spring AOP and if I wanted to measure spring's performance then I've got AspectJ.
I could be wrong... I could do that too, but I'd rather use a framework that is already designed, implemented and tested. IMHO, I will use Spring AOP or AspectJ because I don't want to depend on some small, unpopular framework.
Totally silly and shortsighted. What dependency? A jar and some Spring config. That is one the purposes of Spring. If you want to spend your time recreating the wheel, have at it. This project seems very interesting to me.
Additionally, Pretty much most projects start "small and unpopular".
Community feedback on ease of installation, clarity of documentation, and usefulness would be fantastic! Does that mean community feedback on feature requests will be ignored? (just my quick thought when I read that line. I don't mean anything.)
Doesn't seem like you didn't any thinking.
|
|
Message #307823
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Doesn't seem like you didn't any thinking. Geeeze. Seems like i can't type. I meant "Doesn't seem like you did any thinking."
|
|
Message #307824
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Examples of utility output?
Hi, I've searched the site and downloaded the packages, but can't find an example of the output from the utilities.
Is there an example of the logs produced and the subsequent analysis from the utilities somewhere?
|
|
Message #307828
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
re: Example of utility output
Hi, I've searched the site and downloaded the packages, but can't find an example of the output from the utilities.
Is there an example of the logs produced and the subsequent analysis from the utilities somewhere? No, actually, though that's good to include. Today I've added a "hello world" example app to source control for inclusion in beta 2. I'll roll up some log / utility output from that into the user guide, hopefully for inclusion on the site some time tomorrow (Apr 23).
|
|
Message #307830
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Difference with jamon ?
I'm already using jamon and I'm really happy about it. There is a great console and the configuration is really simple. It is deployed in production and the overhead is really There even is a log4j appender which is really useful.
What advantage would I have to switch to beet ?
Thanks Gilles
|
|
Message #307831
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
This looks pretty interesting, and quite orthogonal to my own monitoring project (shameless plug) MessAdmin. We seem to share to same goals: * no code modification * zero configuration (or minimum in your case) * low performance impact * ...
While beet is specific to Spring application, MessAdmin can be installed in any Java EE application, and exposes its data via a built-in administration application and JMX. Check it out! :) ________ MessAdmin, Java EE monitoring made easy
|
|
Message #307847
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
re: Difference with jamon?
I've actually used jamon on projects in the (fairly distant) past -- it is quite good. one area where jamon definitely excels is in summarization. beet core doesn't summarize at runtime. instead the beet-utils package includes ETL scripts and some SQL statements to perform rudimentary analysis. i believe that we do have some other advantages, though:
I believe JAMon still requires source-level integration (e.g. you call MonitorFactory.add from your code and so forth to establish metrics). beet is designed to be introduced to a system without code changes or a recompile to generate instrumented class files, only modifying the spring configuration. so also you don't have to remember to add monitors as you add code.
we've also got some simple JMX controls for suspending / resuming logging, viewing diagnostic info (not QOS for your app!) and so on.
i also think the optional compressed binary XML logger is a nice feature of beet; it grows much more slowly than text.
|
|
Message #307854
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
maven repo ?
Looks nice, I don't see it on my Maven 2 repo site. Any plans to package it as a maven repo package?
Thx
|
|
Message #307859
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
re: maven repo?
Any plans to package it as a maven repo package? I've added an enhancement issue to our tracker. it should be pretty easy to put a pom together before 1.4 final. Which maven repository(ies) do you use?
On a related note, we do use Apache Ivy to manage dependencies internally; the ivy descriptors are in source control. I thought I might host a public ivyrep on the project site as an alternate method for getting at the releases.
|
|
Message #307891
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
Also, calling it "unpopular" a few short days after public release is at least a little mean-spirited. I am sorry for saying that. Personally, I like your attitude through your posts.
IMHO, I will use Spring AOP or AspectJ because I don't want to depend on some small, unpopular framework.
Totally silly and shortsighted. I really was. Honestly, thank you for pointing it out. And if I don't want you use "small, unpopular" libraries, I can wait until they're big and popular, right? I like its "zero code modification" feature.
|
|
Message #307894
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beet 1.4 beta 1 released - performance logging for Spring
I am sorry for saying that. Personally, I like your attitude through your posts. ... And if I don't want you use "small, unpopular" libraries, I can wait until they're big and popular, right? I like its "zero code modification" feature. Thanks for saying so. It's good to ask the hard questions; the first question on seeing a project is always "do we need this", and for some, the answer is just no. There's been a lot of valuable commentary here -- it will make a stronger release.
|
|
Message #307900
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
SpringSource has Spring Performance monitoring
This project looks very interesting and I will be sure to watch its development.
Detailed inspection into and reporting on Spring application performance is already available as part of the SpringSource Enterprise product without having to even modify your applicationContext. In particular, the monitoring and management tool, SpringSource Application Management Suite (AMS), let's you record the reported metrics and integrate them into an alerting system or trigger administrative actions.
Technically this is achieved through aspects that report via JMX to an agent for collection in a central datastore with a web client for management.
Adam FitzGerald SpringSource
|
|
Message #307903
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
dont think so
I believe JAMon still requires source-level integration (e.g. you call MonitorFactory.add from your code and so forth to establish metrics).
As far as i know there is a JAMon Advice available in Spring where you can just declare via AOP which methods to monitor. If i remember correctly because its some time ago that i used it.... So IMO no code level manipulation for method monitoring.
Marc http://logemannreloaded.blogspot.com
|
|
Message #307979
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
beta 2 is out, with online tutorial, sample data
For those still following this thread, there's a new beta and a detailed tutorial up on the beet project site, complete with "hello world" example app. The tutorial includes sample output data as was requested earlier on this thread.
I figured I would avoid spamming TSS with a more news posts until we get into final release territory in another couple of weeks. Before that I'll also improve the user docs to include a much richer discussion of the differences between beet, jamon, and commercial products like AMS.
|
|
 |
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com |
 |
 |
Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6.
(November 2, Article)
SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options.
(September 28, Article)
Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team.
(September 22, Article)
Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies.
(July 14, Article)
JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags.
(June 29, Article)
In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project.
(June 23, Tech Talk)
Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now.
(June 15, Tech Talk)
In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements.
(June 15, Tech Talk)
In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls.
(June 4, Tech Talk)
Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable.
(May 28, Tech Talk)
This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work.
(May 26, Tech Talk)
Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers.
(May 21, Tech Talk)
Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application.
(May 19, Article)
In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources.
(May 19, Tech Talk)
Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)
The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)
|
|