1 / 10

Charting Everywhere

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.

Download Presentation

Charting Everywhere

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Charting Everywhere

  2. 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“

  3. 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

  4. Overview of the Framework • : a viewer, configurable with style bits • : an IContentProvider providing simple chart data • : a thin abstraction layer on top of the Chart API (PIE_CHART, STACKED_BAR_CHART, TWO_D, THREE_D, …) y a getX() = {x0,x1} getY() = {a,b} getYLabel() = y getYValues = {{a0,a1}, {b0,b1}} a0 b a1 b0 b1 x1 x0

  5. A Property Page for IBinary

  6. Binary Object Size Property Page ChartViewer (PIE_CHART) (STACKED_BAR_CHART)

  7. Metrics View • A view displaying LOC/method distribution • Java (IMethod) • C (IFunction) • Underlying chart updated on Workspace selection

  8. Heap Status versus Heap History View • Heap Status (org.eclipse.ui.internal) • Composite, instantaneous memory consumption • Heap History View • Memory consumption over a time frame • Chart updated every ‘n’ seconds

  9. 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

More Related