Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Test and Performance Tools Platform (TPTP) » Getting trace infromation?
Getting trace infromation? [message #29058] Wed, 31 August 2005 18:19 Go to next message
Eclipse User
Originally posted by: dacostae.ciudad.com.ar

Hi everybody.

I'm trying to do the following thing: I need to make my plug-in that
analyze the trace of an excecution to detect posible causes of malfunction
based on components' responsabilities.
The questions are:
- How can I get the trace information? (Information that appears in the
UML2 Interaction Diagram view would be enough)
- How can I choose/generate/change a Profilig Set (Run Configuration)
programmaticaly from my plug-in?

Any help will be wellcomed, extension points to look at, api info,
examples, suggestions, ideas, anything.

thanks a lot!

Enrique
Re: Getting trace infromation? [message #29161 is a reply to message #29058] Thu, 01 September 2005 16:19 Go to previous messageGo to next message
Eclipse User
Originally posted by: Navid_Mehregani-_nmehrega.ca.ibm.com

This is a multipart message in MIME format.
--=_alternative 0059A2C58525706F_=
Content-Type: text/plain; charset="US-ASCII"

Hi Enrique,

I'm not exactly sure why you want to change the profiling sets
"programmatically" from your plug-in. That's not a trivial thing to do
and I
don't recommend it. However, if you do find it necessary, look into the
org.eclipse.hyades.ui and org.eclipse.hyades.execution.trace modules.
If you debug the PDCoreUtil class, you'll see how the options are being
setup and passed to the launch/attach functions.

It should be possible for you to generate the UML2 interaction diagrams
for your plug-in by profiling a runtime instance of your workbench. You'll
need to
select the "Execution History - Full Graphical Detail" profiling set to
get the UML2 diagrams. Profiling the workbench can be a bit slow,
especially if you select
the graphical options so make sure you filter out any of the data you're
not interested in.

Navid Mehregani
IBM Canada
--=_alternative 0059A2C58525706F_=
Content-Type: text/html; charset="US-ASCII"


<br><font size=2 face="sans-serif">Hi Enrique,</font>
<br>
<br><font size=2 face="sans-serif">I'm not exactly sure why you want to
change the profiling sets &quot;programmatically&quot; from your plug-in.
&nbsp;That's not a trivial thing to do and I</font>
<br><font size=2 face="sans-serif">don't recommend it. &nbsp;However, if
you do find it necessary, look into the org.eclipse.hyades.ui and org.eclipse.hyades.execution.trace
modules.</font>
<br><font size=2 face="sans-serif">If you debug the PDCoreUtil class, you'll
see how the options are being setup and passed to the launch/attach functions.</font>
<br>
<br><font size=2 face="sans-serif">It should be possible for you to generate
the UML2 interaction diagrams for your plug-in by profiling a runtime instance
of your workbench. &nbsp;You'll need to</font>
<br><font size=2 face="sans-serif">select the &quot;Execution History -
Full Graphical Detail&quot; profiling set to get the UML2 diagrams. &nbsp;Profiling
the workbench can be a bit slow, especially if you select</font>
<br><font size=2 face="sans-serif">the graphical options so make sure you
filter out any of the data you're not interested in.</font>
<br>
<br><font size=2 face="sans-serif">Navid Mehregani</font>
<br><font size=2 face="sans-serif">IBM Canada</font>
--=_alternative 0059A2C58525706F_=--
Re: Getting trace infromation? [message #29199 is a reply to message #29161] Thu, 01 September 2005 18:46 Go to previous messageGo to next message
Eclipse User
Originally posted by: dacostae.ciudad.com.ar

thank you for the information.

I think I wasn't clear enough. I have already seen the UML diagrams, but
what I actually need is to get the information that is represented there
form my plugin and do some processing.

Thanks again. Please excuse me for my english.

Enrique
Re: Getting trace infromation? [message #29275 is a reply to message #29199] Thu, 01 September 2005 20:51 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 404
Registered: July 2009
Senior Member
It appears that you need to dynamically be able to control the profiling
agent that is profiling your plug-in. That's probably a doable task but not
a trivial one.

I'm not sure whether you are aware of the data entities and channels of
TPTP, so here's a quick rundown of what happens when you profile an
application:



1) Eclipse workbench which includes TPTP makes a request to the Agent
Controller to start profiling a particular application

At this stage, the workbench is acting as a client and requesting a service.
It is also at this stage that the configuration of the agent is sent.

2) The launched profiling agent (i.e. PiAgent) launches the application and
reports statistical data to the agent controller

3) The agent controller redirects all data to its client that requested the
service

4) The workbench takes the data and uses loaders to load the data in EMF
models

5) The views get populated based on the EMF models



It makes sense for you to write your own little agent controller client
(just as in step 1). It also makes sense to collect the raw data that is
sent from the PiAgent as opposed to the EMF model data that the UML 2 views
use. This way you can programmatically have control over the piagent. For
example you can determine when it should be started, what configurations
should be sent to it, when it should be detached, and when it should be
re-attached with new configurations.



Alternatively, if you did not have to change the configuration of the
piagent in the middle of its execution, you could have profiled your
application to a file and read in the file to monitor the health of your
plug-in. (there is a convenient way of profiling trace data to file in the
configuration launch wizard).



I would try the plug-ins and class files that Navid has noted as starting
points for your project.


"Enrique da Costa Cambio" <dacostae@ciudad.com.ar> wrote in message
news:b6c52c48cc1aafb144166e53aebb6807$1@www.eclipse.org...
> thank you for the information.
>
> I think I wasn't clear enough. I have already seen the UML diagrams, but
> what I actually need is to get the information that is represented there
> form my plugin and do some processing.
>
> Thanks again. Please excuse me for my english.
>
> Enrique
>
Re: Getting trace infromation? [message #29351 is a reply to message #29161] Thu, 01 September 2005 21:51 Go to previous message
Marius Slavescu is currently offline Marius Slavescu
Messages: 67
Registered: July 2009
Member
This is a multi-part message in MIME format.

------=_NextPart_000_0064_01C5AF1D.CA34D6A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Enrique,

If you want to get access to the =
org.eclipse.hyades.models.trace.TRCProcess (which is the root of the the =
profiling trace used in the trace views including interaction diagrams) =
you could take a look at =
/org.eclipse.hyades.use.cases/src/org/eclipse/hyades/use/cas es/junit/mode=
ls/test/TraceAndLogModelTest.java - loadTraceModel method - for a =
standalone example or if you run the TPTP UI you could listen for =
different kinds of selection change events that come from the Profiling =
Monitor or the other trace views (see =
org.eclipse.hyades.trace.ui.UIPlugin add* methods).

Please let me know if you need more info.

Regards,
Marius
<Navid_Mehregani-_nmehrega@ca.ibm.com> wrote in message =
news:df79ln$o68$1@news.eclipse.org...

Hi Enrique,=20

I'm not exactly sure why you want to change the profiling sets =
"programmatically" from your plug-in. That's not a trivial thing to do =
and I=20
don't recommend it. However, if you do find it necessary, look into =
the org.eclipse.hyades.ui and org.eclipse.hyades.execution.trace =
modules.=20
If you debug the PDCoreUtil class, you'll see how the options are =
being setup and passed to the launch/attach functions.=20

It should be possible for you to generate the UML2 interaction =
diagrams for your plug-in by profiling a runtime instance of your =
workbench. You'll need to=20
select the "Execution History - Full Graphical Detail" profiling set =
to get the UML2 diagrams. Profiling the workbench can be a bit slow, =
especially if you select=20
the graphical options so make sure you filter out any of the data =
you're not interested in.=20

Navid Mehregani=20
IBM Canada
------=_NextPart_000_0064_01C5AF1D.CA34D6A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1515" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>
<DIV>Enrique,</DIV>
<DIV>&nbsp;</DIV>
<DIV>If you want to get access to the =
org.eclipse.hyades.models.trace.TRCProcess=20
(which is the root of the the profiling trace used in the trace views =
including=20
interaction diagrams) you could take a look at=20
/org.eclipse.hyades.use.cases/src/org/eclipse/hyades/use/cas es/junit/mode=
ls/test/TraceAndLogModelTest.java=20
- loadTraceModel method - for a standalone example or if you run the =
TPTP UI you=20
could listen for different kinds of selection change events that come =
from the=20
Profiling Monitor or the other trace&nbsp;views (see=20
org.eclipse.hyades.trace.ui.UIPlugin add* methods).</DIV>
<DIV>&nbsp;</DIV>
<DIV>Please let me know if you need more info.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Regards,</DIV>
<DIV>Marius</DIV></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>&lt;<A=20
=
href=3D"mailto:Navid_Mehregani-_nmehrega@ca.ibm.com">Navid_Mehregani-_nme=
hrega@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:df79ln$o68$1@news.eclipse.org">news:df79ln$o68$1@news.eclips=
e.org</A>...</DIV><BR><FONT=20
face=3Dsans-serif size=3D2>Hi Enrique,</FONT> <BR><BR><FONT =
face=3Dsans-serif=20
size=3D2>I'm not exactly sure why you want to change the profiling =
sets=20
"programmatically" from your plug-in. &nbsp;That's not a trivial thing =
to do=20
and I</FONT> <BR><FONT face=3Dsans-serif size=3D2>don't recommend it.=20
&nbsp;However, if you do find it necessary, look into the=20
org.eclipse.hyades.ui and org.eclipse.hyades.execution.trace =
modules.</FONT>=20
<BR><FONT face=3Dsans-serif size=3D2>If you debug the PDCoreUtil =
class, you'll see=20
how the options are being setup and passed to the launch/attach=20
functions.</FONT> <BR><BR><FONT face=3Dsans-serif size=3D2>It should =
be possible=20
for you to generate the UML2 interaction diagrams for your plug-in by=20
profiling a runtime instance of your workbench. &nbsp;You'll need =
to</FONT>=20
<BR><FONT face=3Dsans-serif size=3D2>select the "Execution History - =
Full=20
Graphical Detail" profiling set to get the UML2 diagrams. =
&nbsp;Profiling the=20
workbench can be a bit slow, especially if you select</FONT> <BR><FONT =

face=3Dsans-serif size=3D2>the graphical options so make sure you =
filter out any=20
of the data you're not interested in.</FONT> <BR><BR><FONT =
face=3Dsans-serif=20
size=3D2>Navid Mehregani</FONT> <BR><FONT face=3Dsans-serif =
size=3D2>IBM=20
Canada</FONT></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0064_01C5AF1D.CA34D6A0--
Previous Topic:Where to begin?
Next Topic:TPTP and GUI Testing
Goto Forum:
  


Current Time: Wed Sep 17 07:36:06 GMT 2014

Powered by FUDForum. Page generated in 0.01758 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software