This repository was archived by the owner on Jun 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathChangeLog.txt
More file actions
202 lines (131 loc) · 5.16 KB
/
Copy pathChangeLog.txt
File metadata and controls
202 lines (131 loc) · 5.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
Version 1.95
January 2014
Common
- Added "-U" option, to display separate read and write
utilization.
- Simplified display code regarding "-M" option.
Solaris
- Fixed fetch64() to check type of kstats
Version 1.93
January 2014
Solaris
- Fixed memory leak in update_nicdata_list()
Version 1.92
October 2012
Common
- Added "-M" option to change throughput statistics to Mbps
(Megabits per second). Suggestion from Darren Todd.
- Fixed bugs with printing extended parseable format (-xp)
- Fixed man page's description of extended parseable output.
Solaris
- Fixed memory leak associated with g_getif_list
- Add 2nd argument to dladm_open() for Solaris 11.1
- Modify nicstat.sh to handle Solaris 11.1
Linux
- Modify nicstat.sh to see "x86_64" cputype as "i386". All Linux
binaries are built as 32-bit, so we do not need to
differentiate these two cpu types.
Version 1.90
April 2011
Common
- nicstat.sh script, to provide for automated multi-platform
deployment. See the Makefile's for details.
- Added "-x" flag, to display extended statistics for each
interface.
- Added "-t" and "-u" flags, to include TCP and UDP
(respectively) statistics. These come from tcp:0:tcpstat and
udp:0:udpstat on Solaris, or from /proc/net/snmp and
/proc/net/netstat on Linux.
- Added "-a" flag, which equates to "-tux".
- Added "-l" flag, which lists interfaces and their
configuration.
- Added "-v" flag, which displays nicstat version.
Solaris
- Added use of libdladm.so:dladm_walk_datalink_id() to get list
of interfaces. This is better than SIOCGLIFCONF, as it
includes interfaces given exclusively to a zone.
NOTE: this library/routine is linked with nicstat in "lazy"
mode, meaning that a Solaris 11 binary built with knowledge of
the routine will also run on Solaris 10 without failing when
the routine or library is not found - in this case nicstat
will fall back to the SIOGLIFCONF method.
- Added search of kstat "link_state" statistics as a third
method for finding active network interfaces. See the man
page for details.
Linux
- Added support for SIOCETHTOOL ioctl, so that nicstat can look
up interface speed/duplex (i.e. "-S" flag not necessarily
needed any longer).
- Removed need for LLONG_MAX, improving Linux portability.
Version 1.28c
Feb 2010
Common
- Added "-p" flag, which produces "parseable" output.
Compatible with System Data Recorder (SDR).
Version 1.21
Oct 2009
Solaris
- Now works correctly on Shared-IP zones.
Version 1.20
Sep 2009
- Added support for a "fd" or "hd" (in reality anything starting
with an upper or lower-case F or H) suffix to the speed
settings supplied via the "-S" option. This advises nicstat
the interface is half-duplex or full-duplex. The Linux version
now calculates %Util the same way as the Solaris version.
- Added a script, enicstat, which uses ethtool to get speeds and
duplex modes for all interfaces, then calls nicstat with an
appropriate -S value.
- Made the Linux version more efficient.
- Combined the Solaris and Linux source into one nicstat.c. This
is a little ugly due to #ifdef's, but that's the price you
pay.
- Wrote a man page.
- Wrote better Makefile's for both platforms
- Wrote a short README
- Licensed nicstat under the Artistic License 2.0
Version 1.16
Aug 2009
A colleague pointed out to me that nicstat's method of
calculating utilization for a full-duplex interface is not
correct.
Now nicstat will look for the kstat "link_duplex" value, and
if it is 2 (which means full-duplex), it will use the greater
of rbytes or wbytes to calculate utilization.
Version 1.15
Aug 2009
Merged Linux and Solaris versions.
Jul 2009
A number of people have commented to me that nicstat always
reports "0.00" for %Util on Linux. The reason for this is that
there is no simple way an unprivileged user can get the speed
of an interface in Linux (quite happy for someone to prove me
wrong on that however).
Recently I got an offer of a patch from David Stone, to add an
option to nicstat that tells it what the speed of an interface
is. Pretty reasonable idea, so I have added it to the Linux
version. You will see this new "-S" option explained if you
use nicstat's "-h" (help) option.
I have made another change which makes nicstat more portable,
hence easier to build on Linux.
Feb 2007
Wrote Linux version.
Version 1.6
Aug 2006
Added "-n" flag (non-local).
Added precision() function suggested by Brendan.
Version 1.5
Aug 2006
Major re-write. First use of SIOCGLIFCONF to get list of
active interfaces.
Version 1.4
Jul 2006
First version to use gethrtime() and nanosleep() on Solaris to
maintain better interval timing. This technique was later
applied in CR 6611108.
Some Version
Sometime earlier than Jul 2006
First additions by Tim Cook.
Older Versions
Even Earlier
Original Perl and C versions by Brendan Gregg.