Skip to content

Conversation

@r41k0u
Copy link
Collaborator

@r41k0u r41k0u commented Oct 13, 2025

This PR ports all applicable examples from https://github.com/iovisor/bcc/blob/master/docs/tutorial_bcc_python_developer.md to PythonBPF

@r41k0u
Copy link
Collaborator Author

r41k0u commented Oct 14, 2025

#37 Has been addressed in the last 3 commits

@r41k0u r41k0u requested a review from Copilot October 21, 2025 22:26
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR ports BCC tutorial examples to PythonBPF by adding support for string operations, including helper functions for working with kernel command names and string reading. The implementation adds infrastructure for char array handling, multi-target assignments, and utility functions for trace parsing.

Key changes:

  • Added comm and probe_read_str BPF helper functions with proper LLVM IR emission
  • Implemented char array to pointer conversion and string copying for struct fields
  • Added utilities for parsing kernel trace output (trace_pipe, trace_fields)

Reviewed Changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
pythonbpf/helper/bpf_helper_handler.py Adds handlers for comm and probe_read_str BPF helpers with buffer validation
pythonbpf/helper/helper_utils.py Implements buffer pointer extraction and char array type checking utilities
pythonbpf/helper/printk_formatter.py Refactors expression argument preparation and adds char array formatting support
pythonbpf/assign_pass.py Implements string-to-char-array copying and pointer conversion for assignments
pythonbpf/allocation_pass.py Adds support for multi-target assignments and variable/attribute-based allocation
pythonbpf/functions/functions_pass.py Enables multi-target assignment handling in function bodies
pythonbpf/codegen.py Returns symbol tables from compilation and changes default log level
pythonbpf/utils.py Adds trace pipe utilities for reading and parsing kernel trace output
pythonbpf/helper/helpers.py Adds stub implementations of new helper functions
BCC-Examples/*.py Example programs demonstrating ported BCC tutorial functionality

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@r41k0u r41k0u marked this pull request as ready for review October 21, 2025 22:28
@r41k0u r41k0u merged commit 63f378c into master Oct 21, 2025
1 check passed
@varun-r-mallya varun-r-mallya deleted the bcc_examples branch November 1, 2025 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants