Skip to content

Commit 339a55f

Browse files
committed
feat(browser-setting): add item rng.speedChart.windowSize
1 parent cded9c5 commit 339a55f

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

src/app/@dataflow/extra/browser-setting-flow.ts

+13
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,23 @@ export interface IBrowserSetting {
2323
* - 如果与 rclone 服务器响应时间小于 100ms(通常在局域网下), 可以适当调低数值
2424
*/
2525
'rng.request-interval': number;
26+
/**
27+
* 速度图表的时间跨度, 速度图表只会保留最近一段时间内的数据
28+
*
29+
* 单位: 秒(s)
30+
*
31+
* 原则:
32+
* - 应小于 `rng.request-interval`(转化为相同单位后)
33+
*
34+
* 影响范围:
35+
* - dashboard 和 Job manager 中的速度图表时间跨度
36+
*/
37+
'rng.speedChart.windowSize': number;
2638
}
2739

2840
export const brwoserSettingDefault: IBrowserSetting = {
2941
'rng.request-interval': 3000,
42+
'rng.speedChart.windowSize': 60,
3043
};
3144

3245
export type NestedPartial<T> = {

src/app/@dataflow/extra/browser-setting-schema.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@
88
"rng.request-interval": {
99
"description": "请求间隔, 需要定时从rclone服务器中获取数据的时间间隔.\n\n单位: 毫秒(ms)\n\n影响范围:\n - 响应时间的刷新频率(位于主侧栏左上角)\n - Dashboard 和 Job Manager 的更新间隔\n\n建议:\n - 如果与 rclone 服务器响应时间小于 100ms(通常在局域网下), 可以适当调低数值",
1010
"type": "number"
11+
},
12+
"rng.speedChart.windowSize": {
13+
"description": "速度图表的时间跨度, 速度图表只会保留最近一段时间内的数据\n\n单位: 秒(s)\n\n原则:\n - 应小于 `rng.request-interval`(转化为相同单位后)\n\n影响范围:\n - dashboard 和 Job manager 中的速度图表时间跨度",
14+
"type": "number"
1115
}
1216
},
13-
"required": ["rng.request-interval"],
17+
"required": ["rng.request-interval", "rng.speedChart.windowSize"],
1418
"type": "object"
1519
}
1620
}

src/app/components/speed-chart/speed-chart.component.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import * as moment from 'moment';
44
import { BaseChartDirective, Color } from 'ng2-charts';
55
import { pairwise } from 'rxjs/operators';
66
import { CoreStatsFlow } from '../../@dataflow/rclone';
7+
import { BrowserSettingService } from '../../pages/settings/browser-setting/browser-setting.service';
78
import { FormatBytes } from '../../utils/format-bytes';
89

910
@Component({
@@ -40,7 +41,7 @@ import { FormatBytes } from '../../utils/format-bytes';
4041
],
4142
})
4243
export class RngSpeedChartComponent implements OnInit {
43-
constructor() {}
44+
constructor(private browserSettingService: BrowserSettingService) {}
4445
public lineChartData: ChartDataSets[] = [
4546
{
4647
data: [
@@ -182,6 +183,9 @@ export class RngSpeedChartComponent implements OnInit {
182183
speedDiff = 0;
183184

184185
ngOnInit() {
186+
this.browserSettingService
187+
.partialBrowserSetting$('rng.speedChart.windowSize')
188+
.subscribe(([v, err]) => (this.treadhold = v));
185189
const statsOut = this.stats$.getOutput();
186190
statsOut.subscribe(node => {
187191
if (node[1].length !== 0) return;

0 commit comments

Comments
 (0)