configs/usercall.toml (33 lines of code) (raw):
# This example configuration covers detailed configuration for the usercall sampler
# This sampler allows you to attach a probe to a user space library and export the number of times
# that it has been called.
[general]
listen = "0.0.0.0:4242"
[samplers.usercall]
enabled = true
# WARNING: Probing the same function in the same library file will result in one of the probes
# being discarded.
# Exporting metrics for libcurl by searching in the default paths.
[[samplers.usercall.libraries]]
# This is the name for the library that is exported. It will show up in the metric path.
name = "curl"
# Since no path is specified, rezolus will search in the following directories:
# "/lib64", "/usr/lib64", "/usr/local/lib64", "/lib", "/usr/lib", "/usr/local/lib" looking for
# variants of curl.so, libcurl.so and libcurl.so.5
functions = ["curl_global_init"]
# Below is an example of exporting metrics for two different versions of the same KRB library by
# specifying the exact file to be probed.
[[samplers.usercall.libraries]]
# This is the name for the library that is exported. It will show up in the metric path.
name = "krb3"
# This is the path to the library that will be probed.
path = "/usr/lib/x86_64-linux-gnu/libkrb5.so.3"
# Export usercall/krb3/krb5_cc_get_principal and usercall/krb3/krb5_parse_name_flags
functions = ["krb5_cc_get_principal", "krb5_parse_name_flags"]
[[samplers.usercall.libraries]]
# This is the name for the library that is exported. It will show up in the metric path.
name = "krb26"
# This is the path to the library that will be probed.
path = "/usr/lib/x86_64-linux-gnu/libkrb5.so.26"
# Export usercall/krb26/krb5_cc_get_principal and usercall/krb26/krb5_parse_name_flags
functions = ["krb5_cc_get_principal", "krb5_parse_name_flags"]