Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Eclipse Neon Webinar Automated Error Reporting

437 vues

Publié le

See https://www.youtube.com/watch?v=TDSv9Tm7hGA for live recording of this talk.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Eclipse Neon Webinar Automated Error Reporting

  1. 1. aeri in neon Setting up Automated Error Reporting for your own Eclipse plug-in or Eclipse RCP application neon
  2. 2. about me 
 ! @marcelbruch " marcel.bruch@codetrails.com # de.linkedin.com/in/marcelbruch $ xing.com/profile/Marcel_Bruch
  3. 3. what to take away • With Eclipse Neon, every project can sign up to receive error reports for their plug-ins. • This webinar shows how.
  4. 4. webinar outline 1. Looking back: AERI in Eclipse Mars 2. Hands on: 1. AERI for your Eclipse IDE plug-in 2. AERI for your Eclipse RCP app 3. Set up your free error reporting service in 5’
  5. 5. looking back…
  6. 6. incoming reports 0 20.000 40.000 60.000 80.000 Xmas Mars.0 Mars.1 Mars.2 Last updated: May 30, 2016 Sep. 2014 May 2016
  7. 7. new problems 0 250 500 750 1000 Xmas Mars.0 Mars.1 Mars.2 Last updated: May 30, 2016 Sep. 2014 May 2016
  8. 8. problems by release 0 4.500 9.000 13.500 18.000 Mars.0 Mars.1 Mars.2 11.967 16.266 17.253 Last updated: May 30, 2016
  9. 9. java.lang.* 0 3.500 7.000 NullPointerException ArrayIndexOutOfBoundsIndexOutOfBounds StringIndexOutOfBounds ClassCastExceptionArrayStoreException j.u.ConcurrentModification NumberFormatIllegalArgument IllegalStateRuntimeException LinkageErrorClassNotFound NoClassDefFoundErrorNoSuchMethodError 197 727693 236207 477 1.646 8326653 862 151151 644 6.425
  10. 10. does reporting make a difference?
  11. 11. does reporting make a difference?
  12. 12. setting up aeri for your own plug-ins
  13. 13. two flavors 100% declarative 100% code
  14. 14. 100% declarative plugin.xml discovery.json+ setup
 complete =
  15. 15. plugin.xml
  16. 16. plugin.xml ❷ ❶ ❸ <extension point="org.eclipse.epp.logging.aeri.ide.servers"> <server id="com.ctrlflow" name="Ctrlflow" icon16="icons/obj16/ctrlflow.png" icon32="icons/obj32/ctrlflow.png" class="org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection" description="Presented to the user on the project configuration page"> <!-- Links used in various places in the ui —> <link rel="provider" title="Codetrails GmbH" href="…"/> <link rel="privacy" title="Privacy Policy" href="…"/> <link rel="terms-of-use" title="Terms of Use" href="…"/> <!-- configuration in which errors this project is interested in —> <link rel="discovery" title="Discovery URL" href="…"/> </server>
  17. 17. discovery.json full sources: https://dev.eclipse.org/recommenders/community/confess/v2/discovery { "ttl": 10080, "submitUrl": “https://dev.eclipse.org/recommenders/community/…”, "acceptedProducts": ["org.eclipse.*"], "acceptedPlugins": [“org.apache.log4j.*", “org.eclipse.*"], "requiredPackages": [“org.eclipse.*”], "ignoredStatuses": [ ":java.net.*:", "org.eclipse.equinox.p2.*::", "org.eclipse.jface:java.io.IOException:Unable to resolve plug-in*", "org.eclipse.ui::Conflicting handlers for*” ] // other configuration options left out for brevity } ❷ ❶ ❸
  18. 18. 98% code plugin.xml MyServer
 Connection.java + setup
 complete =
  19. 19. summary • Unifying UI for all Eclipse IDE plug-ins • Customizable dialogs, server communication, and wire formats • 100% declarative – OR – 100% Java. You decide. • Default implementation is remotely configurable (filters)
  20. 20. setting up aeri for your RCP application
  21. 21. only one flavor…
  22. 22. 100% code plugin.xml discovery.json+ setup
 complete =
  23. 23. architecture overview Base System Status Filters Wire Format Server Comm. Mylyn Notifications Dialogs
  24. 24. modeling an 
 in-house workflow (Platform-) LogListener.java InHouse
 Workflow.java+ «controller» + SilentServer
 Connection.java «io» + E4LifeCycle.
 postContextCreate() «wiring»
  25. 25. Demo • Setting up silent error reporting for an in-house Eclipse RCP application
  26. 26. setting up an error reporting server for free
  27. 27. receiving error reports • There is no one-size-fits-all solution in sight • Thus, server communication is exchangeable – and so is the server • Every provider can implement it in a way it suites his needs…
  28. 28. maybe email suffices…
  29. 29. or a remote log file…
  30. 30. …or…
  31. 31. aer.ctrlflow.com/ signup
  32. 32. contact us Eclipse AERI IDE Client: % : wiki.eclipse.org/EPP/Logging " : www.eclipse.org/forums/index.php/f/69/  : mattermost.eclipse.org/eclipse/channels/epp-aeri Ctrlflow Automated Error Reporting Service: % : www.ctrlflow.com/automated-error-reporting " : support@ctrlflow.com ! : @ctrlflow
  33. 33. thank you

×