2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4 * SugarCRM Community Edition is a customer relationship management program developed by
5 * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU Affero General Public License version 3 as published by the
9 * Free Software Foundation with the addition of the following permission added
10 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19 * You should have received a copy of the GNU Affero General Public License along with
20 * this program; if not, see http://www.gnu.org/licenses or write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
27 * The interactive user interfaces in modified source and object code versions
28 * of this program must display Appropriate Legal Notices, as required under
29 * Section 5 of the GNU Affero General Public License version 3.
31 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32 * these Appropriate Legal Notices must retain the display of the "Powered by
33 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34 * technical reasons, the Appropriate Legal Notices must display the words
35 * "Powered by SugarCRM".
36 ********************************************************************************/
39 require_once('modules/Trackers/monitor/Monitor.php');
40 require_once('modules/Trackers/Metric.php');
41 require_once('modules/Trackers/Trackable.php');
43 class BlankMonitor extends Monitor implements Trackable {
46 * BlankMonitor constructor
48 function BlankMonitor() {
54 * Sets the value defined in the monitor's metrics for the given name
55 * @param $name String value of metric name
56 * @param $value Mixed value
57 * @throws Exception Thrown if metric name is not configured for monitor instance
59 function setValue($name, $value) {
65 * Returns Array of store names defined for monitor instance
66 * @return Array of store names defined for monitor instance
68 function getStores() {
74 * Returns Array of metric instances defined for monitor instance
75 * @return Array of metric instances defined for monitor instance
77 function getMetrics() {
83 * This method retrieves the Store instances associated with monitor and calls
84 * the flush method passing with the montior ($this) instance.
87 public function save() {
94 * This method checks if the Store implementation has already been instantiated and
95 * will return the one stored; otherwise it will create the Store implementation and
96 * save it to the Array of Stores.
97 * @param $store The name of the store as defined in the 'modules/Trackers/config.php' settings
98 * @return An instance of a Store implementation
99 * @throws Exception Thrown if $store class cannot be loaded
101 protected function getStore($store) {
108 * This function clears the metrics data in the monitor instance
110 public function clear() {