class Telemetry::Sampler { }

注意:此类是 Rakudo 特有功能,并非标准 Raku。

use Telemetry;
$*SAMPLER.set-instruments(<Usage ThreadPool>); # default setting 

通常不会创建任何 Telemetry::Sampler 对象:当加载 Telemetry 模块时,Telemetry::Sampler 对象会自动在 $*SAMPLER 动态变量中创建。

Telemetry::Sampler 类的对象了解在制作快照时要使用哪些仪器。

方法 new§

method new(Telemetry::Sampler: @instruments --> Telemetry::Sampler:D)

new 方法采用仪器列表。如果未指定任何仪器,则它将查看 RAKUDO_TELEMETRY_INSTRUMENTS 环境变量以查找仪器规范。如果两者均不可用,则会假定 Telemetry::Instrument::UsageTelemetry::Instrument::ThreadPool

可以通过仪器类的类型对象(例如 Telemetry::Instrument::Usage)或通过字符串指定仪器,在这种情况下,它将自动加上前缀“Telemetry::Instrument::”,因此“Usage”与 Telemetry::Instrument::Usage 相同。

方法 set-instruments§

method set-instruments(Telemetry::Sampler:D @instruments --> Nil)

允许更改现有 Instrument::Sampler 对象上的仪器。通常只在 $*SAMPLER 动态变量上调用它时使用。采用与 new 相同的参数,但指定仪器实际上会删除所有仪器,从而有效阻止任何快照拍摄。