Skip to content

ConnectorStats Class

The ConnectorStats class is a part of the org.sunbird.obsrv.connector.model package. It encapsulates the statistics information for a connector instance, allowing for the tracking and management of various metrics associated with the connector’s performance.

Ref: https://github.com/Sunbird-Obsrv/connector-sdk-scala/blob/main/connector-sdk-core/src/main/scala/org/sunbird/obsrv/connector/model/ConnectorStats.scala

  • Description: The unique identifier for the specific instance of the connector.
  • Description: The JSON representation of the statistics for the connector instance.
  • Description: A mutable map that holds the statistics metrics for the connector instance.
  • Description: Retrieves the value of the specified metric.
  • Parameters: metric - The name of the metric to retrieve.
  • Returns: An Option containing the value of the metric, if it exists.

getStat[T](metric: String, defaultValue: T): T

Section titled “getStat[T](metric: String, defaultValue: T): T”
  • Description: Retrieves the value of the specified metric, or returns a default value if the metric does not exist.
  • Parameters:
    • metric - The name of the metric to retrieve.
    • defaultValue - The default value to return if the metric does not exist.
  • Returns: The value of the metric, or the default value.

putStat[T <: AnyRef](metric: String, value: T): Unit

Section titled “putStat[T <: AnyRef](metric: String, value: T): Unit”
  • Description: Adds or updates the value of the specified metric.
  • Parameters:
    • metric - The name of the metric to add or update.
    • value - The value to set for the metric.

removeStat(metric: String): Option[AnyRef]

Section titled “removeStat(metric: String): Option[AnyRef]”
  • Description: Removes the specified metric from the statistics.
  • Parameters: metric - The name of the metric to remove.
  • Returns: An Option containing the removed value, if it existed.
  • Description: Serializes the statistics to a JSON string.
  • Returns: A JSON string representation of the statistics.
  • Description: Saves the current statistics to the database.
  • Throws: ObsrvException if the statistics could not be saved.

The ConnectorStats class is used to manage and track the performance metrics of a connector instance. It provides methods to access, update, and persist these metrics.

import org.sunbird.obsrv.connector.model.ConnectorStats
import org.sunbird.obsrv.job.util.PostgresConnectionConfig
implicit val postgresConfig: PostgresConnectionConfig = // initialize config
val stats = new ConnectorStats("connectorInstanceId", None)
// Accessing and updating stats
stats.putStat("metric1", 100.asInstanceOf[AnyRef])
println(stats.getStat[Int]("metric1"))
stats.saveStats()