mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-18 19:59:09 +00:00
added CPU metering for backend polar computation (key "BACKEND_POLARS")
This commit is contained in:
@@ -12,5 +12,5 @@ import com.sap.sse.metering.CPUMeter;
|
||||
*
|
||||
*/
|
||||
public enum CPUMeteringType {
|
||||
NET_POINTS_SUM, COMPETITORS_FROM_BEST_TO_WORST, MANEUVER_DETECTION, QUICK_RANKS, CROSS_TRACK_ERROR, SIMULATOR, LEADERBOARD_COMPUTE_DTO, MARK_PASSINGS;
|
||||
NET_POINTS_SUM, COMPETITORS_FROM_BEST_TO_WORST, MANEUVER_DETECTION, QUICK_RANKS, CROSS_TRACK_ERROR, SIMULATOR, LEADERBOARD_COMPUTE_DTO, MARK_PASSINGS, BACKEND_POLARS;
|
||||
}
|
||||
|
||||
+4
-1
@@ -4,6 +4,7 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.CPUMeteringType;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.SpeedWithBearingWithConfidence;
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
@@ -54,7 +55,9 @@ public class GPSFixMovingWithPolarContext implements LegTypePolarClusterKey, Ang
|
||||
this.angleClusterGroup = angleClusterGroup;
|
||||
this.windSourcesToExcludeForSpeed = collectWindSourcesToIgnoreForSpeed();
|
||||
this.absTrueWindAngle = computeTrueWindAngleAbsolute();
|
||||
this.wind = race.getWindWithConfidence(fix.getPosition(), fix.getTimePoint(), windSourcesToExcludeForSpeed);
|
||||
this.wind = race.getTrackedRegatta().getCPUMeter().callWithCPUMeter(
|
||||
() -> race.getWindWithConfidence(fix.getPosition(), fix.getTimePoint(), windSourcesToExcludeForSpeed),
|
||||
CPUMeteringType.BACKEND_POLARS.name());
|
||||
this.boatSpeed = computeBoatSpeed();
|
||||
}
|
||||
|
||||
|
||||
@@ -173,8 +173,7 @@ public class PolarDataMiner {
|
||||
Processor<GPSFixMovingWithPolarContext, GPSFixMovingWithPolarContext> filteringProcessor = new ParallelFilteringProcessor<GPSFixMovingWithPolarContext>(
|
||||
GPSFixMovingWithPolarContext.class, executor, filteringResultReceivers, new PolarFixFilterCriteria(
|
||||
backendPolarSheetGenerationSettings.getPctOfLeadingCompetitorsToInclude()));
|
||||
Collection<Processor<GPSFixMovingWithPolarContext, ?>> enrichingResultReceivers = Arrays
|
||||
.asList(filteringProcessor);
|
||||
Collection<Processor<GPSFixMovingWithPolarContext, ?>> enrichingResultReceivers = Arrays.asList(filteringProcessor);
|
||||
AbstractEnrichingProcessor<GPSFixMovingWithOriginInfo, GPSFixMovingWithPolarContext> enrichingProcessor = new AbstractEnrichingProcessor<GPSFixMovingWithOriginInfo, GPSFixMovingWithPolarContext>(
|
||||
GPSFixMovingWithOriginInfo.class, GPSFixMovingWithPolarContext.class, executor,
|
||||
enrichingResultReceivers) {
|
||||
@@ -186,8 +185,7 @@ public class PolarDataMiner {
|
||||
return result;
|
||||
}
|
||||
};
|
||||
Collection<Processor<GPSFixMovingWithOriginInfo, ?>> preFilterResultReceivers = Arrays
|
||||
.asList(enrichingProcessor);
|
||||
Collection<Processor<GPSFixMovingWithOriginInfo, ?>> preFilterResultReceivers = Arrays.asList(enrichingProcessor);
|
||||
preFilteringProcessor = new ParallelFilteringProcessor<GPSFixMovingWithOriginInfo>(
|
||||
GPSFixMovingWithOriginInfo.class, executor, preFilterResultReceivers,
|
||||
new FilterCriterion<GPSFixMovingWithOriginInfo>() {
|
||||
|
||||
Reference in New Issue
Block a user