Skip to content

Commit 3b9679a

Browse files
author
Alex Bagehot
committedFeb 6, 2016
trawl typos with aspell
1 parent da7b423 commit 3b9679a

19 files changed

+27
-27
lines changed
 

‎CONTRIBUTING-SCRIPTS.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ As said earlier: keep it short, neat, and documented (code comments).
2424
A checklist for bcc tool development:
2525

2626
1. **Research the topic landscape**. Learn the existing tools and metrics (incl. from /proc). Determine what real world problems exist and need solving. We have too many tools and metrics as it is, we don't need more "I guess that's useful" tools, we need more "ah-hah! I couldn't do this before!" tools. Consider asking other developers about your idea. Many of us can be found in IRC, in the #iovisor channel on irc.oftc.net. There's also the mailing list (see the README.md), and github for issues.
27-
1. **Create a known workload for testing**. This might involving writing a 10 line C program, using a microbenchmark, or just improvising at the shell. If you don't know how to create a workload, learn! Figuring this out will provide invaluable context and details that you may have otherwise overlooked. Sometimes it's easy, and I'm able to just use dd(1) from /dev/urandom or a disk device to /dev/null. It lets me set the I/O size, count, and provides throughput statistics for cross-checking checking my tool output. But other times I need a micro-benchhark, or some C.
27+
1. **Create a known workload for testing**. This might involving writing a 10 line C program, using a micro-benchmark, or just improvising at the shell. If you don't know how to create a workload, learn! Figuring this out will provide invaluable context and details that you may have otherwise overlooked. Sometimes it's easy, and I'm able to just use dd(1) from /dev/urandom or a disk device to /dev/null. It lets me set the I/O size, count, and provides throughput statistics for cross-checking checking my tool output. But other times I need a micro-benchmark, or some C.
2828
1. **Write the tool to solve the problem and no more**. Unix philosophy: do one thing and do it well. netstat doesn't have an option to dump packets, tcpdump-style. They are two different tools.
2929
1. **Check your tool correctly measures your known workload**. If possible, run a prime number of events (eg, 23) and check that the numbers match. Try other workload variations.
3030
1. **Use other observability tools to perform a cross-check or sanity check**. Eg, imagine you write a PCI bus tool that shows current throughput is 28 Gbytes/sec. How could you sanity test that? Well, what PCI devices are there? Disks and network cards? Measure their throughput (iostat, nicstat, sar), and check if is in the ballpark of 28 Gbytes/sec (which would include PCI frame overheads). Ideally, your numbers match.
31-
1. **Measure the overhead of the tool**. If you are running a microbenchmark, how much slower is it with the tool running. Is more CPU consumed? Try to determine the worst case: run the microbenchmark so that CPU headroom is exhausted, and then run the bcc tool. Can overhead be lowered?
31+
1. **Measure the overhead of the tool**. If you are running a micro-benchmark, how much slower is it with the tool running. Is more CPU consumed? Try to determine the worst case: run the micro-benchmark so that CPU headroom is exhausted, and then run the bcc tool. Can overhead be lowered?
3232
1. **Test again, and stress test**. You want to discover and fix all the bad things before others hit them.
3333
1. **Consider command line options**. Should it have -p for filtering on a PID? -T for timestamps? -i for interval? See other tools for examples, and copy the style: the usage message should list example usage at the end. Remember to keep the tool doing one thing and doing it well. Also, if there's one option that seems to be the common case, perhaps it should just be the first argument and not need a switch (no -X). A special case of this is *stat tools, like iostat/vmstat/etc, where the convention is [interval [count]].
3434
1. **Use pep8 to check Python style**: pep8 --show-source --ignore=E123,E125,E126,E127,E128,E302 filename . Note that it misses some things, like consistent usage, so you'll still need to double check your script.

‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ section of the [kernel ftrace doc](https://www.kernel.org/doc/Documentation/trac
176176

177177
### Networking
178178

179-
At RedHat Summit 2015, BCC was presented as part of a [session on BPF](http://www.devnation.org/#7784f1f7513e8542e4db519e79ff5eec).
179+
At Red Hat Summit 2015, BCC was presented as part of a [session on BPF](http://www.devnation.org/#7784f1f7513e8542e4db519e79ff5eec).
180180
A multi-host vxlan environment is simulated and a BPF program used to monitor
181181
one of the physical interfaces. The BPF program keeps statistics on the inner
182182
and outer IP addresses traversing the interface, and the userspace component

‎examples/tracing/bitehist_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ between 128 and 255 Kbytes in size, and another mode of 211 I/O were between
2121
4 and 7 Kbytes in size.
2222

2323
Understanding this distribution is useful for characterizing workloads and
24-
understanding performance. The existance of this distribution is not visible
24+
understanding performance. The existence of this distribution is not visible
2525
from averages alone.

‎man/man8/biolatency.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ How many I/O fell into this range
7474
distribution
7575
An ASCII bar chart to visualize the distribution (count column)
7676
.SH OVERHEAD
77-
This traces kernel functions and maintains in-kernel timestamps and a histgroam,
77+
This traces kernel functions and maintains in-kernel timestamps and a histogram,
7878
which are asynchronously copied to user-space. This method is very efficient,
7979
and the overhead for most storage I/O rates (< 10k IOPS) should be negligible.
8080
If you have a higher IOPS storage environment, test and quantify the overhead

‎man/man8/cachestat.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Print output every five seconds, three times:
3434
#
3535
.B cachestat 5 3
3636
.TP
37-
Print output with timetsmap every five seconds, three times:
37+
Print output with timestamp every five seconds, three times:
3838
#
3939
.B cachestat -T 5 3
4040
.SH FIELDS

‎man/man8/funclatency.8

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.TH funclatency 8 "2015-08-18" "USER COMMANDS"
22
.SH NAME
3-
funclatency \- Time kernel funcitons and print latency as a histogram.
3+
funclatency \- Time kernel functions and print latency as a histogram.
44
.SH SYNOPSIS
55
.B funclatency [\-h] [\-p PID] [\-i INTERVAL] [\-T] [\-u] [\-m] [\-r] [\-F] pattern
66
.SH DESCRIPTION
@@ -97,7 +97,7 @@ How many calls fell into this range
9797
distribution
9898
An ASCII bar chart to visualize the distribution (count column)
9999
.SH OVERHEAD
100-
This traces kernel functions and maintains in-kernel timestamps and a histgroam,
100+
This traces kernel functions and maintains in-kernel timestamps and a histogram,
101101
which are asynchronously copied to user-space. While this method is very
102102
efficient, the rate of kernel functions can also be very high (>1M/sec), at
103103
which point the overhead is expected to be measurable. Measure in a test

‎man/man8/hardirqs.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ This traces kernel functions and maintains in-kernel counts, which
7373
are asynchronously copied to user-space. While the rate of interrupts
7474
be very high (>1M/sec), this is a relatively efficient way to trace these
7575
events, and so the overhead is expected to be small for normal workloads, but
76-
could become noticable for heavy workloads. Measure in a test environment
76+
could become noticeable for heavy workloads. Measure in a test environment
7777
before use.
7878
.SH SOURCE
7979
This is from bcc.

‎man/man8/softirqs.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ This traces kernel functions and maintains in-kernel counts, which
7474
are asynchronously copied to user-space. While the rate of interrupts
7575
be very high (>1M/sec), this is a relatively efficient way to trace these
7676
events, and so the overhead is expected to be small for normal workloads, but
77-
could become noticable for heavy workloads. Measure in a test environment
77+
could become noticeable for heavy workloads. Measure in a test environment
7878
before use.
7979
.SH SOURCE
8080
This is from bcc.

‎man/man8/stackcount.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ stackcount \- Count kernel function calls and their stack traces. Uses Linux eBP
77
stackcount traces kernel functions and frequency counts them with their entire
88
kernel stack trace, summarized in-kernel for efficiency. This allows higher
99
frequency events to be studied. The output consists of unique stack traces,
10-
and their occurance counts.
10+
and their occurrence counts.
1111

1212
The pattern is a string with optional '*' wildcards, similar to file globbing.
1313
If you'd prefer to use regular expressions, use the \-r option.

‎man/man8/stacksnoop.8

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Time of the call, in seconds.
5656
STACK
5757
Kernel stack trace. The first column shows "ip" for instruction pointer, and
5858
"r#" for each return pointer in the stack. The second column is the stack trace
59-
as hexidecimal. The third column is the translated kernel symbol names.
59+
as hexadecimal. The third column is the translated kernel symbol names.
6060
.SH OVERHEAD
6161
This can have significant overhead if frequently called functions (> 1000/s) are
6262
traced, and is only intended for low frequency function calls. This is because

‎src/cc/frontends/p4/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ several types of hooks available:
113113
through the socket/interface.
114114

115115
EBPF programs can be used for many purposes; the main use cases are
116-
dynamic tracing and monitoring, and packet procesisng. We are mostly
116+
dynamic tracing and monitoring, and packet processing. We are mostly
117117
interested in the latter use case in this document.
118118

119119
#### EBPF Tables
@@ -219,7 +219,7 @@ very complex packet filters and simple packet forwarding engines. In
219219
the spirit of open-source "release early, release often", we expect
220220
that the compiler's capabilities will improve gradually.
221221

222-
* Packet filtering is peformed using the `drop()` action. Packets
222+
* Packet filtering is performed using the `drop()` action. Packets
223223
that are not dropped will be forwarded.
224224

225225
* Packet forwarding is performed by setting the
@@ -233,7 +233,7 @@ Here are some limitations imposed on the P4 programs:
233233
EBPF program). In the future the compiler should probably generate
234234
two separate EBPF programs.
235235

236-
* arbirary parsers can be compiled, but the BCC compiler will reject
236+
* arbitrary parsers can be compiled, but the BCC compiler will reject
237237
parsers that contain cycles
238238

239239
* arithmetic on data wider than 32 bits is not supported
@@ -311,7 +311,7 @@ p4toEbpf.py file.p4 -o file.c
311311

312312
The P4 compiler first runs the C preprocessor on the input P4 file.
313313
Some of the command-line options are passed directly to the
314-
preprocesor.
314+
preprocessor.
315315

316316
The following compiler options are available:
317317

‎tools/biolatency_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ the last row printed, for which there were 2 I/O.
4141
For efficiency, biolatency uses an in-kernel eBPF map to store timestamps
4242
with requests, and another in-kernel map to store the histogram (the "count")
4343
column, which is copied to user-space only when output is printed. These
44-
methods lower the perormance overhead when tracing is performed.
44+
methods lower the performance overhead when tracing is performed.
4545

4646

4747
In the following example, the -m option is used to print a histogram using

‎tools/funccount_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ The current implementation can take many seconds to detach from tracing, after
166166
Ctrl-C has been hit.
167167

168168

169-
Couting all vfs functions for process ID 5276 only:
169+
Counting all vfs functions for process ID 5276 only:
170170

171171
# ./funccount -p 5276 'vfs_*'
172172
Tracing... Ctrl-C to end.

‎tools/funclatency_example.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ the function began executing (was called) to when it finished (returned).
3737
This example output shows that most of the time, do_sys_open() took between
3838
2048 and 65536 nanoseconds (2 to 65 microseconds). The peak of this distribution
3939
shows 291 calls of between 4096 and 8191 nanoseconds. There was also one
40-
occurrance, an outlier, in the 2 to 4 millisecond range.
40+
occurrence, an outlier, in the 2 to 4 millisecond range.
4141

4242
How this works: the function entry and return are traced using the kernel kprobe
4343
and kretprobe tracer. Timestamps are collected, the delta time calculated, which
4444
is the bucketized and stored as an in-kernel histogram for efficiency. The
45-
histgram is visible in the output: it's the "count" column; everything else is
45+
histogram is visible in the output: it's the "count" column; everything else is
4646
decoration. Only the count column is copied to user-level on output. This is an
4747
efficient way to time kernel functions and examine their latency distribution.
4848

@@ -242,7 +242,7 @@ USAGE message:
242242
usage: funclatency [-h] [-p PID] [-i INTERVAL] [-T] [-u] [-m] [-F] [-r]
243243
pattern
244244

245-
Time kernel funcitons and print latency as a histogram
245+
Time kernel functions and print latency as a histogram
246246

247247
positional arguments:
248248
pattern search expression for kernel functions
@@ -260,7 +260,7 @@ optional arguments:
260260
only.
261261

262262
examples:
263-
./funclatency do_sys_open # time the do_sys_open() kenel function
263+
./funclatency do_sys_open # time the do_sys_open() kernel function
264264
./funclatency -u vfs_read # time vfs_read(), in microseconds
265265
./funclatency -m do_nanosleep # time do_nanosleep(), in milliseconds
266266
./funclatency -mTi 5 vfs_read # output every 5 seconds, with timestamps

‎tools/offcputime_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -743,4 +743,4 @@ examples:
743743
./offcputime 5 # trace for 5 seconds only
744744
./offcputime -f 5 # 5 seconds, and output in folded format
745745
./offcputime -u # don't include kernel threads (user only)
746-
./offcputime -p 185 # trace fo PID 185 only
746+
./offcputime -p 185 # trace for PID 185 only

‎tools/softirqs_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ net_rx_action 15656
6060
This can be useful for quantifying where CPU cycles are spent among the soft
6161
interrupts (summarized as the %softirq column from mpstat(1), and shown as
6262
event counts in /proc/softirqs). The output above shows that most time was spent
63-
processing net_rx_action(), which was around 15 milleconds per second (total
63+
processing net_rx_action(), which was around 15 milliseconds per second (total
6464
time across all CPUs).
6565

6666

‎tools/stackcount_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ Tracing 1 functions for "tcp_sendmsg"... Hit Ctrl-C to end.
376376
Detaching...
377377

378378
If it wasn't clear how one function called another, knowing the instruction
379-
offset can help you locate the lines of code from a dissassembly dump.
379+
offset can help you locate the lines of code from a disassembly dump.
380380

381381

382382
A wildcard can also be used. Eg, all functions beginning with "tcp_send":

‎tools/stacksnoop_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Demonstrations of stacksnoop, the Linux eBPF/bcc version.
33

44
This program traces the given kernel function and prints the kernel stack trace
55
for every call. This tool is useful for studying low frequency kernel functions,
6-
to see how they were invoked. For exmaple, tracing the ext4_sync_fs() call:
6+
to see how they were invoked. For example, tracing the ext4_sync_fs() call:
77

88
# ./stacksnoop ext4_sync_fs
99
TIME(s) STACK

‎tools/wakeuptime_example.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -467,4 +467,4 @@ examples:
467467
./wakeuptime 5 # trace for 5 seconds only
468468
./wakeuptime -f 5 # 5 seconds, and output in folded format
469469
./wakeuptime -u # don't include kernel threads (user only)
470-
./wakeuptime -p 185 # trace fo PID 185 only
470+
./wakeuptime -p 185 # trace for PID 185 only

0 commit comments

Comments
 (0)
Please sign in to comment.