Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System tracing provider for tracing via native probes (BPF) #1288

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Commits on Jul 12, 2023

  1. Add system tracing provider for runtime tracing via BPF/Systemtap

    - Allows MLServer to expose native tracepoints that fire on
      application events; BPF/Systemtap probes can be attached at
      runtime to those tracepoints, for performing measurements or
      for linking application activity to OS behaviour (resource
      consumption and contention, performance variations)
    - Near-zero overhead when not in use or external probes are not
      attached
    - The exposed tracepoints are configured via MLServer settings
    - Adds (optional) dependencies on
       * linux-usdt/python-stapsdt
       * linux-usdt/libstapsdt (native library)
    lc525 committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    e5b6c29 View commit details
    Browse the repository at this point in the history
  2. Update license generation to include poetry extras

    Also update license files to contain dependencies for the `tracepoints`
    extra
    lc525 committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    5d38039 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    543a0f0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    362286f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6101a3f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    091d08a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1c42607 View commit details
    Browse the repository at this point in the history
  8. Fix some linting warnings

    lc525 committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    eb5c346 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0a4f7f6 View commit details
    Browse the repository at this point in the history
  10. Simplify tracepoint settings

    - Only allow tracepoints to be enabled/disabled as a whole rather than
      having per-tracepoint options;
    - Refactor code so that all tracepoint/provider code resides in the same
      module (this has been facilitated by the simplified settings)
    - Update code for Python 3.8+ (use explicit Union types rather than |)
    lc525 committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    189bf7c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    552e754 View commit details
    Browse the repository at this point in the history