public static listFarmRoleMetric ( integer $farmRoleId ) : array | ||
$farmRoleId | integer | farm-role identifier |
return | array |
public static function listFarmRoleMetric($farmRoleId)
{
$result = [];
/* @var $metric ScalingMetric */
$metric = new ScalingMetric();
/* @var $farmRoleMetric FarmRoleScalingMetric */
$farmRoleMetric = new FarmRoleScalingMetric();
$criteria[static::STMT_FROM] = "{$metric->table()} JOIN {$farmRoleMetric->table()} ON {$farmRoleMetric->columnMetricId} = {$metric->columnId}";
$criteria[static::STMT_WHERE] = "{$farmRoleMetric->columnFarmRoleId} = {$farmRoleId}";
$farmRoleMetrics = ScalingMetric::find($criteria);
if ($farmRoleMetrics->count() > 0) {
/* @var $scalingMetric ScalingMetric */
foreach ($farmRoleMetrics as $scalingMetric) {
$result[] = $scalingMetric->name;
}
}
return $result;
}
/** * Gets scaling configuration data * * @param FarmRole $role FarmRole entity * * @return array ScalingConfiguration representation * * @see <need link to public API documentation> */ public static function getScalingConfiguration(FarmRole $role) { $configuration = []; if (!empty($role->settings[FarmRoleSetting::SCALING_ENABLED])) { $configuration['enabled'] = !!$role->settings[FarmRoleSetting::SCALING_ENABLED]; } if (!empty($role->settings[FarmRoleSetting::SCALING_MIN_INSTANCES])) { $configuration['minInstances'] = $role->settings[FarmRoleSetting::SCALING_MIN_INSTANCES]; } if (!empty($role->settings[FarmRoleSetting::SCALING_MAX_INSTANCES])) { $configuration['maxInstances'] = $role->settings[FarmRoleSetting::SCALING_MAX_INSTANCES]; } $configuration['rules'] = ScalingMetricAdapter::metricNameToData(FarmRole::listFarmRoleMetric($role->id)); return $configuration; }