[Tim forgot to reply-all]

------------ Forwarded Message ------------
Date: Wednesday, November 10, 2004 2:02 PM -0700
From: Tim Shadel <[EMAIL PROTECTED]>
To: Philip Johnson <[EMAIL PROTECTED]>
Subject: Re: [HACKYSTAT-DEV-L:270] Re: Sharing hacky2004-all information

I've already got it downloading Telemetry charts.  Those are where I
started.  It still needs some cleanup, but it's done in a fairly way.

It's actually quite easy to grab any analysis because of the way your
web UI is setup.  The API is just the URL parameters.  I read the
sensor.properties, like you indicated, but beyond that it's really
simple to get anything.  You've used the same controls to indicate
start and stop dates, so those parameters are easily applied to many
analyses.  The report type is the same way, so I can simply choose
"Chart" on anything.  Project applies to many analyses.  And the
Command is simply the analysis name.

Between those right there I can get: Project Active Time and Active
Time Trend.  If I add the  Telemetry Report and Template Values I've
got any Telemetry analysis I want.  I don't use any of the code from
the Telemetry package, since I'd like to keep its dependencies to only
the URL API and the page setup.  I already have to grab the <map>
element to reproduce the tooltip hover effect you get when you put
your mouse over a data point.  Since I'm already doing that, it's a
small jump to get the HTML from table based analyses.  At that point
I'd be able to get: Project File Time, the sequence analysis stuff,
and many of the extras.  I'm not likely to actually jump into that
now, but it's really not too difficult.

Another easy jump is to provide the Telemetry Expert Analysis, since
we'd just need to pass a string through.

Once it's to a point where you can play with it, I'll let you know.
But I was pretty excited at how easy it was run any analysis given the
standard controls you've used.  I guess it seemed just too easy to get
more than I wanted for a fraction of the price. :-)

Either way, I have been and will continue to focus on Telemetry.

What do you think?

--Tim

On Wed, 10 Nov 2004 10:32:00 -1000, Philip Johnson <[EMAIL PROTECTED]> wrote:




--On Wednesday, November 10, 2004 12:20 PM -0700 Tim Shadel <[EMAIL PROTECTED]> 
wrote:

> On Wed, 10 Nov 2004 08:55:33 -1000, Philip Johnson <[EMAIL PROTECTED]> wrote:
>> Hi Aaron,
>>
>> Yes, that's an excellent, excellent idea, and in fact that's pretty much 
exactly what
>> the hackyMaven project is intended to support. The idea is that 
Maven-generated
>> project websites would (a) run analyses during construction that send data 
to a
>> hackystat server, and then (b) suck charts from Hackystat and display them 
in a
>> reasonable place on the project website.
>>
>> Given that we don't use Maven, at least not yet, it might be nice for us to 
hack
>> something together for hackydevsite. Maybe we can adapt the telemetry viewer 
code to
>> simply download once  day a bunch of jpgs from the hackystat server, rename 
them to
>> something standard, and then build a static page that displays them?
>
> That's exactly the approach I'm taking on hackyMaven.  Since nearly
> all maven goals are truly rooted in Ant tasks, I'm developing a simple
> Ant task that should be able to download any type of analysis to a
> local directory.  What you do with the .jpg or .html files (containing
> the client side map that puts labels over the data points) after the
> download is an open question.
>
> Maven has a second step that generates a coherent project website.
> During that phase I planned to put together the report with all of the
> analyses.  I've been concentrating on the download portion thus far,
> so I haven't jumped into the report design much.  It may also be an
> Ant task that would assemble the pieces into a coherent document.
> Maven often uses a specific DTD for XML docs it'll transform, but it
> may be trivial to allow both a straight HTML or XML output.
>
> That's my current working path.  What do you think?
>
> --Tim

Sounds excellent!  However, rather than create a completely generic analysis 
retriever
(or perhaps as a wrapper over it), I would propose that you create an Ant task
specialized to telemetry chart retrieval, since I think that is going to be the 
target
analysis 99% of the time.  It might look like the following:

<taskdef name="hacky-chart"
classname="org.hackystat.app.maven.ant.HackyTelemetryChartRetriever"/>
<property file="${user.home}/.hackystat/sensor.properties"/>
<hacky-chart host="${HACKYSTAT_HOST}"
             key="${HACKYSTAT_KEY}"
             telemetrychart="ActiveTime-Member"
             project="hacky2004-all"
             intervaltype="Day"
             intervalstart="01-Nov-2004"
             intervalend="07-Nov-2004"
             templatevalues="**"
             outputfile="ActiveTime-Member-Last-Seven-Days.png">
</hacky-chart>

This would login to the host using the key, run the Telemetry Chart Analysis on 
the
associated chart, project, interval, and template values, storing the resulting 
chart
image in the file ActiveTime-Member-Last-Seven-Days.png. Note that the "Report 
Type"
always defaults to "Chart", so that we know we have a file to download.  Each 
time this
example task runs, it will overwrite ActiveTime-Member-Last-Seven-Days.png with 
a new
copy of the image (which is presumably what one would typically want to have 
happen).

Although I hardcoded the dates in this example, in reality the user would 
probably want
to use the <tstamp> task to build the interval dynamically, to do things like 
make the
start date <today minus seven days>, and the end date <today>. That's quite 
simple as
well.

I think you'll find that implementing this is substantially easier than the 
general
case, and will allow you to get an initial version of hackyMaven up and running 
more
quickly. I also think this interface is easier to use and understand than a 
general
Hackystat analysis invoker would be.  Though this version of hackyMaven would be
limited to retrieving individual Telemetry Charts at first, we might find that 
even
this limited functionality satisfies everyone for quite a while.

Comments?

Cheers,
Philip



---------- End Forwarded Message ----------






Reply via email to