Skip to content

Scope bpftrace/PxL scripts based on kernel version #1659

@benkilimnik

Description

@benkilimnik

Is your feature request related to a problem? Please describe.
As the kernel changes, certain PxL scripts can break over time, particularly those relying on kprobes. For example,kprobe:tcp_drop was removed in v5.19, breaking the tcp_drops script (see #1582). A user may be running a heterogenous cluster with some nodes running older kernels, so simply updating the script for newer kernels would not provide full coverage.

Describe the solution you'd like
It would be convenient if Pixie could scope scripts to nodes running certain versions of the kernel. This might require that:

  • The metadata service tracks the kernel version for each PEM
  • When the script is executed, the querybroker retrieves kernel versions from the metadata service
  • When the querybroker sends the kprobe/tracepoint to each PEM, it uses the appropriate function depending on the node’s kernel version.

Describe alternatives you've considered
Keep around legacy versions of scripts that work on nodes running older kernel versions.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions