注意:此类是 Rakudo 特有功能,并非标准 Raku。
use Telemetry;.set-instruments(<Usage ThreadPool>); # default setting
通常不会创建任何 Telemetry::Sampler
对象:当加载 Telemetry
模块时,Telemetry::Sampler
对象会自动在 $*SAMPLER
动态变量中创建。
Telemetry::Sampler
类的对象了解在制作快照时要使用哪些仪器。
方法 new§
method new(Telemetry::Sampler: --> Telemetry::Sampler)
new
方法采用仪器列表。如果未指定任何仪器,则它将查看 RAKUDO_TELEMETRY_INSTRUMENTS
环境变量以查找仪器规范。如果两者均不可用,则会假定 Telemetry::Instrument::Usage
和 Telemetry::Instrument::ThreadPool
。
可以通过仪器类的类型对象(例如 Telemetry::Instrument::Usage
)或通过字符串指定仪器,在这种情况下,它将自动加上前缀“Telemetry::Instrument::”,因此“Usage”与 Telemetry::Instrument::Usage
相同。
方法 set-instruments§
method set-instruments(Telemetry::Sampler --> Nil)
允许更改现有 Instrument::Sampler
对象上的仪器。通常只在 $*SAMPLER
动态变量上调用它时使用。采用与 new 相同的参数,但指定无仪器实际上会删除所有仪器,从而有效阻止任何快照拍摄。