Code Monkey home page Code Monkey logo

wallmount's Introduction

Project which contains Hyperic Wall Mount Visualizer HQU plug-in.

To build this project, you need JDK and ANT. Default ant task builds the distribution and creates release under 'dist' directory.

root@localhost:/repos/git/wallmount$ ant

...

dist:
    [mkdir] Created dir: /repos/git/wallmount/dist
      [zip] Building zip: /repos/git/wallmount/dist/hqu_wmvisualizer-1.0.zip

BUILD SUCCESSFUL
Total time: 1 minute 37 seconds

wallmount's People

Contributors

jvalkeal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wallmount's Issues

Use server side image scaling

This is a case where browser rendering tree is re-scaling all images during the animation if image not showed in its original size. Really huge performance penalty during the animations. Allow component to use server side scaling if actual HQU based player is used. With offline testing we can't/wan't this.

Dnd avatar mixed up

Lot of issues with avatars:

  1. Showing just tree component if dragging from tree
  2. If dragging between windows, doesn't use new component if type changes

Could be much more informative what is about to happen after dnd...

Table layout in windows

Normal left to right positioning makes it difficult to position widgets. If window could use a simple table container to handle positioning it would make things a bit easier.

Layout name stored wrong in json

When storing layout and current name in UI is empty, name in json is left empty.

Name should come from dialog if asked, from UI if not asked.

Allow widget to register interest for multiple resources

Currently widget can only register one callback for metric or resource. It would be very nice if a custom widget could fetch information from multiple sources and then process that to provide more custom calculations (e.g. correlation, ratio, etc).

Widget initial status misleading

Most of the widgets are using zero as initial status which is incorrect since metric itself can be zero. If player fails to retrieve value, widget would show initial value which would be totally unacceptable.

Allow layout themes

Basically layout should be themable through CSS stylesheets. We really can't just apply CSS to player because it'll break window positioning. Theme has to be used while designing layout with designer.
Do a framework which allows to plug new css themes without much overhead on code level.
Hard coded themes for now since it's much easier than to design and build a theme editor.

Exception getting metric if group is empty

Tracking group metrics with no members throws exception. Need to check nulls...

2012-01-10 17:10:39,127 WARN [tomcat-http--1] [org.hyperic.hq.hqu.PluginWrapper@156] Error handling request from /media/uhome/hyperic/server-4.6-EE/hq-engine/hq-server/webapps/ROOT/hqu/wmvisualizer
java.lang.NullPointerException
at org.codehaus.groovy.runtime.dgmimpl.NumberNumberDiv$DoubleInteger.call(NumberNumberDiv.java:247)
at MetricstoreController.getMetrics(MetricstoreController:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

Optimize css imports

Write now there's about 50 requests to css files and it takes 40% of the startup time to ping server for these files.

Try to optimize...

Layout name to dojox widget

When we update layout name in designer, we basically just change div content and parse it if layout name is needed.
Implement this to dojox widget so that it would be nicer to use on code level.

Array structure too limited in layout

This layout feature request is mostly related to JsonGroovyBuilder when layout is build.

When you do:
items(){
...
}

json looks like "items:{}".

If you do:

items(){
...
}
items(){
...
}

json looks like "items:[{},{}]".

Remove limitation that case like this needs to be array even if there's only one object per array. This allows JS to play nicely with JsonGroovyBuilder. Also check other places in layout structure where similar change make sense.

Font size calculation wrong on some cases

This happens on some cases with Chrome and if layout contains charts and normal label components.

We use dojox.gfx._base._getTextBox in our components and charts are also calling that function. It seems that this function is not safe to use from multiple locations, not really sure what is going on in here.

Remove unnecessary backend requests from metricstore

We're currently requesting all needed metrics from HQU backend within the used timer threshold without making any clever decisions whether it's needed or not.

e.g. 1. if collection time is 10min, no need to request metric every time. 2. if metric is requested but not changed, no need to post it to metric topics.

Window resize resets component positions

If you resize browser window, all internal floating window positions are reseted to its original positions(where it was first placed when window was created).

Allow to set main color in chart theming

Themes are nice in charts since it's main functionality is to define overall style and color set in case of multiple data sets. We're happy with theme, but it would be nice to set chart main color. We have only one data set for now and color comes from theme first color combination.

Use theme and allow to overwrite main color...

Pretty print metrics in widgets

For now we have too many digits when metric value is printed. Handle formatting better...

Like we don't need to know value as 4.79179877987GB, 4.8GB or 4.79GB would be enough.

Reverse speed setting

e.g. if spinner is defining speed scale between 0-100, it makes sense if metric is tracking cpu usage. It doesn't make sense if metric is tracking idle time. Allow user to reverse speed scaling.

Either 1) boolean flag or 2) if user switches low range to be bigger than high range.

Deployment fails if old wallmount plugin exists

This is due to registration of attach point which internally to plugin("wallmount/index.hqu") points to same place as old one.

Simple fix is to change this path to follow normal HQU plugin naming quidelines and use "wmvisualizer/index.hqu" as attach point path.

Paging broken in main launch page

Dojo tables doesn't obey paging. Basically you get a list of all templates and you can click forward without table disabling fw control.

Dojo fails to load

This problem seem to happen with TestLayoutContent.html and error message is "node id undefined". Problem may be a separate layer defined as:

<script type="text/javascript" src="../public/js/dojo/wmvisualizer.js"></script>

It may be that since dojo.js and vmvisualizer.js are executed synchronously, dojo.body() calls doesn't always return needed node. Maybe vmsisualizer.js is executed too quickly and dojo from dojo.js is not ready yet. Strange thing is that this seem to happen only when testing layouts, not when actual player is used(where html is almost identical).

Table structure in JSON throws errors too easily

When table is constructed in Designer there is no problem because Designer itself handles correct array/object structure and size. However when doing this manually from dynamic layouts, it's too easy to end up JS errors due to fact that we assume correct array sized on row level(every row much match size of first row).

Make JS code more clever.

Floater becomes uncloseable

If you remove component from floater it becomes so small due to css styling that user is unable to remove it or add any new widgets.

Helper methods to build table windows

Create either a builder or other helper method to easily construct tables. We should have easy way to ensure that table is always perfect in terms of a structure.

For example, user creates a set of widgets and then just place those using row/column number. Builder should then take it from there and build a correct structure.

Avail legends broken

Avail legends are showing "null". Doesn't give values even if there are alerts or escalations.

Mixin properties in layout handling

When component parameters are transferred between objects, every parameter name is hard coded and need to be added if component want to use a new one.

See if we can just do dojo mixin...

Shadow platform in metric tree

Don't exactly know what's going on here, but...

2011-04-20 20:18:29,811 WARN [tomcat-http--25] [org.hyperic.hq.bizapp.server.session.AppdefBossImpl@2540] 1:10810 not found
org.hyperic.hq.appdef.shared.PlatformNotFoundException: 1:10810 not found
at org.hyperic.hq.appdef.server.session.PlatformManagerImpl.findPlatformById(PlatformManagerImpl.java:688)

This platform has been previously deleted but still exists in tree. Need to check if this can happen on real installation or is it a side effect when I manually deleted plugin from database while platform resource were still in place.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.