CalcConversionTime

org.eso.ias.extras.times.CalcConversionTime
See theCalcConversionTime companion object
class CalcConversionTime(servers: String) extends SimpleKafkaIasiosConsumer, IasioListener

CalcConversionTime continuosly gets IASIOs from the core topic and evaluate and periodically log the average time spent by the Converter.

The time is calculated by checking the timestamps of the IASIOs. To make calculation more precise (in spite of memory consumption) the process keep in memory all the evaluated times

The tool logs 2 average times:

  • total, end to end: from when the plugin pushed the value in the plugin topic to the moment the converter push the IASIO in the core topic
  • conversion time: from when the converter takes the value from the plugin topic to the moment the IASIO i spushed in the BSDB

The former takes into account the delay a value remains in the plugin topic before being processed. If it is too long then it is probably the case to deploy another converter.

The latter is pure converter calculation and should never grow substantially.

Value parameters

servers

Kafka brokers

Attributes

Companion
object
Graph
Supertypes
trait IasioListener
class SimpleKafkaIasiosConsumer
trait StringsConsumer
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def iasiosReceived(events: Collection[IASValue[_]]): Unit

Process the IASIOs consumed from the core topic to extract times

Process the IASIOs consumed from the core topic to extract times

Attributes

Definition Classes
IasioListener
def logTimes(): Unit

Logs the average time

Logs the average time

Attributes

def shutdown(): Unit
def start(): Unit

Inherited methods

Attributes

Inherited from:
SimpleKafkaIasiosConsumer
def setUp(): Unit

Attributes

Inherited from:
SimpleKafkaIasiosConsumer
def setUp(x$0: Properties): Unit

Attributes

Inherited from:
SimpleKafkaIasiosConsumer
def startGettingEvents(x$0: StreamPosition, x$1: IasioListener): Unit

Attributes

Inherited from:
SimpleKafkaIasiosConsumer
def stringsReceived(x$0: Collection[String]): Unit

Attributes

Inherited from:
SimpleKafkaIasiosConsumer
def tearDown(): Unit

Attributes

Inherited from:
SimpleKafkaIasiosConsumer

Concrete fields

val endToEndSamples: AtomicLong

The number of sample to calculate the end to end average

The number of sample to calculate the end to end average

Attributes

val endToEndTimes: AtomicLong

The sum of all the total times to convert i.e from the sentToConverterTimestamp to the sentToBsdTimestamp. The sum is needed to calculate the mathematical average of all the sameples whose number is stored in endToEndSamples

The sum of all the total times to convert i.e from the sentToConverterTimestamp to the sentToBsdTimestamp. The sum is needed to calculate the mathematical average of all the sameples whose number is stored in endToEndSamples

The times summed in this accumulator are the time from when the plugin submitted the value to the plugin topic (sentToConvertTStamp) till the moment the converter pushes the IASIO in the core topic

Attributes

val executor: ScheduledExecutorService

The executor to periodically log the average time

The executor to periodically log the average time

Attributes

val iasiosProcessed: AtomicLong

Total number of IASIOs received so far

Total number of IASIOs received so far

Attributes

val iasiosProcessedPastTimeInt: AtomicLong

Total number of IASIOs received in the past time interval

Total number of IASIOs received in the past time interval

Attributes

val maxTimeShift: AtomicLong

Max time difference between the actual time and the time when a IASIOs has been put in the BSDB (i.e. sentToBsdTStamp) since the begining of the execution

Max time difference between the actual time and the time when a IASIOs has been put in the BSDB (i.e. sentToBsdTStamp) since the begining of the execution

Attributes

val maxTimeShiftPastTimeInt: AtomicLong

Max time difference between the actual time and the time when a IASIOs has been put in the BSDB (i.e. sentToBsdTStamp) in the past time interval

Max time difference between the actual time and the time when a IASIOs has been put in the BSDB (i.e. sentToBsdTStamp) in the past time interval

Attributes

val timesOfConverter: AtomicLong

The sum of the times spent by the converter converting the IASIOs consumed by the plugin core into IASIOs The sum is needed to alculate the mathematical average of all the sameples whose number is stored in timesOfConverterSamples

The sum of the times spent by the converter converting the IASIOs consumed by the plugin core into IASIOs The sum is needed to alculate the mathematical average of all the sameples whose number is stored in timesOfConverterSamples

The times summed in this accumulatoe are the time between recv from plugin to the sentToBsdbTStamop

Attributes

val timesOfConverterSamples: AtomicLong

The number of sample to calculate the average of the time of the converter

The number of sample to calculate the average of the time of the converter

Attributes

Inherited fields

final val seekIfOlderThan: Long

Attributes

Inherited from:
SimpleKafkaIasiosConsumer