Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [incquery-dev] xcore & eiq status

Can someone run a profiler (e.g. the Java Mission Control http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html which is part of Oracle’s JDK, or YourKit) against the builder scenario to find out who is burning the CPU?


On 07 Apr 2014, at 14:21, Ujhelyi Zoltán <ujhelyiz@xxxxxxxxxx> wrote:

> Hi,
> 
> thanks for the trace. For future reference, I have attached it to the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=428015.
> 
> I checked the trace itself, and my findings are twofolds:
> - The NPE thrown in the type provider is clearly erroneous. I have pushed a (quick) fix to the master.
> - After the NPEs the builder seems to legitimately called multiple times:
>  1. The change in the metamodel triggered  a rebuild of the domain, edit, editor projects (Java)
>  2. The change in the metamodel invalidated the eiq file.
>  3. The eiq file change did not cause a rebuild for the Xcore.
> 
> In other words, either this exception siderailed the builder (in that case it is fixed), or if I understood the trace correctly, I don't really see a way to largely reduce the number of required builds because of the circular dependencies between the xcoreiq and the eiq files.
> 
> Cheers,
> Zoli
> -- Zoltán Ujhelyi
> https://www.inf.mit.bme.hu/en/members/ujhelyiz
> 
> Fault Tolerant Systems Research Group
> Budapest University of Technology and Economics
> 
> On 2014.04.07., at 12:57, Tamás Szabó <tamas.szabo@xxxxxxxxx> wrote:
> 
>> Ok. Regarding point (3), find attached the output of the tracing for the problematic editing scenario.
>> 
>> 2014.04.07. 11:48 keltezéssel, Ujhelyi Zoltán írta:
>>> Thanks for checking it. About Eds comment, I repeat myself: "We have said to work amongst the first part; I have tried to look at how EMF does its things, but did not have the time to finish it yet."
>>> 
>>> Zoli
>>> On 2014.04.07., at 11:46, Tamás Szabó <tamas.szabo@xxxxxxxxx> wrote:
>>> 
>>>> Regarding plugin.xml content generation:
>>>> I found out (again) that the problem is with the way we modify the contents of the plugin.xml.
>>>> The Ecore annotation will not have effect, because the original generated_package extension point lacks the @generated annotation once the IncQuery builder has worked on it.
>>>> Ed pointed out the following method: org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.mergePluginXML(String, String, String). Something similar should be used so that the annotation is kept intact.
>>>> 
>>>> 2014.04.06. 9:49 keltezéssel, Ujhelyi Zoltán írta:
>>>>> Hi,
>>>>> 
>>>>> Bug 419704 is not solved yet. It will require either throwing out the entire PDE-based plugin.xml loading, or accessing PDE internal stuff to work. We have said to work amongst the first part; I have tried to look at how EMF does its things, but did not have the time to finish it yet.
>>>>> 
>>>>> About (3): I would really like to have some data available of this problematic case.
>>>>> 
>>>>> Tamás: could you please turn on the tracing support of the platform in your run configuration for builders and execute the problematic case? The result would help a lot for determining why are we so slow.
>>>>> 
>>>>> I am attaching a screenshot with my corresponding settings (what is not visible, is not checked on the tracing page). If everything works, the log should contain some information like follows:
>>>>> 
>>>>> Sun Apr 06 09:44:33 CEST 2014 - [Worker-3] Invoking (INCREMENTAL_BUILD) on builder: XtextBuilder(headlessQueries.incquery; [])
>>>>> Sun Apr 06 09:44:33 CEST 2014 - [Worker-3] Computing delta for project: headlessQueries.incquery
>>>>> Sun Apr 06 09:44:33 CEST 2014 - [Worker-3] Finished computing delta, time: 1ms
>>>>> Sun Apr 06 09:44:33 CEST 2014 - [Worker-3] /headlessQueries.incquery[*]: {}
>>>>> Sun Apr 06 09:44:33 CEST 2014 - [Worker-3] Builder finished: XtextBuilder(headlessQueries.incquery; []) time: 2ms
>>>>> 
>>>>> Cheers,
>>>>> Zoli
>>>>> -- Zoltán Ujhelyi
>>>>> https://www.inf.mit.bme.hu/en/members/ujhelyiz
>>>>> 
>>>>> Fault Tolerant Systems Research Group
>>>>> Budapest University of Technology and Economics
>>>>> <Mail Attachment.png>
>>>>> On 2014.04.05., at 17:53, Istvan Rath <rath@xxxxxxxxxx> wrote:
>>>>> 
>>>>>> Thanks for investigating this.
>>>>>> 
>>>>>> Zoli, did we do anything about the (problematic) plugin.xml generation? The last comment on https://bugs.eclipse.org/bugs/show_bug.cgi?id=419704 is from october last year. This might explain (2).
>>>>>> 
>>>>>> We also have a bugzilla (https://bugs.eclipse.org/bugs/show_bug.cgi?id=428015) that might be related to (3). Tamas, can you run a profiler to check what is taking a long time in this case?
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 05 Apr 2014, at 11:32, Tamás Szabó <tamas.szabo@xxxxxxxxx> wrote:
>>>>>> 
>>>>>>> Hi
>>>>>>> 
>>>>>>> A quick overview about the status of the xcore stuff:
>>>>>>> (1) The @Ecore annotation doesn't seem to have any effect. If you specify a custom URI, it will not be written to the plugin.xml.
>>>>>>> It is also interesting, that the runtime Xtext index contains the EPackage with the new custom URI. The original import in the
>>>>>>> eiq files with the package URI "library" will not be valid anymore, you can (and should) use the new one, even if the plugin.xml contains the wrong entry.
>>>>>>> This needs to be investigated with the help of Ed.
>>>>>>> (2) I am not sure about the plugin.xml rewriting problems, I cant reproduce it deterministically. I tried to erase all the contents of the plugin.xml and invoke the builder again, and the contents have been written properly. Nevertheless, a full clean usually will result in the absence of the gen_package extension point definition and the query specification extension points. The derived feature extension points are always generated.
>>>>>>> (3) Performance can be really poor in the xcore & EIQ scenario. Simply adding a new pattern will result in a long building time.
>>>>>>> (4) When we reach the point that everything is generated properly into the plugin.xml, then the generated use case works just fine!
>>>>>>> 
>>>>>>> I will address (1), but I am going to need help with (2).
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Tomi
>>>>>>> _______________________________________________
>>>>>>> incquery-dev mailing list
>>>>>>> incquery-dev@xxxxxxxxxxx
>>>>>>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
>>>>>> Istvan Rath, PhD
>>>>>> Research Fellow
>>>>>> Fault Tolerant Systems Research Group
>>>>>> Budapest University of Technology and Economics
>>>>>> rath@xxxxxxxxxx
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> incquery-dev mailing list
>>>>>> incquery-dev@xxxxxxxxxxx
>>>>>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> incquery-dev mailing list
>>>>> 
>>>>> incquery-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
>>>> -- 
>>>> Tamás Szabó
>>>> Software Engineer
>>>> 
>>>> Tel.:   +49 711 342 191 0
>>>> Fax.:   +49 711 342 191 29
>>>> Mobil:  +49 171 565 416 9
>>>> Web:
>>>> www.itemis.de
>>>> 
>>>> Mail:
>>>> tamas.szabo@xxxxxxxxx
>>>> 
>>>> Skype:  szabta89
>>>> 
>>>> itemis AG
>>>> Niederlassung Süd
>>>> Meitnerstr. 10
>>>> 70563 Stuttgart
>>>> 
>>>> Rechtlicher Hinweis:
>>>> Registergericht: Amtsgericht Dortmund HRB 20621 | Sitz der Gesellschaft:
>>>> Lünen
>>>> Vorstand: Jens Wagener (Vorsitzender) | Wolfgang Neuhaus | Dr. Georg
>>>> Pietrek | Jens Trompeter | Sebastian Neus
>>>> Aufsichtsrat: Prof. Dr. Burkhard Igel (Vorsitzender) | Stephan Grollmann
>>>> | Michael Neuhaus
>>>> 
>>>> _______________________________________________
>>>> incquery-dev mailing list
>>>> incquery-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
>>> _______________________________________________
>>> incquery-dev mailing list
>>> incquery-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
>> 
>> -- 
>> Tamás Szabó
>> Software Engineer
>> 
>> Tel.:   +49 711 342 191 0
>> Fax.:   +49 711 342 191 29
>> Mobil:  +49 171 565 416 9
>> Web:    www.itemis.de
>> Mail:   tamas.szabo@xxxxxxxxx
>> Skype:  szabta89
>> 
>> itemis AG
>> Niederlassung Süd
>> Meitnerstr. 10
>> 70563 Stuttgart
>> 
>> Rechtlicher Hinweis:
>> Registergericht: Amtsgericht Dortmund HRB 20621 | Sitz der Gesellschaft:
>> Lünen
>> Vorstand: Jens Wagener (Vorsitzender) | Wolfgang Neuhaus | Dr. Georg
>> Pietrek | Jens Trompeter | Sebastian Neus
>> Aufsichtsrat: Prof. Dr. Burkhard Igel (Vorsitzender) | Stephan Grollmann
>> | Michael Neuhaus
>> 
>> <tracing_iq.txt>_______________________________________________
>> incquery-dev mailing list
>> incquery-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/incquery-dev
> 
> _______________________________________________
> incquery-dev mailing list
> incquery-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/incquery-dev

Istvan Rath, PhD
Research Fellow
Fault Tolerant Systems Research Group
Budapest University of Technology and Economics
rath@xxxxxxxxxx





Back to the top