def apply()

in server/src/main/scala/com/twitter/server/lint/NumberOfStatsReceiversRule.scala [8:31]


  def apply(): Rule =
    apply(DelegatingStatsReceiver.all(LoadedStatsReceiver))

  /** Exposed for testing */
  private[lint] def apply(statsReceivers: Seq[StatsReceiver]): Rule = {
    Rule(
      Category.Performance,
      "Number of StatsReceivers",
      "More than one StatsReceiver loaded causes a larger than necessary " +
        "memory footprint and slower runtime usage. Examine your (transitive) " +
        "dependencies and remove unwanted StatsReceivers either via dependency " +
        "management or the com.twitter.finagle.util.loadServiceDenied flag. " +
        "Alternatively, having none loaded indicates that the service will not " +
        "have any telemetry reported which is dangerous way to operate a service."
    ) {
      if (statsReceivers.size == 1) {
        Nil
      } else if (statsReceivers.isEmpty) {
        Seq(Issue("No StatsReceivers registered"))
      } else {
        Seq(Issue(s"Multiple StatsReceivers registered: ${statsReceivers.mkString(", ")}"))
      }
    }
  }