第165章 写新功能才是王道(第2页)

 “本方法假定hyper达到drs设置的阈值,充分考虑偶发抖动现象,判断该hyper是否需要动态调度。”

 接着写了一段代码:

 def needs_mem_dynamic_scheduling(hyper_id, tolerance=0.1):

 threshold = get_hyper_drs_threshold(hyper_id, ';mem';)

 cycle = get_hyper_drs_cycle(hyper_id, ';mem';)

 monitor_data = get_hyper_mem_monitor_data(hyper_id, cycle)

 ……

 这代码是简单写的。

 被调用的函数,get_hyper_mem_monitor_data原本就有。

 get_hyper_drs_threshold、get_hyper_drs_cycle等则是现编的。

 写完之后,眼前迅速出现红点。

 扫视下来……

 脑中缺陷提示不断飘过:

 “get_hyper_drs_threshold未定义。”

 “get_hyper_drs_cycle未定义。”

 “获取的内存监控数据只传递采样周期,未传递起止时间……”

 “内存抖动容忍度仅考虑幅度,未考虑超过阈值的连续性……”

 “未考虑观察队列,对周期性抖动、全局资源分配考虑不足……”

 每一处的掌握度,都是——

 100%!

 自己写的代码,自然完全掌握!

 王霁按提示内容修改,每改动一处,有时会有新的缺陷提示,有时缺陷彻底消除,表明代码达到了效果。

 遇到稍复杂的逻辑,就提交给Copilot,让它给出样例。

 用几分钟看懂样例的逻辑,再扔到代码编辑器……

 缺陷提示立即出现!

 等于是……

 代码指南针。

 只要讲清楚想去南方,迈步随意朝一个方向走,如果走错了,指南针就会精确提示:“应当左转132度。”

 这能力以前用来改bug、找问题,现在发现,写新功能才是王道!

 写完主逻辑,王霁继续丰富细节。

 哒哒哒哒哒哒——

 又一行注释在屏幕出现:

 “本方法将hyper集群cpu/内存/系统盘监控、vm信息作为参考,选出适合迁移的源hyper vm和目标hyper。”

 接着是代码:

 def get_drs_rebalance_pair(source_hyper_id):

 hyper = get_hyper_info(source_hyper_id)

 place_group_id = hyper[";place_group";]

 cluster_cpu_data = get_puting_nodes_cpu_monitor_data(place_group_id)