java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/CPUMeteringType.java
... ...
@@ -12,5 +12,5 @@ import com.sap.sse.metering.CPUMeter;
12 12
*
13 13
*/
14 14
public enum CPUMeteringType {
15
- NET_POINTS_SUM, COMPETITORS_FROM_BEST_TO_WORST, MANEUVER_DETECTION, QUICK_RANKS, CROSS_TRACK_ERROR, SIMULATOR, LEADERBOARD_COMPUTE_DTO, MARK_PASSINGS;
15
+ NET_POINTS_SUM, COMPETITORS_FROM_BEST_TO_WORST, MANEUVER_DETECTION, QUICK_RANKS, CROSS_TRACK_ERROR, SIMULATOR, LEADERBOARD_COMPUTE_DTO, MARK_PASSINGS, BACKEND_POLARS;
16 16
}
java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/GPSFixMovingWithPolarContext.java
... ...
@@ -4,6 +4,7 @@ import java.util.HashSet;
4 4
import java.util.Set;
5 5
6 6
import com.sap.sailing.domain.base.BoatClass;
7
+import com.sap.sailing.domain.base.CPUMeteringType;
7 8
import com.sap.sailing.domain.base.Competitor;
8 9
import com.sap.sailing.domain.base.SpeedWithBearingWithConfidence;
9 10
import com.sap.sailing.domain.common.LegType;
... ...
@@ -54,7 +55,9 @@ public class GPSFixMovingWithPolarContext implements LegTypePolarClusterKey, Ang
54 55
this.angleClusterGroup = angleClusterGroup;
55 56
this.windSourcesToExcludeForSpeed = collectWindSourcesToIgnoreForSpeed();
56 57
this.absTrueWindAngle = computeTrueWindAngleAbsolute();
57
- this.wind = race.getWindWithConfidence(fix.getPosition(), fix.getTimePoint(), windSourcesToExcludeForSpeed);
58
+ this.wind = race.getTrackedRegatta().getCPUMeter().callWithCPUMeter(
59
+ () -> race.getWindWithConfidence(fix.getPosition(), fix.getTimePoint(), windSourcesToExcludeForSpeed),
60
+ CPUMeteringType.BACKEND_POLARS.name());
58 61
this.boatSpeed = computeBoatSpeed();
59 62
}
60 63
java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/PolarDataMiner.java
... ...
@@ -173,8 +173,7 @@ public class PolarDataMiner {
173 173
Processor<GPSFixMovingWithPolarContext, GPSFixMovingWithPolarContext> filteringProcessor = new ParallelFilteringProcessor<GPSFixMovingWithPolarContext>(
174 174
GPSFixMovingWithPolarContext.class, executor, filteringResultReceivers, new PolarFixFilterCriteria(
175 175
backendPolarSheetGenerationSettings.getPctOfLeadingCompetitorsToInclude()));
176
- Collection<Processor<GPSFixMovingWithPolarContext, ?>> enrichingResultReceivers = Arrays
177
- .asList(filteringProcessor);
176
+ Collection<Processor<GPSFixMovingWithPolarContext, ?>> enrichingResultReceivers = Arrays.asList(filteringProcessor);
178 177
AbstractEnrichingProcessor<GPSFixMovingWithOriginInfo, GPSFixMovingWithPolarContext> enrichingProcessor = new AbstractEnrichingProcessor<GPSFixMovingWithOriginInfo, GPSFixMovingWithPolarContext>(
179 178
GPSFixMovingWithOriginInfo.class, GPSFixMovingWithPolarContext.class, executor,
180 179
enrichingResultReceivers) {
... ...
@@ -186,8 +185,7 @@ public class PolarDataMiner {
186 185
return result;
187 186
}
188 187
};
189
- Collection<Processor<GPSFixMovingWithOriginInfo, ?>> preFilterResultReceivers = Arrays
190
- .asList(enrichingProcessor);
188
+ Collection<Processor<GPSFixMovingWithOriginInfo, ?>> preFilterResultReceivers = Arrays.asList(enrichingProcessor);
191 189
preFilteringProcessor = new ParallelFilteringProcessor<GPSFixMovingWithOriginInfo>(
192 190
GPSFixMovingWithOriginInfo.class, executor, preFilterResultReceivers,
193 191
new FilterCriterion<GPSFixMovingWithOriginInfo>() {