charting everywhere
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 PresentationTRANSCRIPT
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“
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
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, …)
5Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0
A Property Page for IBinary
6Charting Everywhere, © 2008 by Philippe Coucaud, made available under EPL 1.0
Binary Object Size Property Page
(PIE_CHART)
(STACKED_BAR_CHART)
ChartViewer
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
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
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