Re: Instability in Tapestry 5.0.12-SNAPSHOT

2008-05-19 Thread Darío Vasconcelos
+1 on org.apache.tapestry.t5. T5 is a widely used acronym both in the
mailing lists and many web posts.

Dario.

On Mon, May 19, 2008 at 12:14 PM, Tomasz Dziurko [EMAIL PROTECTED] wrote:

 +1 on org.apache.tapestry5

 --
 Tomasz Dziurko

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-- 
Punctuality is the virtue of the bored.
Evelyn Waugh.


Re: Tapestry at my company

2008-03-18 Thread Darío Vasconcelos
The thing that bothers me is,

I'm pretty sure that the Wicket community is misrepresented by this little
troll, and he's probably laughing every time he checks this mailing list to
see what kind of responses happened as a result to his last dull
characterization as a genuine Tapestry user.

Nevertheless, whoever this guy is, he's assuming that people will feel
offended by Wicket's technical superiorities over Tapestry or that, by
getting angry responses, people will fly away from Tap. I'm sure world
domination is not in Howard's agenda nor in ours, and proliferation of a
framework has never been a consequence of nice and gentle mailing lists
(think Hibernate, Rails). We all just want to use a tool that helps us build
and maintain better sites with less work.

So come on, let this guy write his provocations alone in the desert. The
list is meant to help us all understanding better the funcionality and
possibilities of Tapestry -and of course, help each other-, not to serve as
a PR tool. The Tapestry list has always been full of bright and nice people,
that take time from their own schedules to help others, not zealots trying
to fight some religious war over their framework of choose.

Regards,

On Tue, Mar 18, 2008 at 11:04 AM, Chris Lewis [EMAIL PROTECTED]
wrote:

 You were wrong. We are both arrogant and hostile, so piss off and be
 gone with ya!

 Rob Smeets wrote:
  Guys,
 
  I hoped you would rally behind me and offer some ideas to counterfight
 my
  colleagues. Rather you are calling me names. I am very dissapointed and
 hope
  you will all one day grow up. I thought the Tapestry community have nice
  people. You have proved to be very arrogant and bad tempered. I hope to
 be
  the LAST newbie wanting to jump onto the Tapestry bandwagon and that the
  others reading this would all drop off Tapestry like flies.
 
  Have a nice day.
 
  Rob
 
  On Tue, Mar 18, 2008 at 5:24 PM, Stroeber, Andreas 
  [EMAIL PROTECTED] wrote:
 
 
  I suggest scheme.
 
  The more people grow up, the more they behave childish.
 
  -Ursprüngliche Nachricht-
 
  For trolls such as yourself... I'd suggest you adopt struts 1 to
  ensure maximum pain.
 
  Plain servlets and JSPs would be even better!
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 
 




-- 
If you're not part of the solution, you're part of the precipitate.
Henry J. Tillman


Re: [T4] Modifying RadioGroup

2008-02-05 Thread Darío Vasconcelos
Hi Andrew,

if you start the RadioGroup in an invisible spot, it will render
correctly, as in

span jwcid=@RadioGroup
  tr
tdradiogroup1 option 1 //td
tdradiogroup2 option 1 //td
  /tr
  tr
tdradiogroup1 option 2 //td
tdradiogroup2 option 2 //td
  /tr
/span

or at least that's the case with lightly formatted tables...

Regards,

Dario

On Feb 5, 2008 7:54 AM, Andrew Ingram [EMAIL PROTECTED] wrote:

 I'm trying to use radio options in the following way:

 pseudo-html:

 tr
 tdradiogroup1 option 1 //td
 tdradiogroup2 option 1 //td
 /tr
 tr
 tdradiogroup1 option 2 //td
 tdradiogroup2 option 2 //td
 /tr

 This doesn't work with Tapestry's RadioGroup component because there's
 no way of wrapping a RadioGroup around the related radio fields without
 wrapping the other.

 I tried the obvious approach of overriding Radio to allow me to specify
 the RadioGroup to use as a parameter rather than requiring it to be
 nested. To do this I changed the first line of Radio's renderComponent
 to get a supplied RadioGroup rather than the one from the cycle.

 This is the only change I made, but I get this error:

 Property 'rewinding' of [RadioGroup Instance] may only be accessed
 while the component is rendering.

 Does anyone have any idea how I can solve this problem? I had expected
 it to be something quite easy to do and it's already taken far longer
 than I'd hoped.

 Regards,
 Andrew Ingram

 __
 This email has been scanned by the MessageLabs Email Security System.
 For more information please visit http://www.messagelabs.com/email
 __

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-- 
A man in love is incomplete until he has married. Then he's finished.
  Zsa Zsa Gabor


Re: Does Tapestry5 support Portlets specs JSR168 and 286

2007-12-28 Thread Darío Vasconcelos
Add me to the portlet petition; we're about to start development on a portal
with Liferay and it would be great to have portlet support in T5.

Regards,

D


On 12/28/07, Emmanuel Sowah [EMAIL PROTECTED] wrote:

 Howard,

 Well, left me alone, I would say instead of the effort to support Portlets
 in T5, spend that in making T5 backward compatible to T4 and T3. You would
 save many people a lot of misery in migrating.

 E.

 On Dec 28, 2007 11:24 PM, Howard Lewis Ship [EMAIL PROTECTED] wrote:

  It's really the other way around; a Portlet is defined in terms of a
  T5 application, where the application pages are mapped to different
  views of the portlet. A portal would contain many portlets, some T5
  applications, some natively implemented.
 
  On Dec 28, 2007 11:19 AM, Michael Lake [EMAIL PROTECTED] wrote:
  
  
   would it be completely ridiculous for a T5 component to house a
   portlet? is that at all feasible?
  
   -mike
  
  
   On Dec 28, 2007, at 2:06 PM, Howard Lewis Ship wrote:
  
Currently there are not plans to support Portlets in T5 for the
initial release. If there is enough interest, it will be added as a
follow on. It will be much easier to add to T5 than it was to T4,
since a lot of the ideas in T5 came from T4 and its portlet support.
such as the action request / render request split present in T5 (and
in portlets).
   
On Dec 28, 2007 10:09 AM, Cardenas, Juan Carlos
[EMAIL PROTECTED] wrote:
I can't seem to find a reference in the documentation.
   
I know Tapestry4 at least covers 168
   
What are the plans for covering JSR 286 Portlet 2.0 spec?
   
Carlos
   
   
   
   
--
Howard M. Lewis Ship
   
Creator Apache Tapestry and Apache HiveMind
   
   
 -
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   
  
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
 
 
  --
  Howard M. Lewis Ship
 
  Creator Apache Tapestry and Apache HiveMind
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 




-- 
What the world needs is more geniuses with humility, there are so few of us
left.
Oscar Levant


Foreach, iterate over several collections at once

2007-02-21 Thread Darío Vasconcelos

Hi,

I'm trying to solve a problem that might be trivial in JSP, but I
can't find a way to do it in Tapestry without some collection munching
in Java.

My problem is that I have three ArrayLists that hold very similar
information, and need to be displayed inside the same table. To
explain this better, let me draw a simple diagram:

HeaderRow1   list1 list2   list3
HeaderRow2   list2 list2   list3
HeaderRow3   list3 list2   list3

That is, List1 contains a HashMap with two elements: HeaderRow1 and
the value for List1. List2 contains also a HashMap with twoelements,
HeaderRow1 and list2. The same applies to List3.

I'm thinking on using a Foreach for this, but it will only iterate
over one of the lists, and I **really** need this data to be in the
same table. Of course, more than just one column per list needs to be
displayed, my example is a simplification.

The obvious solution is to create a getJoinedTable() method and join
the three collections into one big ArrayList, but the code isn't nice,
and since I need to do this for several other pages, the picture is
not very nice.

What puzzles me is that the solution to this problem in JSP would be
s simple!! There has to be a Tapestried way to do it...

Regards,

Dario


--
A zygote is a gamete's way of producing more gametes. This may be the
purpose of the universe.
- Robert A. Heinlein

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Foreach, iterate over several collections at once

2007-02-21 Thread Darío Vasconcelos

Sorry Mark,

I didn't quite understand what you're saying, although it sounds very
interesting. I can't imagine how I could make Foreach update the
current value for each list, using only one Foreach. Or could I use
nested Foreachs? If you would be so kind as to give me a small
example, I would be very grateful...

Dario.

On 2/21/07, Mark Stang [EMAIL PROTECTED] wrote:

Hi,
The Foreach can call your class with the current index and set it.  The getters use 
that value to return the current value for each list.

HTH,

Mark

Mark J. Stang
Senior Engineer/Architect
office: +1 303.468.2900
mobile: +1 303.507.2833
Ping Identity



-Original Message-
From: Darío Vasconcelos [mailto:[EMAIL PROTECTED]
Sent: Wed 2/21/2007 2:43 PM
To: Tapestry users
Subject: Foreach, iterate over several collections at once

Hi,

I'm trying to solve a problem that might be trivial in JSP, but I
can't find a way to do it in Tapestry without some collection munching
in Java.

My problem is that I have three ArrayLists that hold very similar
information, and need to be displayed inside the same table. To
explain this better, let me draw a simple diagram:

HeaderRow1   list1 list2   list3
HeaderRow2   list2 list2   list3
HeaderRow3   list3 list2   list3

That is, List1 contains a HashMap with two elements: HeaderRow1 and
the value for List1. List2 contains also a HashMap with twoelements,
HeaderRow1 and list2. The same applies to List3.

I'm thinking on using a Foreach for this, but it will only iterate
over one of the lists, and I **really** need this data to be in the
same table. Of course, more than just one column per list needs to be
displayed, my example is a simplification.

The obvious solution is to create a getJoinedTable() method and join
the three collections into one big ArrayList, but the code isn't nice,
and since I need to do this for several other pages, the picture is
not very nice.

What puzzles me is that the solution to this problem in JSP would be
s simple!! There has to be a Tapestried way to do it...

Regards,

Dario


--
A zygote is a gamete's way of producing more gametes. This may be the
purpose of the universe.
 - Robert A. Heinlein

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--
A zygote is a gamete's way of producing more gametes. This may be the
purpose of the universe.
- Robert A. Heinlein

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Foreach, iterate over several collections at once

2007-02-21 Thread Darío Vasconcelos

Wow!

OK, now I get it. Yes, I'm using T3.x. I never thought about that use
for the index parameter, I had used only to display the current row's
number. Your solution is very attractive because it will be trivial to
add new columns to the table in case I need to, which was a major
problem with the solution I was devising. It was only a matter of
thinking about OGNL expressions in a different way than I always use
them.

Thanks a lot, Mark.

Regards,

Dario


On 2/21/07, Mark Stang [EMAIL PROTECTED] wrote:

Dario,
The Foreach component T3.x, which I presume you are using (If you are not,check the 
components for your version), contains a parameter named index.

index   int out no  Used to store the index of the current 
value within the stream of elements provided by the source parameter. The index 
parameter is explicitly updated before the value parameter.

If you set it:

index=ognl:currentIndex

Then as Tapestry iterates over the list that was passed to the Foreach it will call 
setCurrentIndex with the current index.  This happens at the top of the loop.  So, in the body of the 
Foreach for a particular td you can call getList1().  Since you are not passing in a value/parameter to 
getList1(), how does it know what item in the list to return?  Inside the method, you use currentIndex 
to pick the item in the list to return.

Basically, the Foreach knows what iteration it is on.  You can have it pass 
that value back to your Java Class with a setter. Whenever you call any of the 
getList methods, they use the value passed in by the Foreach.

HTH,

Mark

Mark J. Stang
Senior Engineer/Architect
office: +1 303.468.2900
mobile: +1 303.507.2833
Ping Identity



-Original Message-
From: Darío Vasconcelos [mailto:[EMAIL PROTECTED]
Sent: Wed 2/21/2007 3:06 PM
To: Tapestry users
Subject: Re: Foreach, iterate over several collections at once

Sorry Mark,

I didn't quite understand what you're saying, although it sounds very
interesting. I can't imagine how I could make Foreach update the
current value for each list, using only one Foreach. Or could I use
nested Foreachs? If you would be so kind as to give me a small
example, I would be very grateful...

Dario.

On 2/21/07, Mark Stang [EMAIL PROTECTED] wrote:
 Hi,
 The Foreach can call your class with the current index and set it.  The getters use 
that value to return the current value for each list.

 HTH,

 Mark

 Mark J. Stang
 Senior Engineer/Architect
 office: +1 303.468.2900
 mobile: +1 303.507.2833
 Ping Identity



 -Original Message-
 From: Darío Vasconcelos [mailto:[EMAIL PROTECTED]
 Sent: Wed 2/21/2007 2:43 PM
 To: Tapestry users
 Subject: Foreach, iterate over several collections at once

 Hi,

 I'm trying to solve a problem that might be trivial in JSP, but I
 can't find a way to do it in Tapestry without some collection munching
 in Java.

 My problem is that I have three ArrayLists that hold very similar
 information, and need to be displayed inside the same table. To
 explain this better, let me draw a simple diagram:

 HeaderRow1   list1 list2   list3
 HeaderRow2   list2 list2   list3
 HeaderRow3   list3 list2   list3

 That is, List1 contains a HashMap with two elements: HeaderRow1 and
 the value for List1. List2 contains also a HashMap with twoelements,
 HeaderRow1 and list2. The same applies to List3.

 I'm thinking on using a Foreach for this, but it will only iterate
 over one of the lists, and I **really** need this data to be in the
 same table. Of course, more than just one column per list needs to be
 displayed, my example is a simplification.

 The obvious solution is to create a getJoinedTable() method and join
 the three collections into one big ArrayList, but the code isn't nice,
 and since I need to do this for several other pages, the picture is
 not very nice.

 What puzzles me is that the solution to this problem in JSP would be
 s simple!! There has to be a Tapestried way to do it...

 Regards,

 Dario


 --
 A zygote is a gamete's way of producing more gametes. This may be the
 purpose of the universe.
  - Robert A. Heinlein

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





--
A zygote is a gamete's way of producing more gametes. This may be the
purpose of the universe.
 - Robert A. Heinlein

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--
A zygote is a gamete's way of producing more gametes. This may be the
purpose of the universe.
- Robert A. Heinlein

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WANTED: Tapestry Success Stories

2007-01-24 Thread Darío Vasconcelos

An important part of the transactional system of the mexican bank IXE (
http://www.ixe.com.mx/) runs over Tapestry, Spring, Hibernate, multiple
databases (Oracle, Sybase, AS/400) and several other interesting things.
While I'm no direct committer for that project, I think I've seen some
people from there on the list.

This system handles a huge traffic and runs on top of the bank's LAN, and
from what I've seen, it does it very smoothly. Perhaps someone can update us
on that.

Regards,

Dario


On 1/24/07, Daniel Jue [EMAIL PROTECTED] wrote:


There is a guy from eBay on the list here-- I think he was working on
a component that used a countdown timer.  Some of us suspected it was
for bid snipers, but he mentioned that it was part of a larger
project.

oh, and I think TheServerSide.com uses Tap as well.



On 1/23/07, Howard Lewis Ship [EMAIL PROTECTED] wrote:
 The start of conference season is just around the corner, and I'm
 updating my presentations.

 Probably THE most common question I get is How well does Tapestry
 scale? usually qualified with Can you name some high volume web
 sites?.

 PLEASE refresh my memory.  Preferably with some simple hits/day or
 hits/hour kind of statistics. Recognizable names make a difference
 too. I'm breaking myself to get the word out ... and help is
 appreciated!

 --
 Howard M. Lewis Ship
 TWD Consulting, Inc.
 Independent J2EE / Open-Source Java Consultant
 Creator and PMC Chair, Apache Tapestry
 Creator, Apache HiveMind

 Professional Tapestry training, mentoring, support
 and project work.  http://howardlewisship.com

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Ronald Reagan - Recession is when a neighbour loses his job. Depression is
when you lose yours.


Re: Problem with too long urls

2006-10-29 Thread Darío Vasconcelos

If you don't want to mess with DataSqueezers and other esoterical stuff, you
could use the FormLinkRenderer by MindBridge, you can download it from
http://www.t-deli.com/.

In short, specifying the renderer attribute of any DirectLink will
automatically turn the request into a POST instead of GET. I think there's
an example in the t-deli page.

span jwcid=@DirectLink
renderer=ognl:@[EMAIL PROTECTED]
...


Regards,

Dario

On 10/29/06, Sam Gendler [EMAIL PROTECTED] wrote:


Generally, this occurs because Tapestry has been forced to serialize
an object, or a collection of objects, to the form in order ensure
consistency when the form is rewound.  You can prevent this by
defining a 'DataSqueezer' for your entities which will allow you to
send a simple primary key from which the object can be loaded, rather
than having to serialize the entire state of the object to the
browser.  Also, wherever possible, make your loops and conditionals
volatile, so that the collection that is the source of the loop
doesn't have to get serialized at all.  Of course, this runs the risk
of introducing stale link errors, so must be used judiciously.  You
will surely be able to determine the constructs which need to be
modified by taking a look at the source of your form (or the query
string params) and you'll see long uuencoded text strings which are
serialized objects.

There is a page describing the DataSqueezer concept on the tapestry
wiki.  I've also attached my EnumSqueezer as an example.  You'll also
need the entries equivalent to the following in your hivemodule.xml
file.

service-point id=EnumSqueezer
interface=org.apache.tapestry.util.io.SqueezeAdaptor
invoke-factory
construct class=com.euroclick.gb.web.utils.EnumSqueezer/
/invoke-factory
/service-point

contribution configuration-id=tapestry.data.SqueezeAdaptors
adaptor object=service:EnumSqueezer/
/contribution


On 10/29/06, Julian Sinai [EMAIL PROTECTED] wrote:
 Hi--I'm having a problem with Tapestry URLs from a DirectLink in my
application. It seems to only be a problem in Internet Explorer. My guess is
the URLs are too long. I've tried the documented advice to use the
DirectLink service encoder, but that doesn't shorten the session information
that gets added to the query string. I've also tried the FormLinkRenderer
from the Tapestry Deli site, but that didn't work at all. I've also tried
@Persist(client) technique but I don't think I understand it properly
because it broke my app.

 I don't know if this makes any difference, but the DirectLink in
question is inside a custom component, although it's a very simple one.
Also, I'm using Tap 4.0.2.

 Any advice is greatly appreciated.
 Thanks,
 Julian






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
So little time and so little to do.
 -- Oscar Levine


Thoughts about performance monitoring in Tapestry

2006-10-09 Thread Darío Vasconcelos

Hi,

I'm currently analyzing an application built completely with Tapestry,
and additionally uses Spring, Hibernate, and EJBs. The main tool for
the performance analysis is an agent that is deployed in WebLogic and
reads HTTP requests, bean calls, and mostly everything that happens
inside the application (with, of course, a performance penalty while
the agent is on).

But, obviously, there are only two main HTTP requests that show up in
the tool: a GET on /app_name/app, and POST on the same URL. Although
it is possible to analyze the request parameters, it would be very
hard to determine which pages are being called the most, which take
the most time to render, etc, without adding some kind of logging to
the app source, because most of the time the parameters, as all of you
know, are everything but friendly (the app is built with TP 3.0).

So the tool really has a hard time trying to figure which requests are
the slowest, and the bean request tree is a huge list of all the beans
that are called from within Tapestry .java controllers, regardless of
the page. Since the app is using IoC through Spring, this makes it
even harder to figure which calls are being made at any specific
point.

The tool does a fairly good job hooking itself to the app server and
its JVMs, so there's still a pretty large list of EJBs, SQL commands
and Spring services that might need to be looked at, because they can
take as much as 30 seconds to execute. But I'm hearing some voices
that speak Hmm, maybe Tapestry is to blame here, since all requests
go through Tapestry's servlet and filter, and I have very few elements
to fight those voices.

So I have several thoughts and questions, hoping that somebody will
shed some light on this:

* Anyone knows of a tool that might be less request-oriented that
maybe even know how to interpret TP's parameters?

* If small logging statements were to be added to the .java pages,
which would be the method(s) to add the logging to? pageBeginRender is
the obvious candidate here, but that would only take into account
rendering, without form submitting and component render cycles...

* Is there a way to, through configuration, improve Tapestry's reading
of these kind of statistics? I'm thinking maybe friendly URLs, but
there might be other answers...

* How to really determine how much time Tapestry is taking in doing
its job? For example, he tool is displaying a cumulative time of 4.61
seconds for /app_name/app, but an exclusive time (meaning the time
that the method spends by itself, without the accessories) of 0.025
seconds. Now that sounds great, but does it seem logical? I mean,
maybe some other components should be taken into account.

* Anyone knows if Spring's methods to invoke and instantiate EJBs are
slow? The tool says that it can take as much as 2 seconds to do so!!
Maybe another place where traditional monitoring lacks?

Regards,

Dario

--
Some weasel took the cork out of my lunch.
 -- W.C. Fields

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Thoughts about performance monitoring in Tapestry

2006-10-09 Thread Darío Vasconcelos

Well, actually the tool that I'm using (PerformaSure by Quest) is
pretty professional, I guess I'm getting as many clues as possible. My
questions were more in the direction of, How to modify the source in
order to find out the time spent in each page, and What are your
thoughts about this issue with Tapestry 3 being too hard for these
kind of tools, since they're request-oriented.

BTW, friendly URLs is not an option since I'm using TP3. I'm also not
the owner of this app, so big configuration changes is not an option
either.

Regards,

On 10/9/06, Mark Stang [EMAIL PROTECTED] wrote:

Try JProfiler.  It can track where you application is spending all of its time. 
 One thing that came up earlier is that OGNL is a hog.  However, we haven't 
found Tapestry to be the issue, but the rest of the app...

regards,

Mark

Mark J. Stang
Senior Engineer/Architect
office: +1 303.468.2900
mobile: +1 303.507.2833
Ping Identity



-Original Message-
From: James Carman [mailto:[EMAIL PROTECTED]
Sent: Mon 10/9/2006 1:52 PM
To: Tapestry users
Subject: Re: Thoughts about performance monitoring in Tapestry

Have you tried turning on Tapestry's friendly URLs?  That would give you
some better URLs to deal with maybe.

 Hi,

 I'm currently analyzing an application built completely with Tapestry,
 and additionally uses Spring, Hibernate, and EJBs. The main tool for
 the performance analysis is an agent that is deployed in WebLogic and
 reads HTTP requests, bean calls, and mostly everything that happens
 inside the application (with, of course, a performance penalty while
 the agent is on).

 But, obviously, there are only two main HTTP requests that show up in
 the tool: a GET on /app_name/app, and POST on the same URL. Although
 it is possible to analyze the request parameters, it would be very
 hard to determine which pages are being called the most, which take
 the most time to render, etc, without adding some kind of logging to
 the app source, because most of the time the parameters, as all of you
 know, are everything but friendly (the app is built with TP 3.0).

 So the tool really has a hard time trying to figure which requests are
 the slowest, and the bean request tree is a huge list of all the beans
 that are called from within Tapestry .java controllers, regardless of
 the page. Since the app is using IoC through Spring, this makes it
 even harder to figure which calls are being made at any specific
 point.

 The tool does a fairly good job hooking itself to the app server and
 its JVMs, so there's still a pretty large list of EJBs, SQL commands
 and Spring services that might need to be looked at, because they can
 take as much as 30 seconds to execute. But I'm hearing some voices
 that speak Hmm, maybe Tapestry is to blame here, since all requests
 go through Tapestry's servlet and filter, and I have very few elements
 to fight those voices.

 So I have several thoughts and questions, hoping that somebody will
 shed some light on this:

 * Anyone knows of a tool that might be less request-oriented that
 maybe even know how to interpret TP's parameters?

 * If small logging statements were to be added to the .java pages,
 which would be the method(s) to add the logging to? pageBeginRender is
 the obvious candidate here, but that would only take into account
 rendering, without form submitting and component render cycles...

 * Is there a way to, through configuration, improve Tapestry's reading
 of these kind of statistics? I'm thinking maybe friendly URLs, but
 there might be other answers...

 * How to really determine how much time Tapestry is taking in doing
 its job? For example, he tool is displaying a cumulative time of 4.61
 seconds for /app_name/app, but an exclusive time (meaning the time
 that the method spends by itself, without the accessories) of 0.025
 seconds. Now that sounds great, but does it seem logical? I mean,
 maybe some other components should be taken into account.

 * Anyone knows if Spring's methods to invoke and instantiate EJBs are
 slow? The tool says that it can take as much as 2 seconds to do so!!
 Maybe another place where traditional monitoring lacks?

 Regards,

 Dario

 --
 Some weasel took the cork out of my lunch.
   -- W.C. Fields

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



James Carman, President
Carman Consulting, Inc.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







--
Some weasel took the cork out of my lunch.
 -- W.C. Fields

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Thoughts about performance monitoring in Tapestry

2006-10-09 Thread Darío Vasconcelos

Great replies!!

Konstantin,
creating a Filter is a good idea. I'll see if this can be implemented.
This tool I'm using is not really a profiler, but a complete solution
that hooks itself into the app server and monitors all method
invocation -with its correspondent times- into a database. For the app
I'm testing, I have more than 1,000 different method calls, although
only two main HTTP requests. There is a request tree that shows the
possible paths the requests have taken. And the times it is reporting
are pretty close to the users' perception: 5.5 seconds / average.

Mark,
you have a very good point about measuring each individual page; my
problem is that the app is already in production, there is no test
environment, and all measures were taken in one regular day -the
profiler slowed things very much-. Nevertheless, all method calls have
been logged, with call count, average cumulative time, avg exclusive
time, etc. This is very data since calls to Spring's
JdkDynamicAopProxy.invoke are taking as far as 2 seconds each! And
this is exclusive time, which means it doesn't take into account the
time inside the actual object that is being called...

My main issue here is that it needs to be proven that Tapestry is not
to blame for the slowness, and that having page information for the
request analyzer would be great...

Regards,

Dario

BTW, I cannot find information about JdkDynamicAopProxy being slow...
I'm not such an expert on Spring, anyone knows if this might be a
configuration issue?

On 10/9/06, Mark Stang [EMAIL PROTECTED] wrote:

Well, then someone should change the text to say shell rendering time.

Well, I hope his profiler shows the elapsed time for the method.  Since there 
is are specific entry points he can profile those.

Mark

Mark J. Stang
Senior Engineer/Architect
office: +1 303.468.2900
mobile: +1 303.507.2833
Ping Identity



-Original Message-
From: Konstantin Ignatyev [mailto:[EMAIL PROTECTED]
Sent: Mon 10/9/2006 4:21 PM
To: Tapestry users
Subject: RE: Thoughts about performance monitoring in Tapestry



--- Mark Stang [EMAIL PROTECTED] wrote:

 
 The time spent in each page is at the bottom of each
 page.  Each page logs how long it took to render
 itself.

 For one page:
 !-- Render time: ~ 1190 ms --

 And for another:
 !-- Render time: ~ 209 ms --


 However, that is a total time,



Please look up old discussions regarding those numbers
on gname, in short: the numbers have nothing to do
whatsoever with real rendering time.
See for example Howard's post
http://article.gmane.org/gmane.comp.java.tapestry.user/15280/match=render+time



Konstantin Ignatyev




PS: If this is a typical day on planet earth, humans will add fifteen million 
tons of carbon to the atmosphere, destroy 115 square miles of tropical 
rainforest, create seventy-two miles of desert, eliminate between forty to one 
hundred species, erode seventy-one million tons of topsoil, add 2,700 tons of 
CFCs to the stratosphere, and increase their population by 263,000

Bowers, C.A.  The Culture of Denial:  Why the Environmental Movement Needs a 
Strategy for Reforming Universities and Public Schools.  New York:  State 
University of New York Press, 1997: (4) (5) (p.206)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







--
Some weasel took the cork out of my lunch.
 -- W.C. Fields

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: BeanForm for TP3?

2006-09-25 Thread Darío Vasconcelos

Thanks Daniel,

I didn't recognize the title of my own post (duh!) and didn't notice
you had replied to it. I will search the list and try to do the
backport. Losing automatic validations and other stuff doesn't worry
me that much; I'm assembling a team of Tapestry newbies for a project
I'm starting and they're having a hard time climbing the learning
curve... so I thought maybe BeanForm would speed development, if not
helped them to understand TP a little more

Regards,

Dario


On 9/20/06, DJ Gredler [EMAIL PROTECTED] wrote:

I don't have plans to backport it to Tap3, mainly because I don't use Tap3
and because I don't have any experience using Tap3.

There has been some interest from others on this list in doing a backport
(search the list), so you might want to get together to tackle it. It's
Apache2-licensed, so nothing stops you. The only thing is that the next
version or two will still be pretty large improvements over previous
iterations, so keeping in sync with the original codebase might be an issue.

I assume you realize that you'd have to eliminate some of the nicer features
(like automatic validation generation based on annotations) in order to
target older JDKs.

Take care,

Daniel


On 9/20/06, Darío Vasconcelos [EMAIL PROTECTED] wrote:

 Hi,

 since recently someone mentioned the BeanForm component, I've been
 reading about it and wondering if there's a version for Tapestry 3,
 because I'm still stuck with old JDKs and app servers...

 In case there isn't such thing, would a backport be possible? Too much
 hard work? I haven't really gotten into all the annotation and
 HiveMind stuff and it looks kinda complicated from here...

 Regards,

 Dario


 --
 Some weasel took the cork out of my lunch.
   -- W.C. Fields

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]







--
Some weasel took the cork out of my lunch.
 -- W.C. Fields

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



BeanForm for TP3?

2006-09-19 Thread Darío Vasconcelos

Hi,

since recently someone mentioned the BeanForm component, I've been
reading about it and wondering if there's a version for Tapestry 3,
because I'm still stuck with old JDKs and app servers...

In case there isn't such thing, would a backport be possible? Too much
hard work? I haven't really gotten into all the annotation and
HiveMind stuff and it looks kinda complicated from here...

Regards,

Dario


--
Some weasel took the cork out of my lunch.
 -- W.C. Fields

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]