This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/6] SNMP tapset


This family of tapsets enhances the kernel's implementation of the
Simple Network Management Protocol (SNMP) by allowing the user to
collect per-socket statistics. SNMP data is collected in the Linux
kernel by counting various events occurring in the networking subsystem.
Linux provides one counter for each type of event, thus providing a
single system-wide collection of network statistics.

The probpoints defined in the SNMP group of tapsets allow users to
aberrate each SNMP counter into groups of counters. For example, the
user may count SNMP events for a single network socket or for a group of
sockets.

These patch include three new tapset each represents a different set of
SMNP MIBS one each for the IP, TCP layers and one for the enhanced linux
MIB. I am also submitting a tapscript called tcpipstat.stp that can be
used to collect per-socket statistics, it is a bit like like netstat -s
on steroids :)

In the kernel, SNMP is implemented using a set of macros. A macro is
placed in the code in each spot where a management event is to be
counted. When I first experimented with writing this tapset I added
markers into these SNMP macros, this made writing of the tapset a snap
as all probes looked identical. An another advantage of the marker
implementation was the ease of maintainability. However, I wanted to
create a tool that could be used in current linux distributions so I
switched to a kprobes implementation that I am now submitting. I plan to
investigating using a tracepoint implementation for a later version.
This will require patches to the SMNP macros being accepted up stream,
we will see how that goes.

Dave...



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]