diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/Metric.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/Metric.kt index 68b2e1d8ceac..94587c60c2ce 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/Metric.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/Metric.kt @@ -36,10 +36,8 @@ interface Metric { val maximumSessions: Int get() = 75000 - fun shouldComputeIntervals(numberOfSessions: Int): Boolean { - if (numberOfSessions > maximumSessions) LOG.warn("Confidence Interval not calculated for metric $name because number of sessions $numberOfSessions exceeds maximum threshold $maximumSessions") - return numberOfSessions <= maximumSessions && System.getenv("cce_compute_confidence_intervals")?.toBooleanStrictOrNull() == true - } + fun shouldComputeIntervals(numberOfSessions: Int): Boolean = + numberOfSessions <= maximumSessions && System.getenv("cce_compute_confidence_intervals")?.toBooleanStrictOrNull() == true companion object { val LOG: Logger = thisLogger() diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/MetricsEvaluator.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/MetricsEvaluator.kt index 2c6686f2675e..38785de291c5 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/MetricsEvaluator.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/metric/MetricsEvaluator.kt @@ -2,6 +2,8 @@ package com.intellij.cce.metric import com.intellij.cce.core.Session +import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.thisLogger class MetricsEvaluator private constructor(private val evaluationType: String) { companion object { @@ -16,6 +18,8 @@ class MetricsEvaluator private constructor(private val evaluationType: String) { evaluator.registerMetrics(metrics) return evaluator } + + val LOG: Logger = thisLogger() } private val metrics = mutableListOf() @@ -36,6 +40,9 @@ class MetricsEvaluator private constructor(private val evaluationType: String) { fun evaluate(sessions: List, numberOfSessions: Int): List { return metrics.map { metric -> + if(numberOfSessions > metric.maximumSessions) + LOG.warn("Confidence Interval not calculated for metric ${metric.name} because number of sessions $numberOfSessions exceeds maximum threshold of ${metric.maximumSessions} maximumSessions") + val (overallScore, individualScores) = if (metric.supportsIndividualScores) { val evaluationResult = metric.evaluateWithIndividualScores(sessions) evaluationResult.overallScore.toDouble() to evaluationResult.sessionIndividualScores