eclipse neon webinar automated error reporting

34
aeri in neon Setting up Automated Error Reporting for your own Eclipse plug-in or Eclipse RCP application neon

Upload: marcel-bruch

Post on 18-Mar-2018

418 views

Category:

Technology


0 download

TRANSCRIPT

aeri in neonSetting up Automated Error Reporting for your own

Eclipse plug-in or Eclipse RCP application

neon

about me

! @marcelbruch

" [email protected]

# de.linkedin.com/in/marcelbruch

$ xing.com/profile/Marcel_Bruch

what to take away

• With Eclipse Neon, every project can sign up to receive error reports for their plug-ins.

• This webinar shows how.

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’

looking back…

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

new problems

0

250

500

750

1000

Xmas

Mars.0 Mars.1 Mars.2

Last updated: May 30, 2016

Sep. 2014 May 2016

problems by release

0

4.500

9.000

13.500

18.000

Mars.0 Mars.1 Mars.2

11.967

16.26617.253

Last updated: May 30, 2016

java.lang.*

0

3.500

7.000

NullP

oint

erEx

cept

ion

Arra

yInd

exO

utO

fBou

nds

Inde

xOut

OfB

ound

sSt

ringI

ndex

Out

OfB

ound

s

Clas

sCas

tExc

eptio

nAr

rayS

tore

Exce

ptio

nj.u

.Con

curre

ntM

odific

atio

n

Num

berF

orm

atIlle

galA

rgum

ent

Illega

lSta

teRu

ntim

eExc

eptio

n

Link

ageE

rror

Clas

sNot

Foun

dNo

Clas

sDef

Foun

dErro

rNo

Such

Met

hodE

rror

197727693

236207477

1.646

8326653

862151151

644

6.425

does reporting make a difference?

does reporting make a difference?

setting up aeri for your own plug-ins

two flavors

100% declarative

100% code

100% declarative

plugin.xml discovery.json+ setupcomplete=

plugin.xml

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>

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}

98% code

plugin.xml MyServerConnection.java+ setup

complete=

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)

setting up aeri for your RCP application

only one flavor…

100% code

plugin.xml discovery.json+ setupcomplete=

architecture overview

Base System

Status Filters Wire Format

Server Comm.

Mylyn Notifications

Dialogs

modeling an in-house workflow

(Platform-) LogListener.java

InHouseWorkflow.java+ «controller»

+ SilentServerConnection.java «io»

+ E4LifeCycle.postContextCreate() «wiring»

Demo

• Setting up silent error reporting for an in-house Eclipse RCP application

setting up an error reporting server for free

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…

maybe email suffices…

or a remote log file…

…or…

aer.ctrlflow.com/signup

contact usEclipse 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 " : [email protected] ! : @ctrlflow

thank you