hyperic / wallmount Goto Github PK
View Code? Open in Web Editor NEWHQU plugin that provides an alternate dashboard
License: Other
HQU plugin that provides an alternate dashboard
License: Other
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
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.
Lot of issues with avatars:
Could be much more informative what is about to happen after dnd...
Value can be set, but scrolling up or down it breaks when passing through scale unit. (b to Kb, Kb to Mb, etc). Percent doesn't work.
When defining component properties is would me much easier to setup e.g. ranges if user would know the current metric value as raw and formatted values.
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.
If window is based on table layout, those doesn't show up if used in multiplayer.
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.
Both saveLayout and saveMultiLayout methods needs to do more error prosessing and actually response error status back to clients.
e.g. curl -u hqadmin:hqadmin http://localhost:7080/hqu/wmvisualizer/wmvisualizer/saveLayout.hqu results null.json file on server.
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).
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.
License to all appropriate files...
In layouts it would be nice to show HQ system level info like number of alerts, num of different resources.
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.
e.g. in Chrome floating windows contains "shadow". Remove all these weird defaults from dojo.
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)
Allow to define multi-layout setup which rotates automatically.
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...
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.
I can set num of cols and rows but after it's creates there's no way to modify the size.
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.
Throughout the designer, use it where it's needed.
Implement needed units.
Released package is too big. Tune/squeeze it...
Use layers in build and load layered dojo files from designer and player.
Resource types to right side tree
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.
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.
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).
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...
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.
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.
Due to change in HQ 4.6, grids only accepts unique id's. Id's were always set to 0 because there was no usage for those. Should just use layout name because it's unique.
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.
Dojo tables doesn't obey paging. Basically you get a list of all templates and you can click forward without table disabling fw control.
This toaster widget is able to do a sliding popup window on any of the browser window corners.
e.g. we can notify user if something fails or succeeds.
Instead of letting normal interval to update status of new subscribers, kick timer and restore back to normal interval.
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).
As user/designer I would like HQU plugin to build my view based on a template.
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.
It would be nice to know that all of those propertys actually mean without checking external docs, etc.
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.
Now availability metric is handled as normal metric. At least add AvailIcon(or similar way to track) to possible widget set.
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.
Groups to right side trees
Applications to right side tree
Avail legends are showing "null". Doesn't give values even if there are alerts or escalations.
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...
Either 1) disable dnd with player or 2) just fix underlying div size to "huge". Layout size is only used in designer to estimate correct visible size.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.