mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-29 10:54:46 +02:00
Add UI for cpu pinning (#652)
* add ui for cpu pinning * create "advanced" section
This commit is contained in:
parent
6655ccca6e
commit
94420d06be
@ -627,14 +627,24 @@ class CreateServer extends CreateRecord
|
|||||||
->minValue(0)
|
->minValue(0)
|
||||||
->helperText('100% equals one CPU core.'),
|
->helperText('100% equals one CPU core.'),
|
||||||
]),
|
]),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Fieldset::make('Advanced Limits')
|
||||||
|
->columnSpan(6)
|
||||||
|
->columns([
|
||||||
|
'default' => 1,
|
||||||
|
'sm' => 2,
|
||||||
|
'md' => 3,
|
||||||
|
'lg' => 3,
|
||||||
|
])
|
||||||
|
->schema([
|
||||||
Grid::make()
|
Grid::make()
|
||||||
->columns(4)
|
->columns(4)
|
||||||
->columnSpanFull()
|
->columnSpanFull()
|
||||||
->schema([
|
->schema([
|
||||||
ToggleButtons::make('swap_support')
|
ToggleButtons::make('swap_support')
|
||||||
->live()
|
->live()
|
||||||
->label('Enable Swap Memory')
|
->label('Swap Memory')
|
||||||
->inlineLabel()
|
->inlineLabel()
|
||||||
->inline()
|
->inline()
|
||||||
->columnSpan(2)
|
->columnSpan(2)
|
||||||
@ -681,6 +691,36 @@ class CreateServer extends CreateRecord
|
|||||||
->label('Block IO Proportion')
|
->label('Block IO Proportion')
|
||||||
->default(500),
|
->default(500),
|
||||||
|
|
||||||
|
Grid::make()
|
||||||
|
->columns(4)
|
||||||
|
->columnSpanFull()
|
||||||
|
->schema([
|
||||||
|
ToggleButtons::make('cpu_pinning')
|
||||||
|
->label('CPU Pinning')->inlineLabel()->inline()
|
||||||
|
->default(false)
|
||||||
|
->afterStateUpdated(fn (Set $set) => $set('threads', []))
|
||||||
|
->live()
|
||||||
|
->options([
|
||||||
|
false => 'Disabled',
|
||||||
|
true => 'Enabled',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
false => 'success',
|
||||||
|
true => 'warning',
|
||||||
|
])
|
||||||
|
->columnSpan(2),
|
||||||
|
|
||||||
|
TagsInput::make('threads')
|
||||||
|
->dehydratedWhenHidden()
|
||||||
|
->hidden(fn (Get $get) => !$get('cpu_pinning'))
|
||||||
|
->label('Pinned Threads')->inlineLabel()
|
||||||
|
->required()
|
||||||
|
->columnSpan(2)
|
||||||
|
->separator()
|
||||||
|
->splitKeys([','])
|
||||||
|
->placeholder('Add pinned thread, e.g. 0 or 2-4'),
|
||||||
|
]),
|
||||||
|
|
||||||
Grid::make()
|
Grid::make()
|
||||||
->columns(4)
|
->columns(4)
|
||||||
->columnSpanFull()
|
->columnSpanFull()
|
||||||
|
@ -24,10 +24,12 @@ use Filament\Forms\Components\Actions\Action;
|
|||||||
use Filament\Forms\Components\CheckboxList;
|
use Filament\Forms\Components\CheckboxList;
|
||||||
use Filament\Forms\Components\Fieldset;
|
use Filament\Forms\Components\Fieldset;
|
||||||
use Filament\Forms\Components\Grid;
|
use Filament\Forms\Components\Grid;
|
||||||
|
use Filament\Forms\Components\Hidden;
|
||||||
use Filament\Forms\Components\Repeater;
|
use Filament\Forms\Components\Repeater;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
use Filament\Forms\Components\Tabs;
|
use Filament\Forms\Components\Tabs;
|
||||||
use Filament\Forms\Components\Tabs\Tab;
|
use Filament\Forms\Components\Tabs\Tab;
|
||||||
|
use Filament\Forms\Components\TagsInput;
|
||||||
use Filament\Forms\Components\Textarea;
|
use Filament\Forms\Components\Textarea;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use Filament\Forms\Components\ToggleButtons;
|
use Filament\Forms\Components\ToggleButtons;
|
||||||
@ -263,14 +265,23 @@ class EditServer extends EditRecord
|
|||||||
->numeric()
|
->numeric()
|
||||||
->minValue(0),
|
->minValue(0),
|
||||||
]),
|
]),
|
||||||
|
]),
|
||||||
|
|
||||||
|
Fieldset::make('Advanced Limits')
|
||||||
|
->columns([
|
||||||
|
'default' => 1,
|
||||||
|
'sm' => 2,
|
||||||
|
'md' => 3,
|
||||||
|
'lg' => 3,
|
||||||
|
])
|
||||||
|
->schema([
|
||||||
Grid::make()
|
Grid::make()
|
||||||
->columns(4)
|
->columns(4)
|
||||||
->columnSpanFull()
|
->columnSpanFull()
|
||||||
->schema([
|
->schema([
|
||||||
ToggleButtons::make('swap_support')
|
ToggleButtons::make('swap_support')
|
||||||
->live()
|
->live()
|
||||||
->label('Enable Swap Memory')->inlineLabel()->inline()
|
->label('Swap Memory')->inlineLabel()->inline()
|
||||||
->columnSpan(2)
|
->columnSpan(2)
|
||||||
->afterStateUpdated(function ($state, Set $set) {
|
->afterStateUpdated(function ($state, Set $set) {
|
||||||
$value = match ($state) {
|
$value = match ($state) {
|
||||||
@ -315,10 +326,41 @@ class EditServer extends EditRecord
|
|||||||
->integer(),
|
->integer(),
|
||||||
]),
|
]),
|
||||||
|
|
||||||
Forms\Components\Hidden::make('io')
|
Hidden::make('io')
|
||||||
->helperText('The IO performance relative to other running containers')
|
->helperText('The IO performance relative to other running containers')
|
||||||
->label('Block IO Proportion'),
|
->label('Block IO Proportion'),
|
||||||
|
|
||||||
|
Grid::make()
|
||||||
|
->columns(4)
|
||||||
|
->columnSpanFull()
|
||||||
|
->schema([
|
||||||
|
ToggleButtons::make('cpu_pinning')
|
||||||
|
->label('CPU Pinning')->inlineLabel()->inline()
|
||||||
|
->default(false)
|
||||||
|
->afterStateUpdated(fn (Set $set) => $set('threads', []))
|
||||||
|
->formatStateUsing(fn (Get $get) => !empty($get('threads')))
|
||||||
|
->live()
|
||||||
|
->options([
|
||||||
|
false => 'Disabled',
|
||||||
|
true => 'Enabled',
|
||||||
|
])
|
||||||
|
->colors([
|
||||||
|
false => 'success',
|
||||||
|
true => 'warning',
|
||||||
|
])
|
||||||
|
->columnSpan(2),
|
||||||
|
|
||||||
|
TagsInput::make('threads')
|
||||||
|
->dehydratedWhenHidden()
|
||||||
|
->hidden(fn (Get $get) => !$get('cpu_pinning'))
|
||||||
|
->label('Pinned Threads')->inlineLabel()
|
||||||
|
->required()
|
||||||
|
->columnSpan(2)
|
||||||
|
->separator()
|
||||||
|
->splitKeys([','])
|
||||||
|
->placeholder('Add pinned thread, e.g. 0 or 2-4'),
|
||||||
|
]),
|
||||||
|
|
||||||
Grid::make()
|
Grid::make()
|
||||||
->columns(4)
|
->columns(4)
|
||||||
->columnSpanFull()
|
->columnSpanFull()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user