/** * Analytica - beta version - Systems Monitoring Tool * * Copyright (C) 2013, KleeGroup, direction.technique@kleegroup.com (http://www.kleegroup.com) * KleeGroup, Centre d'affaire la Boursidi�re - BP 159 - 92357 Le Plessis Robinson Cedex - France * * This program is free software; you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Foundation; * either version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with this program; * if not, see <http://www.gnu.org/licenses> */ package io.analytica.agent; import io.analytica.api.KProcess; import io.vertigo.lang.Component; /** * Agent de collecte des donn�es. * Collecte automatique des Process (les infos sont port�es par le thread courant). * * @author pchretien, npiedeloup * @version $Id: AgentManager.java,v 1.2 2012/03/19 09:03:31 npiedeloup Exp $ */ public interface AgentManager extends Component { /** * Enregistre dans le thread courant le d�marrage d'un process. * Doit respecter les r�gles sur le nom d'un process. * @param type Type de process * @param names Nom du process */ void startProcess(final String type, final String... names); /** * Incr�mentation d'une mesure du process courant (set si pas pr�sente). * @param measureType Nom de la mesure * @param value Valeur */ void incMeasure(final String measureType, final double value); /** * Annule et remplace une mesure du process courant. * @param measureType Nom de la mesure * @param value Valeur */ void setMeasure(final String measureType, final double value); /** * Ajoute une m�ta-donn�e du process courant (set si pas pr�sente). * TODO V0+ : voir si mutlivalu�e int�ressante. * @param metaDataName Nom de la m�ta donn�e * @param value Valeur */ void addMetaData(final String metaDataName, final String value); /** * Termine le process courant. * Le processus courant devient alors le processus parent le cas �ch�ant. */ void stopProcess(); /** * Ajout d'un process d�j� assembl� par une sonde. * Cet ajout peut-�tre multi-thread�. * @param process Process � ajouter */ void add(KProcess process); }