Charting Everywhere - PowerPoint PPT Presentation

Charting everywhere
1 / 10

  • Uploaded on
  • Presentation posted in: General

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

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

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.

  • 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}}








A property page for ibinary

A Property Page for IBinary

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

  • Login