kafka.utils

Throttler

class Throttler extends Logging with KafkaMetricsGroup

A class to measure and throttle the rate of some process. The throttler takes a desired rate-per-second (the units of the process don't matter, it could be bytes or a count of some other thing), and will sleep for an appropriate amount of time when maybeThrottle() is called to attain the desired rate.

Annotations
@threadsafe()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Throttler
  2. KafkaMetricsGroup
  3. Logging
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Throttler(desiredRatePerSec: Double, checkIntervalMs: Long = 100L, throttleDown: Boolean = true, metricName: String = "throttler", units: String = "entries", time: Time = SystemTime)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. val checkIntervalMs: Long

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def debug(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  10. def debug(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  11. def debug(msg: ⇒ String): Unit

    Definition Classes
    Logging
  12. val desiredRatePerSec: Double

  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def error(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  16. def error(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  17. def error(msg: ⇒ String): Unit

    Definition Classes
    Logging
  18. def fatal(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  19. def fatal(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  20. def fatal(msg: ⇒ String): Unit

    Definition Classes
    Logging
  21. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  24. def info(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  25. def info(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  26. def info(msg: ⇒ String): Unit

    Definition Classes
    Logging
  27. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  28. var logIdent: String

    Attributes
    protected
    Definition Classes
    Logging
  29. lazy val logger: Logger

    Definition Classes
    Logging
  30. val loggerName: String

    Definition Classes
    Logging
  31. def maybeThrottle(observed: Double): Unit

  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. def newGauge[T](name: String, metric: Gauge[T], tags: Map[String, String] = Map.empty): Gauge[T]

    Definition Classes
    KafkaMetricsGroup
  34. def newHistogram(name: String, biased: Boolean = true, tags: Map[String, String] = Map.empty): Histogram

    Definition Classes
    KafkaMetricsGroup
  35. def newMeter(name: String, eventType: String, timeUnit: TimeUnit, tags: Map[String, String] = Map.empty): Meter

    Definition Classes
    KafkaMetricsGroup
  36. def newTimer(name: String, durationUnit: TimeUnit, rateUnit: TimeUnit, tags: Map[String, String] = Map.empty): Timer

    Definition Classes
    KafkaMetricsGroup
  37. final def notify(): Unit

    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  39. def removeMetric(name: String, tags: Map[String, String] = Map.empty): Unit

    Definition Classes
    KafkaMetricsGroup
  40. def swallow(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  41. def swallowDebug(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  42. def swallowError(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  43. def swallowInfo(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  44. def swallowTrace(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  45. def swallowWarn(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  46. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  47. val throttleDown: Boolean

  48. val time: Time

  49. def toString(): String

    Definition Classes
    AnyRef → Any
  50. def trace(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  51. def trace(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  52. def trace(msg: ⇒ String): Unit

    Definition Classes
    Logging
  53. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. def warn(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  57. def warn(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  58. def warn(msg: ⇒ String): Unit

    Definition Classes
    Logging

Inherited from KafkaMetricsGroup

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped