Charting everywhere
1 / 10

Charting Everywhere - PowerPoint PPT Presentation

  • Uploaded on

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Charting Everywhere' - garrison-fisher

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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“

Initial use case
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

Overview of the framework
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




getX() = {x0,x1}

getY() = {a,b}

getYLabel() = y

getYValues = {{a0,a1}, {b0,b1}}








Binary object size property page
Binary Object Size Property Page




Metrics view
Metrics View

  • A view displaying LOC/method distribution

    • Java (IMethod)

    • C (IFunction)

  • Underlying chart updated on Workspace selection

Heap status versus heap history view
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


  • 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