I'm unsure why debug/bundleTime is not suitable for you to figure out long
running bundle activators.  The monitor/lazy option only prints stack
traces for lazy activated bundles (see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=431491).  I don't recall what
trace/activation did in the past, but I can imagine it printed stacks for
all bundle activations regardless of lazy activation.  Like I said it was
buried in some complicated code that I must admit I did not write or
maintain and as a result was happy to get rid of :)

No this is not in the migration guide.  It could go in there, but I never
thought we treated our trace options as API so I had not considered writing
a migration guide for when we change them.  I'm pretty sure this is not the
first time a trace option has been removed or changed in eclipse/equinox.
Do we know if there have been migration guide entries for past changes to
trace options?

Tom





From:   "Oberhuber, Martin" <[email protected]>
To:     Equinox development mailing list <[email protected]>
Date:   07/16/2014 12:47 PM
Subject:        Re: [equinox-dev] How to measure and improve Eclipse 4.4
            Statup      Performance ?
Sent by:        [email protected]



Hi Tom,

Many thanks for your quick response !

On more testing, the incorrect “Application Started:” message looks like an
issue in the Java Runtime : With Java 7u51 it seems that on computer cold
start (right after reboot), the RuntimeMXBean#getUptime() method lies … in
my case, it takes the JRE 5 seconds to boot up, only then it brings up the
splash screen and uptime starts counting. I’ll do slightly more
investigation and might file a bug against Java since as a user, I need
startup performance end-to-end. Anyways I can find a workaround for that.

The lack of the trace/activation option is a real problem IMO. We had used
that lots of times to understand why unexpected bundle activation happened.
But it seems that org.eclipse.osgi/monitor/lazy is a replacement, can you
confirm ? And if yes, is this documented in a migration guide ?
http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/bundles/org.eclipse.osgi/.options?id=848b9004c041433200cc93227ad95dafc1f83a82


On timing, it’s true that we never had nanosec accuracy in the past, but
Jeff McAffer had requested it in Bugzilla’s (that’s where I go the idea
from). Computers have become faster, and in my tracing I see lots of bundle
times just as “0” … assuming LOTS of bundles with “0” millisec each might
easily add up to noticeable delay. But it’s not a big concern of mine, and
looking at StackOverflow it seems that System.nanoTime() has to be consumed
with caution so it might be better to stay away from that.

Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
direct +43.662.457915.85  fax +43.662.457915.6

      From: [email protected] [
      mailto:[email protected]] On Behalf Of Thomas Watson
      Sent: Monday, July 14, 2014 8:02 PM
      To: Equinox development mailing list
      Subject: Re: [equinox-dev] How to measure and improve Eclipse 4.4
      Statup Performance ?



      I would be good to get a bug open to discuss your requirements or
      observed bugs to find a fix.

      You are correct that we removed some internals from equinox in luna
      that were adding to the overall size and complication of the
      framework.  Much, if not all of the removed functionality could be
      implemented on top of the framework using either standard OSGi APIs
      or a framework extension.  But we did not put additional work into
      the runtime spy to migrate to use something else other than the
      removed internals.  I suggest a separate bug against Eclipse->Runtime
      for that since that bundle has never been part of Equinox.  Or
      actually built by the eclipse/equinox builds.

      I'm not sure what you are describing for the Application Started:
      message.  The messages for that seem to be identical to the way they
      were in kepler and also seem to be accurately displayed once the
      splash screen is brought down.  If you are saying the time between
      when the splash screen is taken down until when you see the UI is
      taking 5 seconds then we have a real UI issue here and that should be
      brought up with the Eclipse-UI folks (but that is not my observation
      locally).

      The trace/activation option is no longer supported in the framework
      itself.  That would need to be done on top of the framework.

      If you think debug/bundleTime should use nano-seconds then a separate
      bug is appropriate.  Although I would be surprised if the previous
      timings recorded in Kepler used nano-seconds, so I am not sure why
      this timing is useless compared to the timings you could gather
      before.

      Overall: I am not keen on adding any of this back by default directly
      in the framework implementation.  It all should be done on top in
      order to keep the internals of the framework more simple.

      Tom



      Inactive hide details for "Oberhuber, Martin" ---07/14/2014 12:26:15
      PM---Dear Equinox Committers, As we've been upgrading our "Oberhuber,
      Martin" ---07/14/2014 12:26:15 PM---Dear Equinox Committers, As we've
      been upgrading our eclipse-based product to Luna, I wanted to vali

      From: "Oberhuber, Martin" <[email protected]>
      To: "[email protected]" <[email protected]>
      Date: 07/14/2014 12:26 PM
      Subject: [equinox-dev] How to measure and improve Eclipse 4.4 Statup
      Performance ?
      Sent by: [email protected]




      Dear Equinox Committers,

      As we’ve been upgrading our eclipse-based product to Luna, I wanted
      to validate that our startup performance is still good:

            ·         get an *exact* measurement for the wallclosck time
            Eclipse takes from double clicking eclipse.exe to seeing the
            UI,
            ·         get activation traces, such that I can debug reasons
            for bundle activations that are unexpected,
            ·         get some per-bundle timing information to understand
            which bundles contribute most to startup time.

      In the past, all that was possible using –debug org.eclipse.osgi
      tracing options, plus Core Tools runtime spy. But it looks like ALL
      of the infrastructure is now broken in Luna:

            1.       BundleStats are no longer collected for usage in
            Runtime Spy – looks like this feature was just removed:
            https://bugs.eclipse.org/bugs/show_bug.cgi?id=412502
            As a result, the Runtime Spy looks pretty much useless –
            there’s no data in the “Runtime Spy” perspective at all even
            though monitoring is enabled.
            2.       The org.eclipse.osgi/trace/activation=true tracing
            option doesn’t print activation stack traces to
            “runtime.traces” any more (is this just a bug / oversight or am
            I doing something wrong?)
            3.       The Application Started: <timestamp> output which we
            get with –debug –consoleLog does not seem to be accurate any
            more. Measuring wallclock time, Eclipse is on average 5 seconds
            slower than indicated by the timestamp.

      Reading the docs, I found a reference to the newly introduced
      debug/bundleTime tracing option, but I’m unsure how to interpret the
      data; it also seems to be very inexact and thus useless to me
      (getting nanosecond resolution would be good
      when available).

      Is there any new infrastructure available to get me the data I need ?
      How do others measure and improve startup performance ?
      Shall I just file defects for the regressions observed ?

      Thanks,
      Martin
      --
      Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind
      River
      direct +43.662.457915.85  fax +43.662.457915.6
       _______________________________________________
      equinox-dev mailing list
      [email protected]
      To change your delivery options, retrieve your password, or
      unsubscribe from this list, visit
      https://dev.eclipse.org/mailman/listinfo/equinox-dev
      _______________________________________________
      equinox-dev mailing list
      [email protected]
      To change your delivery options, retrieve your password, or
      unsubscribe from this list, visit
      https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to