blob: 827d7cb10ad775a6cddfea7a1fb05ad62e0db105 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2022 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.tracecompass.internal.common.core.log;
import javax.management.MXBean;
/**
* Trace Compass Monitor MXBean interface. Needed to publish MXBeans.
*
* An MXBean is a managed java object that uses Java Management (JMX) to publish
* information. MXBeans have a pre-defined datatype, and in this case will be
* SimpleTypes. This allows the value to be easily plotted.
*
* @author Matthew Khouzam
*/
@MXBean
public interface ITraceCompassMonitor {
/**
* Get the observed element name
*
* @return the observed element names (in the order of being added)
*/
String getObservedElementName();
/**
* Get the mean (average) time
*
* @return the average times (same order as the element names)
*/
double getMeanTime();
/**
* Get the total (sum) time
*
* @return the sum times (same order as the element names)
*/
long getTotalTime();
/**
* Get the number of times (count) the element is added
*
* @return the count of elements added (same order as the element names)
*/
long getCount();
/**
* Get the minimum time
*
* @return the minimum times
*/
long getMinTime();
/**
* Get the maximum time
*
* @return the maximum times
*/
long getMaxTime();
}