charting everywhere

10
Charting Everywhere

Upload: garrison-fisher

Post on 31-Dec-2015

28 views

Category:

Documents


4 download

DESCRIPTION

Charting Everywhere. Short-Talk. In order to analyze and compare size of embedded applications we developed a framework on top of BIRT‘s charting APIs. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Charting Everywhere

Charting Everywhere

Page 2: Charting Everywhere

2Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Short-Talk

In order to analyze and compare size of embedded applications we developed a framework on top of BIRT‘s charting APIs.

During this talk we present this generic framework (chart viewer, data set providers, ...) and how, as an experiment, we were able to re-target it to enhance the whole Eclipse platform with charts : property pages for IBinary (CDT), IContainer (core resources) and some more.

The goal of this talk is to advocate that BIRT Charts can be used almost anywhere to enhance the Eclipse user experience.

Also see CDT short talk „Because Size Matters“

Page 3: Charting Everywhere

3Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Initial Use Case

Binary files are composed of multiple sections (text, data, ...). – Use charts to graphically visualize size of sections

Chart Engine API generated from EMF model– Very rich– Maybe too heavy when one only has to handle simple charts (bar/pie-

chart) with very simple series (String[] x int[])

Chart Engine builds a Chart that can be rendered in a GC– Needs a reusable Chart viewer

Page 4: Charting Everywhere

4Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

: a viewer, configurable with style bits

: an IContentProvider providing simple chart data

: a thin abstraction layer on top of the Chart API

b

Overview of the Framework

b0

b1

a0

a1

a

y

x0 x1

getX() = {x0,x1}getY() = {a,b}getYLabel() = ygetYValues = {{a0,a1}, {b0,b1}}

(PIE_CHART, STACKED_BAR_CHART, TWO_D, THREE_D, …)

Page 5: Charting Everywhere

5Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

A Property Page for IBinary

Page 6: Charting Everywhere

6Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Binary Object Size Property Page

(PIE_CHART)

(STACKED_BAR_CHART)

ChartViewer

Page 7: Charting Everywhere

7Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Metrics View

A view displaying LOC/method distribution – Java (IMethod)– C (IFunction)

Underlying chart updated on Workspace selection

Page 8: Charting Everywhere

8Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Heap Status versus Heap History ViewHeap Status (org.eclipse.ui.internal)

– Composite, instantaneous memory consumption

Heap History View– Memory consumption over a time frame– Chart updated every ‘n’ seconds

Page 9: Charting Everywhere

9Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0

Conclusion

Because almost every Eclipse plug-in directly or indirectly manipulates numerical data the number of potential chart users is large

Need a layer on top of BIRT Charting APIs to make the Chart Engine more accessible to the community

Page 10: Charting Everywhere