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 --+   |       |
                                                             |   |       |
                                        Globals.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 --+       |       |
                                                         |       |       |
                               ExtensionClass.Base --+   |       |       |
                                                     |   |       |       |
                             AccessControl.Owned.Owned --+       |       |
                                                         |       |       |
                                  ZenRelations.ZItem.ZItem --+   |       |
                                                             |   |       |
                                      Acquisition.Implicit --+   |       |
                                                             |   |       |
                                   ExtensionClass.Base --+   |   |       |
                                                         |   |   |       |
           AccessControl.PermissionMapping.RoleManager --+   |   |       |
                                                         |   |   |       |
                            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

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
removeInvalidRRDReferences(self, cmds) Check the cmds list for DEF commands. | 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) 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="") | 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`, `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`, `getBreadCrumbUrlPath`, `getDmd`, `getDmdObj`, `getDmdRoot`, `getHierarchyObj`, `getIconPath`, `getIdLink`, `getNowString`, `getObjByPath`, `getPrimaryDmdId`, `getUnusedId`, `getZopeObj`, `helpLink`, `isLocalName`, `manage_deleteObjects`, `prepId`, `saveCustProperties`, `todayDate`, `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.RelationshipManager.RelationshipManager` (private): `_getCopy`, `_notifyOfCopyTo`, `_setObject` Inherited from `ZenRelations.PrimaryPathObjectManager.PrimaryPathObjectManager` (private): `_delObject` Inherited from `ZenRelations.RelCopySupport.RelCopyContainer`: `manage_linkObjects`, `manage_renameObject`, `manage_unlinkObjects` Inherited from `ZenRelations.RelCopySupport.RelCopyContainer` (private): `_getRelName`, `_getSourceObjects`, `_verifyObjectLink`, `_verifyObjectPaste` Inherited from `OFS.ObjectManager.ObjectManager`: `__class_init__`, `__getitem__`, `filtered_meta_types`, `getSiteManager`, `hasObject`, `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` Inherited from `OFS.ObjectManager.ObjectManager` (private): `_checkId`, `_delOb`, `_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_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`: `__len__`, `__repr__`, `getId`, `manage_editedDialog`, `raise_standardErrorMessage`, `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`: `class_manage_path`, `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 `AccessControl.Owned.Owned`: `changeOwnership`, `getOwner`, `getOwnerTuple`, `getWrappedOwner`, `manage_changeOwnershipType`, `manage_fixupOwnershipAfterAdd`, `manage_takeOwnership`, `owner_info`, `userCanTakeOwnership` Inherited from `AccessControl.Owned.Owned` (private): `_deleteOwnershipAfterAdd` Inherited from `AccessControl.Role.RoleManager`: `ac_inherited_permissions`, `access_debug_info`, `acquiredRolesAreUsedBy`, `get_local_roles`, `get_local_roles_for_userid`, `get_valid_userids`, `has_local_roles`, `manage_access`, `manage_acquiredPermissions`, `manage_addLocalRoles`, `manage_changePermissions`, `manage_defined_roles`, `manage_delLocalRoles`, `manage_editRoles`, `manage_getUserRolesAndPermissions`, `manage_permission`, `manage_role`, `manage_setLocalRoles`, `permission_settings`, `permissionsOfRole`, `possible_permissions`, `rolesOfPermission`, `userdefined_roles`, `users_with_local_role`, `validRoles`, `valid_roles`, `validate_roles` Inherited from `AccessControl.Role.RoleManager` (private): `_addRole`, `_delRoles`, `_has_user_defined_role`, `_setRoles` Inherited from `AccessControl.PermissionMapping.RoleManager`: `manage_getPermissionMapping`, `manage_setPermissionMapping` Inherited from `AccessControl.PermissionMapping.RoleManager` (private): `_isBeingAccessedAsZClassDefinedInstanceMethod`, `_isBeingUsedAsAMethod` Inherited from `App.Undo.UndoSupport`: `get_request_var_or_attr`, `manage_undo_transactions`, `undoable_transactions` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager`: `deleteZenProperty`, `getOverriddenObjects`, `getProperty`, `getPropertyType`, `getZ`, `hasProperty`, `isLocal`, `manage_editProperties`, `saveZenProperties`, `setZenProperty`, `zenPropIsPassword`, `zenPropertyIds`, `zenPropertyItems`, `zenPropertyMap`, `zenPropertyOptions`, `zenPropertyPath`, `zenPropertyString` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager` (private): `_findParentWithProperty`, `_setPropValue`, `_setProperty`, `_updateProperty` 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 `object`: `__delattr__`, `__getattribute__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__str__` 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 `ZenRelations.RelationshipManager.RelationshipManager`: `manage_main`, `manage_options` Inherited from `ZenRelations.RelationshipManager.RelationshipManager` (private): `_operation`, `_relations` 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__`, `icon`, `id`, `isTopLevelPrincipiaApplicationObject`, `title` Inherited from `ZenRelations.ZItem.ZItem` (private): `_manage_editedDialog` Inherited from `App.Management.Tabs`: `manage_tabs` Inherited from `webdav.Collection.Collection`: `__dav_collection__` Inherited from `webdav.Resource.Resource`: `__dav_resource__`, `__http_methods__` Inherited from `webdav.EtagSupport.EtagSupport`: `__implements__` Inherited from `OFS.Traversable.Traversable`: `getPhysicalRoot` Inherited from `AccessControl.Owned.Owned`: `manage_owner` Inherited from `AccessControl.Role.RoleManager`: `__ac_local_roles__`, `__ac_roles__`, `aclAChecked`, `aclEChecked`, `aclPChecked`, `manage_acquiredForm`, `manage_editLocalRoles`, `manage_listLocalRoles`, `manage_permissionForm`, `manage_reportUserPermissions`, `manage_roleForm`, `permissionMappingPossibleValues`, `selectedRoles`, `smallRolesWidget` Inherited from `AccessControl.Role.RoleManager` (private): `_method_manage_access`, `_normal_manage_access` Inherited from `App.Undo.UndoSupport`: `manage_UndoForm` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager`: `__pychecker__`, `manage_propertiesForm` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager` (private): `_onlystars` 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`

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, id, tmpdir='/tmp/renderserver', cachetimeout=300) (Constructor) | source code
Overrides: ZenModel.ZenModelRM.ZenModelRM.__init__

### removeInvalidRRDReferences(self, cmds) | source code
Check the cmds list for DEF commands. For each one check that the rrd file specified actually exists. Return a list of commands which excludes commands referencing or depending on non-existent RRD files. Parameters: `cmds` - list of RRD commands Returns: sanitized list of RRD commands

### 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) | 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

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