Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Eclipse Neon Webinar Automated Error Reporting

444 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

×