class UdfMetricProducer implements Kudf {

  @Override
  public Object evaluate(final Object... args) {
    final long start = time.nanoseconds();
    try {
      return kudf.evaluate(args);
    } finally {
      sensor.record(time.nanoseconds() - start);
    }
  }

    UdfMetricProducer(final Sensor sensor,
                    final Kudf kudf,
                    final Time time);

}