MetricsBase

constructor(platform: String, serverUuid: String, serviceId: Int, enabled: Boolean, appendPlatformDataConsumer: Consumer<Metrics.JsonObjectBuilder>, appendServiceDataConsumer: Consumer<Metrics.JsonObjectBuilder>, submitTaskConsumer: Consumer<Runnable>, checkServiceEnabledSupplier: Supplier<Boolean>, errorLogger: BiConsumer<String, Throwable>, infoLogger: Consumer<String>, logErrors: Boolean, logSentData: Boolean, logResponseStatusText: Boolean, skipRelocateCheck: Boolean)

Creates a new MetricsBase class instance.

Parameters

platform

The platform of the service.

serviceId

The id of the service.

serverUuid

The server uuid.

enabled

Whether or not data sending is enabled.

appendPlatformDataConsumer

A consumer that receives a JsonObjectBuilder and appends all platform-specific data.

appendServiceDataConsumer

A consumer that receives a JsonObjectBuilder and appends all service-specific data.

submitTaskConsumer

A consumer that takes a runnable with the submit task. This can be used to delegate the data collection to a another thread to prevent errors caused by concurrency. Can be null.

checkServiceEnabledSupplier

A supplier to check if the service is still enabled.

errorLogger

A consumer that accepts log message and an error.

infoLogger

A consumer that accepts info log messages.

logErrors

Whether or not errors should be logged.

logSentData

Whether or not the sent data should be logged.

logResponseStatusText

Whether or not the response status text should be logged.

skipRelocateCheck

Whether or not the relocate check should be skipped.