/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.calcnode.stats;
/**
* Receives statistics on function invocation within a calculation node.
* <p>
* The statistics must be normalized to a common reference to eliminate differences in node performance.
*/
public interface FunctionInvocationStatisticsGatherer {
/**
* Records a successful function invocation.
*
* @param configurationName the configuration name, not null
* @param functionId the function id, not null
* @param invocationCount the number of invocations the data is for
* @param executionNanos the execution time, in nanoseconds, of the invocation(s)
* @param dataInputBytes the mean data input, bytes per input node, or {@code NaN} to mean statistics aren't available
* @param dataOutputBytes the mean data output, bytes per output node, or {@code NaN} to mean statistics aren't available
*/
void functionInvoked(
String configurationName, String functionId, int invocationCount,
double executionNanos, double dataInputBytes, double dataOutputBytes);
}