aeri in neon
Setting up Automated Error Reporting for your own
Eclipse plug-in or Eclipse RCP application
neon
Do you know aeri?
about me


! @marcelbruch
" marcel.bruch@codetrails.com
# de.linkedin.com/in/marcelbruch
$ xing.com/profile/Marcel_Bruch
what’s new in neon?
• With Eclipse Neon, everyone can sign up to
receive error reports for their plug-ins.
• This demo shows how.
Check out the full webinar on youtube
aeri in mars
• 3,000,000 error reports for Mars.0-2
• 350,000 users
• 20,000 distinct problems
• 7,800 problems fixed with Mars.2
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
setting up aeri for
your own plug-ins
two flavors
100% declarative
100% code
100% declarative
plugin.xml discovery.json+
setup

complete
=
demo
98% code
plugin.xml
MyServer

Connection.java
+
setup

complete
=
summary
• Unified UI for all Eclipse plug-ins
• 100% declarative <—> 100% Java
• Client auto-configuration (discovery)
• Customizable dialogs & server communication
setting up aeri for
your RCP application
only one flavor…
100% code
plugin.xml discovery.json+
setup

complete
=
modeling an 

in-house workflow
(Platform-)
LogListener.java
InHouse

Workflow.java+ «controller»
+
SilentServer

Connection.java «io»
+
E4LifeCycle.

postContextCreate() «wiring»
setup in e4
public class E4LifeCycle {
@PostContextCreate
void postContextCreate(IEclipseContext workbenchContext) {
// 1. AERI uses Eclipse DI wherever possible:
IEclipseContext context = SystemControl.getSystemContext();
context.setParent(workbenchContext);
// 2. Create and register the server-connection and workflow with AERI:
context.set(IServerConnection.class, new SilentServerConnection());
context.set(InHouseWorkflow.class, ContextInjectionFactory.make(InHouseWorkflow.class, context));
// 3. Create the log listener
context.set(LogListener.CTX_STATUS_FILTER, Predicates.alwaysTrue());
context.set(LogListener.class, ContextInjectionFactory.make(LogListener.class, context));
// 4. Finally, register the listener with the platform
LogListener l = context.get(LogListener.class);
Platform.addLogListener(l);
}
setting up your error
reporting server 

for free
email digests
bug tracker
powerful searches
aer.ctrlflow.com/
signup
thank you
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 SaaS:
% : www.ctrlflow.com/automated-error-reporting
" : support@ctrlflow.com
! : @ctrlflow

Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE plug-ins ( Democamp Ed.)