incubator-kato-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stuart Monteith <stuk...@stoo.me.uk>
Subject Re: Incubator quarterly report
Date Mon, 29 Mar 2010 09:22:07 GMT
Hello,
     Sorry it has taken so long to get back to the mailing list. I tried 
answering most of the questions. I will be AFK from today
until the 8th, but I know Steve will be around.

Thanks again,
     Stuart


Robert Burrell Donkin wrote:
> On Fri, Mar 5, 2010 at 3:07 PM, Stuart Monteith<stukato@stoo.me.uk>  wrote:
>    
>> Hello everybody,
>>     I've written this years first quarterly report to the Incubator project.
>> It is here:
>>     http://wiki.apache.org/incubator/March2010#Kato
>>
>> Please have a read and let me know what you believe is in error or missing.
>>
>> The report is due to be completed by Wednesday 10th.
>>      
> sign offb
>
> good excuse for pushing on with community building. let's start with
> the website. it's fine for a project that's under the radar but kato
> needs to start working now to attract a broader community.
>
> here's some questions to get everyone started. just jump in and answer
> any that seem interesting. the exercise is more important than the
> questions themselves so they don't all need to be answered.
>
> ---
>
> "Kato is an Apache Incubator podling and JSR that exists to develop a
> standard Java API (JSR-326) designed to support the generation and
> consumption of post mortem or snapshot Java diagnostic artefacts."
>
> What does this mean? Take three paragraphs to explain ;-)
>    
The Apache Kato project aims to give Java Developers more options for 
solving problems
with Java programs. Currently Java developers rely on logs and trace, 
attaching interactive debuggers,
and having special code for generating diagnostic information. 
Traditionally developers were able, in addition
to the techniques previously mentioned, to also read dumps, core files, 
using interactive debuggers. Kato will
allow that, and more.

The Apache Kato project's aim is primarily to develop a standardized API 
that will allow Java programs to access
dumps generated by Java virtual machines.

Java developers are, generally, not used to using dumps with Java. Core 
files are files generated by the operating system
when an error condition was detected, and allow a debugger to 
reconstruct the state of a process when the error
occurred. In addition, it is possible to generate core files without 
there being an error condition.


> Give 3 example use cases for Kato 2.0
>    
Performance.
More professional tooling with improved usability.
Giving the user a simpler experience.

Although, I'm unsure that that would justify a "2.0" release.

> Why is post mortem interesting and important?
>    
Post mortem dump analysis is interesting as currently Java programmers, 
in general, don't use it for debugging
problems much beyond out of memory errors. C programmers are much more 
used to this.
  Debugging problems on big machines is hard. People will realize they 
can't debug like they used to.
Uptime is important - analysing problems without downtime important.
> Describe generation of post mortem or snapshot Java diagnostic
> artefacts without using jargon and give 3 key use cases.
>    
A Java Virtual Machine (JVM) when running programs can generate 
diagnostic artifacts for different reasons,
and in each case could generate different types of artifact.
For example, if the program that is the JVM has a bug and crashes, or 
some JNI code it executes crashes, then a core
file could be generated. This core file could be analysed and the JVM 
state extracted, for example all of the classes and objects.
Another example of dump generation is the "hprof" format. If the JVM 
runs out of memory for storing objects, it can generate a
.hprof file that describes the state of the JVM. Alternatively, the 
hprof agent, a plugin that expands the functionality of the JVM, that
can generate hprof files on cue from a keypress on the console.

The diagnostic artifacts can be used for the following purposes:

1. Offline debugging a dump with an interactive java debugger.
2. First failure data capture - detecting errors and dumping program 
state for later analysis.
3. Dump Analyzer - sophisticated remedial application analysis.Describe 
consumption of post mortem or snapshot Java diagnostic
>    
> What would be the 5 most important definitions in a JSR-326 glossary?
>
>    
dump - a file into which program state has been  indiscriminately put 
for later processing and interpretation.
diagnostic artifact - A file generated by or on behalf of a Java Virtual 
Machine to aid diagnosis of problems with a program's state.
post-mortem - After the fact, after an error condition, after the death 
of a program or it's Java Virtual machine.
snapshot (v & n) - (verb) To initiate the dump of  a Java Virtual 
Machine's state. (noun) A dump, a diagnostic artifact,
     a representation of a program's state in an single instant.
cross-platform - Able to function across different hardware 
architectures and operating systems. For example, a diagnostic artifact 
generated on a
     windows x86 machine could be analysed on a SPARC architecture 
machine running Solaris.
> Milestone 1
> * Who should be interested in:
>     * reading about what it can do it?
>    
Anyone interested in debugging on Java.
>     * taking it for a spin?
>    
Existing participants in Apache Kato and JSR-326
>     * seriously using it?
>    
Nobody.
> * What are the 5 most interesting features?
> * What are the 3 more likely FAQs?
> * Describe the archetypical user
>
>    


> Milestone 2 (No promises required)
> * Who should be interested in:
>     * reading about what it can do it?
>     * taking it for a spin?
>     * seriously using it?
> * What will be the 3 most interesting reasons to upgrade?
> * When will it be available?
> * What are the 3 more likely FAQs?
>
> (just think about current and next milestones)
>
> ----
>
> Release  1.0  (When it's ready, no promises required ;-)
> * Who should be interested in:
>     * reading about what it can do it?
>     * taking it for a spin?
>     * seriously using it?
>    
Audience: Not your typical end user or programmer.
     Primarily

> * What will be the 3 most interesting reasons to upgrade?
> * When will it be available?
> * What are the 10 more likely FAQs?
> * Describe 3 archetypical users
>
> ----
>
> JSR-326  (When it's ready, no promises required ;-)
> * Who should be interested in:
>     * reading the specification?
>     * using an implementation?
> * What will be the 10 most interesting features?
> * When will it be available?
> * Describe 5 archetypical users
>
> ----
>
> - robert
>    

-- 
Stuart Monteith
http://blog.stoo.me.uk/


Mime
View raw message