Package Products :: Package ZenRRD :: Module RenderServer :: Class RenderServer
[hide private]
[frames] | no frames]

Class RenderServer

source code

                                                        object --+            
                                                                 |            
                                ZenModel.ZenModelBase.ZenModelBase --+        
                                                                     |        
                               ExtensionClass.Base --+               |        
                                                     |               |        
                         OFS.CopySupport.CopyContainer --+           |        
                                                         |           |        
              ZenRelations.RelCopySupport.RelCopyContainer --+       |        
                                                             |       |        
                               ExtensionClass.Base --+       |       |        
                                                     |       |       |        
                         OFS.CopySupport.CopyContainer --+   |       |        
                                                         |   |       |        
                               ExtensionClass.Base --+   |   |       |        
                                                     |   |   |       |        
                             App.Management.Navigation --+   |       |        
                                                         |   |       |        
                               ExtensionClass.Base --+   |   |       |        
                                                     |   |   |       |        
                                   App.Management.Tabs --+   |       |        
                                                         |   |       |        
                                  Acquisition.Implicit --+   |       |        
                                                         |   |       |        
                                Persistence.Persistent --+   |       |        
                                                         |   |       |        
                           ExtensionClass.Base --+       |   |       |        
                                                 |       |   |       |        
            webdav.EtagSupport.EtagSupport --+   |       |   |       |        
                                             |   |       |   |       |        
                  webdav.Lockable.LockableItem --+       |   |       |        
                                                 |       |   |       |        
                          webdav.Resource.Resource --+   |   |       |        
                                                     |   |   |       |        
                          webdav.Collection.Collection --+   |       |        
                                                         |   |       |        
                           OFS.Traversable.Traversable --+   |       |        
                                                         |   |       |        
                           OFS.ObjectManager.ObjectManager --+       |        
                                                             |       |        
                               ExtensionClass.Base --+       |       |        
                                                     |       |       |        
                           ExtensionClass.Base --+   |       |       |        
                                                 |   |       |       |        
                        OFS.CopySupport.CopySource --+       |       |        
                                                     |       |       |        
                           ExtensionClass.Base --+   |       |       |        
                                                 |   |       |       |        
                               App.Management.Tabs --+       |       |        
                                                     |       |       |        
                       OFS.Traversable.Traversable --+       |       |        
                                                     |       |       |        
                         AccessControl.Owned.Owned --+       |       |        
                                                     |       |       |        
                              ZenRelations.ZItem.ZItem --+   |       |        
                                                         |   |       |        
                                  Acquisition.Implicit --+   |       |        
                                                         |   |       |        
                        AccessControl.Role.RoleManager --+   |       |        
                                                         |   |       |        
  ZenRelations.PrimaryPathObjectManager.PrimaryPathManager --+       |        
                                                             |       |        
                                   ExtensionClass.Base --+   |       |        
                                                         |   |       |        
                                      App.Undo.UndoSupport --+       |        
                                                             |       |        
ZenRelations.PrimaryPathObjectManager.PrimaryPathObjectManager --+   |        
                                                                 |   |        
                                                    object --+   |   |        
                                                             |   |   |        
                                   ExtensionClass.Base --+   |   |   |        
                                                         |   |   |   |        
                                 OFS.ZDOM.Node --+       |   |   |   |        
                                                 |       |   |   |   |        
                                  OFS.ZDOM.Element --+   |   |   |   |        
                                                     |   |   |   |   |        
                        OFS.ZDOM.ElementWithAttributes --+   |   |   |        
                                                         |   |   |   |        
                       OFS.PropertyManager.PropertyManager --+   |   |        
                                                             |   |   |        
            ZenRelations.ZenPropertyManager.ZenPropertyManager --+   |        
                                                                 |   |        
              ZenRelations.RelationshipManager.RelationshipManager --+        
                                                                     |        
                                           ExtensionClass.Base --+   |        
                                                                 |   |        
                                            OFS.History.Historical --+        
                                                                     |        
                                                        object --+   |        
                                                                 |   |        
                                      ZenModel.ZenPacker.ZenPacker --+        
                                                                     |        
                                        ZenModel.ZenModelRM.ZenModelRM --+    
                                                                         |    
                                                   RRDToolItem.RRDToolItem --+
                                                                             |
                                                                            RenderServer
Known Subclasses:

Base class for turning graph requests into graphics. NB: Any log messages get logged into the event.log file.

Instance Methods [hide private]
 
__init__(self, id, tmpdir='/tmp/renderserver', cachetimeout=300) source code
 
render(self, gopts=None, start=None, end=None, drange=None, remoteUrl=None, width=None, ftype='PNG', getImage=True, graphid='', comment=None, ms=None, REQUEST=None, zenrenderRequest=None)
Render a graph and return it
source code
 
deleteRRDFiles(self, device, datasource=None, datapoint=None, remoteUrl=None, REQUEST=None)
Delete RRD files associated with the given device id.
source code
 
packageRRDFiles(self, device, REQUEST=None)
Tar up RRD files into a nice, neat package
source code
 
unpackageRRDFiles(self, device, REQUEST=None)
Untar a package of RRDFiles
source code
 
receiveRRDFiles(self, REQUEST=None)
Receive a device's RRD Files from another server This function is called by sendRRDFiles()
source code
 
sendRRDFiles(self, device, server, REQUEST=None)
Move a package of RRDFiles
source code
 
moveRRDFiles(self, device, destServer, srcServer=None, REQUEST=None)
Send a device's RRD files to another server
source code
 
plugin(self, name, REQUEST=None)
Render a custom graph and return it
source code
 
summary(self, gopts)
Return summary information as a list but no graph
source code
 
fetchValues(self, paths, cf, resolution, start, end="")
Return the values recorded in the RRD file between the start and end period
source code
 
currentValues(self, paths)
Return the latest values recorded in the RRD file
source code
string
rrdcmd(self, gopts, ftype='PNG')
Generate the RRD command using the graphing options specified.
source code
string
graphId(self, gopts, drange, ftype)
Generate a graph id based on a hash of values
source code
 
_loadfile(self, filename) source code
 
setupCache(self)
Make a new cache if we need one
source code
 
addGraph(self, id, filename)
Add a graph to temporary folder
source code
 
getGraph(self, id, ftype, REQUEST)
Get a previously generated graph
source code

Inherited from RRDToolItem.RRDToolItem: getName

Inherited from ZenModel.ZenModelRM.ZenModelRM: changePythonClass, creator, editableDeviceList, findChild, getCreatedTimeString, getDmdKey, getModificationTimeString, getSubObjects, getTreeItems, getZenRootNode, index_object, primarySortKey, reindex_all, rename, setTitle, unindex_object, viewName, zmanage_addProperty, zmanage_delObjects, zmanage_delProperties, zmanage_editProperties, zmanage_exportObject, zmanage_importObject, zmanage_importObjects

Inherited from ZenModel.ZenModelBase.ZenModelBase: __call__, __hash__, all_meta_types, aqBaseHasAttr, breadCrumbs, callZenScreen, checkRemotePerm, checkValidId, createHierarchyObj, custPropertyIds, custPropertyMap, getBreadCrumbName, getBreadCrumbUrlPath, getDmd, getDmdObj, getDmdRoot, getHierarchyObj, getIconPath, getIdLink, getNowString, getObjByPath, getPrimaryDmdId, getUnusedId, getZopeObj, helpLink, isLocalName, manage_deleteObjects, prepId, saveCustProperties, todayDate, upToOrganizerBreadCrumbs, urlLink, view, visibleCustPropertyMap, yesterdayDate, zenScreenUrl, zenpathjoin, zenpathsplit, zentinelTabs

Inherited from ZenRelations.RelationshipManager.RelationshipManager: addRelation, buildRelations, cb_isMoveable, checkRelations, exportXml, exportXmlProperties, exportXmlRelationships, getRelationshipManagerId, getRelationshipNames, getRelationships, manage_addRelation, manage_removeRelation, manage_workspace, moveMeBetweenRels, moveObject, removeRelation

Inherited from ZenRelations.RelCopySupport.RelCopyContainer: manage_linkObjects, manage_unlinkObjects

Inherited from OFS.ObjectManager.ObjectManager: __class_init__, __contains__, __delitem__, __getitem__, __iter__, __len__, __nonzero__, __setitem__, filtered_meta_types, get, getSiteManager, hasObject, items, keys, list_imports, manage_FTPlist, manage_FTPstat, manage_afterAdd, manage_afterClone, manage_beforeDelete, manage_delObjects, manage_exportObject, manage_hasId, manage_importObject, objectIds, objectIds_d, objectItems, objectItems_d, objectMap, objectMap_d, objectValues, objectValues_d, setSiteManager, superValues, tpValues, values

Inherited from OFS.ObjectManager.ObjectManager (private): _delOb, _getImportPaths, _getOb, _importObjectFromFile, _setOb, _subobject_permissions

Inherited from OFS.CopySupport.CopyContainer: cb_dataItems, cb_dataValid, manage_CopyContainerAllItems, manage_CopyContainerFirstItem, manage_clone, manage_copyObjects, manage_cutObjects, manage_pasteObjects, manage_renameObject, manage_renameObjects, validClipData

Inherited from OFS.CopySupport.CopyContainer (private): _get_id

Inherited from App.Management.Navigation: manage_zmi_logout

Inherited from ZenRelations.PrimaryPathObjectManager.PrimaryPathManager: getPrimaryId, getPrimaryParent, getPrimaryPath, getPrimaryUrlPath, primaryAq

Inherited from ZenRelations.ZItem.ZItem: __repr__, getId, manage_editedDialog, this, titleOrId, title_and_id, title_or_id, tpURL

Inherited from OFS.CopySupport.CopySource: cb_isCopyable, cb_userHasCopyOrMovePermission

Inherited from OFS.CopySupport.CopySource (private): _canCopy, _postCopy, _setId

Inherited from App.Management.Tabs: filtered_manage_options, tabs_path_default, tabs_path_info

Inherited from webdav.Collection.Collection: DELETE, HEAD, PUT, dav__init, listDAVObjects

Inherited from webdav.Resource.Resource: COPY, LOCK, MKCOL, MOVE, OPTIONS, PROPFIND, PROPPATCH, TRACE, UNLOCK, dav__simpleifhandler, dav__validate, manage_DAVget

Inherited from webdav.Lockable.LockableItem: wl_clearLocks, wl_delLock, wl_getLock, wl_hasLock, wl_isLocked, wl_lockItems, wl_lockTokens, wl_lockValues, wl_lockmapping, wl_setLock

Inherited from webdav.EtagSupport.EtagSupport: http__etag, http__parseMatchList, http__processMatchHeaders, http__refreshEtag

Inherited from OFS.Traversable.Traversable: absolute_url, absolute_url_path, getPhysicalPath, restrictedTraverse, unrestrictedTraverse, virtual_url_path

Inherited from App.Undo.UndoSupport: get_request_var_or_attr, manage_undo_transactions, undoable_transactions

Inherited from ZenRelations.ZenPropertyManager.ZenPropertyManager: deleteZenProperty, exportZProperties, getOverriddenObjects, getProperty, getPropertyType, getZ, hasProperty, isLocal, manage_editProperties, saveZenProperties, setZenProperty, zenPropIsPassword, zenPropertyIds, zenPropertyItems, zenPropertyMap, zenPropertyOptions, zenPropertyPath, zenPropertyString

Inherited from OFS.History.Historical: manage_afterHistoryCopy, manage_beforeHistoryCopy, manage_change_history, manage_historicalComparison, manage_historyCompare, manage_historyCopy

Inherited from ZenModel.ZenPacker.ZenPacker: addToZenPack, eligiblePacks, findObject

Inherited from OFS.PropertyManager.PropertyManager: manage_addProperty, manage_changeProperties, manage_changePropertyTypes, manage_delProperties, propdict, propertyDescription, propertyIds, propertyItems, propertyLabel, propertyMap, propertyValues, valid_property_id

Inherited from OFS.PropertyManager.PropertyManager (private): _delPropValue, _delProperty, _propertyMap, _wrapperCheck

Inherited from OFS.ZDOM.ElementWithAttributes: getAttribute, getAttributeNode, getAttributes

Inherited from OFS.ZDOM.Element: getChildNodes, getElementsByTagName, getFirstChild, getLastChild, getNextSibling, getNodeName, getNodeType, getParentNode, getPreviousSibling, getTagName

Inherited from OFS.ZDOM.Node: getNodeValue, getOwnerDocument, hasChildNodes

Class Methods [hide private]

Inherited from ZenRelations.RelationshipManager.RelationshipManager: lookupSchema

Class Variables [hide private]
  meta_type = "RenderServer"
  cacheName = 'RRDRenderCache'
  security = ClassSecurityInfo()

Inherited from ZenModel.ZenModelRM.ZenModelRM: default_catalog, isInTree

Inherited from ZenModel.ZenModelBase.ZenModelBase: index_html, sub_meta_types

Inherited from ZenModel.ZenModelBase.ZenModelBase (private): _zendoc

Inherited from ZenRelations.RelationshipManager.RelationshipManager: manage_main, manage_options

Inherited from OFS.ObjectManager.ObjectManager: has_order_support, isAnObjectManager, isPrincipiaFolderish, manage_addProduct, manage_importExportForm, manage_index_main, meta_types

Inherited from OFS.ObjectManager.ObjectManager (private): _components, _objects

Inherited from OFS.CopySupport.CopyContainer: manage_renameForm

Inherited from App.Management.Navigation: manage, manage_copyright, manage_form_title, manage_menu, manage_page_footer, manage_page_header, manage_top_frame, manage_zmi_prefs, zope_quick_start

Inherited from ZenRelations.ZItem.ZItem: REQUEST, __allow_access_to_unprotected_subobjects__, __name__, __propsets__, getId__roles__, icon, id, isTopLevelPrincipiaApplicationObject, title

Inherited from App.Management.Tabs: manage_tabs, manage_workspace__roles__

Inherited from webdav.Collection.Collection: __dav_collection__

Inherited from webdav.Resource.Resource: __dav_resource__, __http_methods__

Inherited from OFS.Traversable.Traversable: getPhysicalRoot

Inherited from App.Undo.UndoSupport: manage_UndoForm

Inherited from ZenRelations.ZenPropertyManager.ZenPropertyManager: __pychecker__, manage_propertiesForm

Inherited from OFS.History.Historical: HistoricalRevisions, manage_change_history_page

Inherited from OFS.History.Historical (private): _manage_historyComparePage

Inherited from OFS.PropertyManager.PropertyManager: manage_propertyTypeForm, propertysheets

Inherited from OFS.PropertyManager.PropertyManager (private): _properties, _reserved_names

Method Details [hide private]

__init__(self, id, tmpdir='/tmp/renderserver', cachetimeout=300)
(Constructor)

source code 
Overrides: ZenRelations.RelationshipManager.RelationshipManager.__init__

render(self, gopts=None, start=None, end=None, drange=None, remoteUrl=None, width=None, ftype='PNG', getImage=True, graphid='', comment=None, ms=None, REQUEST=None, zenrenderRequest=None)

source code 

Render a graph and return it

Parameters:
  • gopts - RRD graph creation options
  • start - requested start of data to graph
  • end - requested start of data to graph
  • drange - min/max values of the graph
  • remoteUrl - if the RRD is not here, where it lives
  • width - size of graphic to create
  • ftype - file type of graphic (eg PNG)
  • getImage - return the graph or a script location
  • graphid - (hopefully) unique identifier of a graph
  • comment - RRD graph comment
  • ms - a timestamp used to force IE to reload images
  • REQUEST - URL-marshalled object containg URL options
Returns:
graph or script location

deleteRRDFiles(self, device, datasource=None, datapoint=None, remoteUrl=None, REQUEST=None)

source code 

Delete RRD files associated with the given device id.
If datapoint is not None then delete the file corresponding to that dp.
Else if datasource is not None then delete the files corresponding to
  all datapoints in the datasource.
Else delete all RRD files associated with the given device.

@param device: device name
@param datasource: RRD datasource (DS) name
@param datapoint: RRD datapoint name (lives in a DS)
@param remoteUrl: if the RRD is not here, where it lives
@param REQUEST: URL-marshalled object containg URL options

packageRRDFiles(self, device, REQUEST=None)

source code 

Tar up RRD files into a nice, neat package

Parameters:
  • device - device name
  • REQUEST - URL-marshalled object containg URL options

unpackageRRDFiles(self, device, REQUEST=None)

source code 

Untar a package of RRDFiles

Parameters:
  • device - device name
  • REQUEST - URL-marshalled object containg URL options

receiveRRDFiles(self, REQUEST=None)

source code 

Receive a device's RRD Files from another server This function is called by sendRRDFiles()

Parameters:
  • REQUEST (URL-marshalled parameters) - 'tarfile', 'tarfilename'

sendRRDFiles(self, device, server, REQUEST=None)

source code 

Move a package of RRDFiles

Parameters:
  • device - device name
  • server - another RenderServer instance
  • REQUEST - URL-marshalled object containg URL options

moveRRDFiles(self, device, destServer, srcServer=None, REQUEST=None)

source code 

Send a device's RRD files to another server

Parameters:
  • device - device name
  • destServer - another RenderServer instance
  • srcServer - another RenderServer instance
  • REQUEST - URL-marshalled object containg URL options

plugin(self, name, REQUEST=None)

source code 

Render a custom graph and return it

Parameters:
  • name - plugin name from Products/ZenRRD/plugins
Returns:
graph or None

summary(self, gopts)

source code 

Return summary information as a list but no graph

Parameters:
  • gopts - RRD graph options
Returns:
values from the graph

fetchValues(self, paths, cf, resolution, start, end="")

source code 

Return the values recorded in the RRD file between the start and end period

Parameters:
  • paths - path names to files
  • cf - RRD consolidation function to use
  • resolution - requested resolution of RRD data
  • start - requested start of data to graph
  • end - requested start of data to graph
Returns:
values from the RRD files in the paths

currentValues(self, paths)

source code 

Return the latest values recorded in the RRD file

Parameters:
  • paths - path names to files
Returns:
values from the RRD files in the path

rrdcmd(self, gopts, ftype='PNG')

source code 

Generate the RRD command using the graphing options specified.

Parameters:
  • gopts - RRD graphing options
  • ftype - graphic file type (eg PNG)
Returns: string
RRD command usable on the command-line

graphId(self, gopts, drange, ftype)

source code 

Generate a graph id based on a hash of values

Parameters:
  • gopts - RRD graphing options
  • drange - min/max values of the graph
  • ftype - graphic file's type (eg PNG)
Returns: string
An id for this graph usable in URLs

addGraph(self, id, filename)

source code 

Add a graph to temporary folder

Parameters:
  • id - graph id
  • filename - cacheable graphic file

getGraph(self, id, ftype, REQUEST)

source code 

Get a previously generated graph

Parameters:
  • id - graph id
  • ftype - file type of graphic (eg PNG)
  • REQUEST - graph id