667481 members! Sign up to stay informed.

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

Posted by: Jason Trump on April 22, 2009 DIGG
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!

Threaded replies

·  beet 1.4 beta 1 released - performance logging for Spring by Jason Trump on Wed Apr 22 08:27:50 EDT 2009
  ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Amin Mohammed-Coleman on Wed Apr 22 08:59:36 EDT 2009
    ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Zhubin Salehi on Wed Apr 22 09:29:01 EDT 2009
      ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Thai Dang Vu on Wed Apr 22 10:00:53 EDT 2009
        ·  it's more than a method advisor by Jason Trump on Wed Apr 22 13:48:13 EDT 2009
          ·  i like beet by c m on Wed Apr 22 15:04:18 EDT 2009
          ·  Very cool by peter veentjer on Wed Apr 22 16:13:18 EDT 2009
            ·  re: very cool by Jason Trump on Wed Apr 22 16:26:32 EDT 2009
          ·  Maven support by Uma Ediga on Fri Aug 07 16:08:23 EDT 2009
            ·  direkfilm1 by direkfilm1 direks on Mon Nov 16 08:57:10 EST 2009
        ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Mark Nuttall on Wed Apr 22 22:38:40 EDT 2009
          ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Mark Nuttall on Wed Apr 22 22:44:20 EDT 2009
  ·  Examples of utility output? by Andrew O'Malley on Wed Apr 22 23:15:00 EDT 2009
    ·  re: Example of utility output by Jason Trump on Thu Apr 23 03:17:40 EDT 2009
      ·  Difference with jamon ? by Gilles Gilles on Thu Apr 23 04:34:31 EDT 2009
        ·  re: Difference with jamon? by Jason Trump on Thu Apr 23 11:26:54 EDT 2009
          ·  dont think so by Marc Logemann on Sat Apr 25 02:31:34 EDT 2009
            ·  re: dont think so by Jason Trump on Sat Apr 25 20:28:32 EDT 2009
  ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Cédrik LIME on Thu Apr 23 05:31:09 EDT 2009
    ·  re: MessAdmin by Jason Trump on Thu Apr 23 11:44:37 EDT 2009
  ·  maven repo ? by Evan Eustace on Thu Apr 23 15:15:21 EDT 2009
    ·  re: maven repo? by Jason Trump on Thu Apr 23 17:27:40 EDT 2009
  ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Thai Dang Vu on Fri Apr 24 13:16:13 EDT 2009
    ·  Re: beet 1.4 beta 1 released - performance logging for Spring by Jason Trump on Fri Apr 24 15:25:36 EDT 2009
  ·  SpringSource has Spring Performance monitoring by Adam FitzGerald on Fri Apr 24 19:26:44 EDT 2009
  ·  beta 2 is out, with online tutorial, sample data by Jason Trump on Mon Apr 27 14:39:43 EDT 2009
  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

Posted by: Amin Mohammed-Coleman on April 22, 2009 in response to Message #307728
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

Posted by: Zhubin Salehi on April 22, 2009 in response to Message #307768
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

Posted by: Thai Dang Vu on April 22, 2009 in response to Message #307772
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

Posted by: Jason Trump on April 22, 2009 in response to Message #307777
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

Posted by: c m on April 22, 2009 in response to Message #307805
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

Posted by: peter veentjer on April 22, 2009 in response to Message #307805
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

Posted by: Jason Trump on April 22, 2009 in response to Message #307812
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

Posted by: Mark Nuttall on April 22, 2009 in response to Message #307777
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

Posted by: Mark Nuttall on April 22, 2009 in response to Message #307822
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?

Posted by: Andrew O'Malley on April 22, 2009 in response to Message #307728
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

Posted by: Jason Trump on April 23, 2009 in response to Message #307824
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 ?

Posted by: Gilles Gilles on April 23, 2009 in response to Message #307828
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

Posted by: Cédrik LIME on April 23, 2009 in response to Message #307728
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?

Posted by: Jason Trump on April 23, 2009 in response to Message #307830
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 #307848 Post reply Post reply Post reply Go to top Go to top Go to top

re: MessAdmin

Posted by: Jason Trump on April 23, 2009 in response to Message #307831
yeah, MessAdmin is definitely cool, and I think orthogonal is a good way to describe it. if you look at the end of chapter 2 of our user guide, you will find a link for your project:

http://beet.sourceforge.net/build/core/docs/userguide/html/ch02s02.html#d0e337

I hope you don't mind :)

  Message #307854 Post reply Post reply Post reply Go to top Go to top Go to top

maven repo ?

Posted by: Evan Eustace on April 23, 2009 in response to Message #307728
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?

Posted by: Jason Trump on April 23, 2009 in response to Message #307854
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

Posted by: Thai Dang Vu on April 24, 2009 in response to Message #307728
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

Posted by: Jason Trump on April 24, 2009 in response to Message #307891
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

Posted by: Adam FitzGerald on April 24, 2009 in response to Message #307728
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

Posted by: Marc Logemann on April 25, 2009 in response to Message #307847
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 #307936 Post reply Post reply Post reply Go to top Go to top Go to top

re: dont think so

Posted by: Jason Trump on April 25, 2009 in response to Message #307903
i stand slightly corrected; the Spring API has JamonPerformanceMonitorInterceptor, which I had overlooked.

  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

Posted by: Jason Trump on April 27, 2009 in response to Message #307728
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.

  Message #314607 Post reply Post reply Post reply Go to top Go to top Go to top

Maven support

Posted by: Uma Ediga on August 07, 2009 in response to Message #307805
Does Beta 1 version have Maven support?

  Message #329180 Post reply Post reply Post reply Go to top Go to top Go to top

direkfilm1

Posted by: direkfilm1 direks on November 16, 2009 in response to Message #314607
i like it website. thank you my friend...


film izle
film seyret
sinema izle
direk izle
bedava film izle
online film izle
direk film izle
direkizle
indirmeden film izle
kelebek
el terlemesi

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 1

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: It's Not just for Web services

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)

Programming is Also Teaching Your Team

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)

Can Java EE Deliver The Asynchronous Web?

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)

JSF Flex

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)

The Rules of SOA - A Road to a Successful SOA Implementation

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 Talks About Terracotta 3.1

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)

Enterprise Application Integration, and Spring

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)

Google Web Toolkit: An Introduction

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)

Just Enough Early Architecture to Guide Development

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)

Productive Programmer: On the Lam from the Furniture Police

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)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

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)

Auto-Scaling Your Existing Web Application

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)

Free Book: Jakarta-Struts Live

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)

Application Server Matrix

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)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map