probe_index
interface, except
that an additional all_values() method returns an
attr_value_t
list of values as individually returned when calling
value(idx) on each indexed probe. Using all_values()
instead of looping over value(idx) can provide a significant
improvement in performance, depending on the number of probes whose values
need to be read, starting from a couple of probes.
The probe_sampler objects, provided in the probe-monitor
extension, make use of the all_values() method to boost their
performance when sampling probes implemented with the probe_array
interface.
SIM_INTERFACE(probe_array) { int (*num_indices)(conf_object_t *obj); attr_value_t (*value)(conf_object_t *obj, int idx); attr_value_t (*all_values)(conf_object_t *obj); attr_value_t (*properties)(conf_object_t *obj, int idx); }; #define PROBE_ARRAY_INTERFACE "probe_array"