ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/www/libstatgrab/index.xhtml
(Generate patch)

Comparing web/www/libstatgrab/index.xhtml (file contents):
Revision 1.24 by tdb, Wed May 19 18:58:18 2004 UTC vs.
Revision 1.45 by tdb, Mon Jan 8 00:06:26 2007 UTC

# Line 16 | Line 16
16            <div id="topnav">
17              <ul>
18                <li>
19 <                <a href="#news">News</a>
19 >                <a href="#what">What is libstatgrab?</a>
20                </li>
21                <li>
22 <                <a href="#what">What is libstatgrab?</a>
22 >                <a href="#news">News</a>
23                </li>
24                <li>
25                  <a href="#download">Downloading</a>
26                </li>
27                <li>
28 +                <a href="#bindings">Language Bindings</a>
29 +              </li>
30 +              <li>
31 +                <a href="#packages">Packages</a>
32 +              </li>
33 +              <li>
34                  <a href="#development">Development</a>
35                </li>
36                <li>
# Line 35 | Line 41
41                </li>
42              </ul>
43            </div>
44 + <!--#include virtual="/bannerad.inc" -->
45            <h2>
46 +            <a id="what">What is libstatgrab?</a>
47 +          </h2>
48 +          <p>
49 +            libstatgrab is a library that provides cross platform
50 +            access to statistics about the system on which it's run.
51 +            It's written in C and presents a selection of useful
52 +            interfaces which can be used to access key system
53 +            statistics. The current list of statistics includes CPU
54 +            usage, memory utilisation, disk usage, process counts,
55 +            network traffic, disk I/O, and more.
56 +          </p>
57 +          <p>
58 +            The current list of platforms is Solaris 2.x, Linux
59 +            2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x,
60 +            DragonFly BSD 1.0, HP-UX, and Cygwin. The aim is to extend
61 +            this to include as many operating systems as possible.
62 +          </p>
63 +          <p>
64 +            The package also includes a couple of useful tools. The
65 +            first, <a href="#screenshot">saidar</a>, provides a
66 +            curses-based interface to viewing the current state of the
67 +            system. The second, statgrab, gives a sysctl-style
68 +            interface to the statistics gathered by libstatgrab. This
69 +            extends the use of libstatgrab to people writing scripts or
70 +            anything else that can't easily make C function calls.
71 +            Included with statgrab is a script to generate an
72 +            <a href="http://www.mrtg.org">MRTG</a> configuration file
73 +            to use statgrab.
74 +          </p>
75 +          <h2>
76              <a id="news">News</a>
77            </h2>
78            <p>
# Line 44 | Line 81
81              <a href="http://freshmeat.net/projects/libstatgrab/">freshmeat</a>?
82            </p>
83            <h3>
84 <            Thursday 20 May 2004
84 >            Monday 8 January 2007
85            </h3>
86            <p>
87 <            Version 0.10 of libstatgrab has been released.<br />
88 <            Download it
52 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.10.tar.gz">
53 <            here</a>.
87 >            Version 0.14 of libstatgrab has been released.<br />
88 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
89            </p>
90            <p>
91 <            This release concentrates heavily on standardising the names
92 <            of functions and structures throughout libstatgrab. Although
93 <            this will mean changes for existing programs, in the long run
59 <            we hope it'll make things both clearer and easier. However,
60 <            for those who still need the old functions we have provided
61 <            compatibility wrappers. See the NEWS file for details.
91 >            This release contains mainly bugfixes - see the NEWS file
92 >            for a full list. The only new feature is colour support in
93 >            saidar which can be activated with the -c runtime flag.
94            </p>
95 +          <h3>
96 +            Monday 20 March 2006
97 +          </h3>
98            <p>
99 <            The other main change in this release is a new function to
100 <            provide full details on currently running processes. See the
66 <            documentation for sg_get_process_stats for details. Along with
67 <            this there are compare functions for use with qsort for sorting
68 <            process, network, and disk io statistics. We've also introduced
69 <            error reporting functions that allow calling applications to
70 <            see why libstatgrab has returned a failure. See sg_get_error.
99 >            Version 0.13 of libstatgrab has been released.<br />
100 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
101            </p>
102            <p>
103 <            Finally, we've added support for NetBSD 2.0 and tidied up lots
104 <            of areas of the code. This release does not include the python
105 <            bindings - they're now available as their own project called
106 <            <a href="/pystatgrab/">pystatgrab</a>.
103 >            This release mainly includes a bunch of bug fixes, but
104 >            also brings preliminary support for WIN32. We've also
105 >            added a few lines to the header file to make C++ linking
106 >            easier. Please see the NEWS file in the distribution for
107 >            full details.
108            </p>
109            <h3>
110 <            Sunday 21 March 2004
110 >            Sunday 31 July 2005
111            </h3>
112            <p>
113 <            pystatgrab, a new package containing a set of Python
114 <            bindings, has been released. Check out it's
84 <            <a href="/pystatgrab/">project page</a>.
113 >            Version 0.12 of libstatgrab has been released.<br />
114 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
115            </p>
86          <h3>
87            Wednesday 10 March 2004
88          </h3>
116            <p>
117 <            Version 0.9 of libstatgrab has been released.<br />
118 <            Download it
119 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.9.tar.gz">
120 <            here</a>.
117 >            This release has some new features, bug fixes, and a minor
118 >            API change. More details have been added to the file
119 >            system statistics, linux partition detection has been
120 >            reworked, and compile errors on Linux 2.6 have been fixed.
121 >            Support has been added for Solaris 10 and FreeBSD 7.
122 >            There are also manual pages for all the tools.
123            </p>
124            <p>
125 <            This release brings new features and new platforms. We've
126 <            added information about network interfaces (duplex, speed,
127 <            etc) along with further statistics such as i/o packets, i/o
128 <            errors, and collisions. Support has also been added for
129 <            OpenBSD and DragonFly BSD. Finally some work has been done
101 <            to reduce the platforms on which libstatgrab needs elevated
102 <            privileges. See the NEWS file for more information.
125 >            The duplex value in the network interface statistics has
126 >            changed name from "dup" to "duplex" - this breaks the API.
127 >            We plan to stabilise the API for a 1.0 release. As before,
128 >            the old name is available if SG_ENABLE_DEPRECATED is
129 >            defined.
130            </p>
131            <h3>
132 <            Wednesday 11 February 2004
132 >            Tuesday 26 April 2005
133            </h3>
134            <p>
135 <            Version 0.8.2 of libstatgrab has been released.<br />
136 <            Download it
110 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.2.tar.gz">
111 <            here</a>.
135 >            Official libstatgrab packages for Debian now
136 >            <a href="http://packages.debian.org/unstable/source/libstatgrab">available</a>.
137            </p>
138            <p>
139 <            The main focus of this release is adding support for
140 <            Solaris 6. We've also added Python bindings so you can use
141 <            libstatgrab directly from Python (see the extras
142 <            directory). Finally, we've tidied up a few bits of the
143 <            code.
139 >            Thanks to the work of
140 >            <a href="mailto:fenio@debian.org">Bartosz Fenski</a>
141 >            libstatgrab is now available on debian. This replaces our
142 >            unofficial debian packages which will no longer be
143 >            updated.
144            </p>
145            <h3>
146 <            Wednesday 21 January 2004
146 >            Thursday 3 March 2005
147            </h3>
148            <p>
149 <            Version 0.8.1 of libstatgrab has been released.<br />
150 <            Download it
126 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.1.tar.gz">
127 <            here</a>.
149 >            Version 0.11.1 of libstatgrab has been released.<br />
150 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
151            </p>
152            <p>
153 <            This release primarily fixes bugs. On Linux a file
154 <            descriptor leak was fixed. On Solaris some significant
155 <            speed increases were made to the disk mapping code, along
156 <            with some bug fixes for Solaris 7 platforms. Also, the
157 <            library part of libstatgrab (but not the tools) is now
135 <            released under the LGPL instead of the GPL.
153 >            This release fixes a handful of minor bugs. Duplex
154 >            settings were reported incorrectly on linux (half and
155 >            full duplex were swapped), saidar displayed negative
156 >            filesystem stats incorrectly, and NFS filesystems were
157 >            ignored. These have all been fixed.
158            </p>
159            <h3>
160 <            Tuesday 6 January 2004
160 >            Friday 12 November 2004
161            </h3>
162            <p>
163 <            Version 0.8 of libstatgrab has been released.<br />
164 <            Download it
143 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.8.tar.gz">
144 <            here</a>.
163 >            Version 0.11 of libstatgrab has been released.<br />
164 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
165            </p>
166            <p>
167 <            This release brings support for Linux 2.6 and partial
168 <            support for Cygwin. On Solaris libstatgrab now returns disk
149 <            names using cNtNdNsN names rather than the older sdN names.
150 <            There are also a bunch of fixes and optimisations in
151 <            various places. Finally, a new function has been added to
152 <            make it quicker to drop any elevated privileges libstatgrab
153 <            may require on some operating systems.
167 >            This release brings support for HP-UX (version 11.11), and
168 >            also fixes a few other minor issues.
169            </p>
170            <h3>
171 <            Wednesday 22 October 2003
171 >            Wednesday 25 August 2004
172            </h3>
173            <p>
174 <            Version 0.7 of libstatgrab has been released.<br />
175 <            Download it
161 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.7.tar.gz">
162 <            here</a>.
174 >            Version 0.10.3 of libstatgrab has been released.<br />
175 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
176            </p>
177            <p>
178 <            The most significant change in this release is support for
179 <            NetBSD 1.6.x. Parts of the FreeBSD code have been
180 <            optimised, and an initialise function has been added to
168 <            allow programs to drop any extra privileges libstatgrab
169 <            needs. The list of known file systems has been increased,
170 <            and libstatgrab has been tested on even more platforms.
171 <            Finally, saidar has been tweaked to work even if it can't
172 <            get all the statistics.
178 >            This release adds a handful of new features to statgrab, and
179 >            adds support for FreeBSD 6.0-CURRENT. See the NEWS file in
180 >            the tarball for more details.
181            </p>
182            <h3>
183 <            Saturday 18 October 2003
183 >            Tuesday 27 July 2004
184            </h3>
185            <p>
186 <            Version 0.6.1 of libstatgrab has been released.<br />
187 <            Download it
180 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.1.tar.gz">
181 <            here</a>.
186 >            Version 0.10.2 of libstatgrab has been released.<br />
187 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
188            </p>
189            <p>
190 <            This release brings support for FreeBSD 5 on sparc 64, and
191 <            some bugfixes in FreeBSD memory statistics. Also, some
186 <            fixes to saidar, and statgrab.
190 >            This release fixes a problem with the shared library
191 >            version number in the last release.
192            </p>
193            <h3>
194 <            Friday 10 October 2003
194 >            Monday 26 July 2004
195            </h3>
196            <p>
197 <            Version 0.6 of libstatgrab has been released.<br />
198 <            You can download it from our mirror site
194 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.tar.gz">
195 <            here</a>.
197 >            Version 0.10.1 of libstatgrab has been released.<br />
198 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
199            </p>
200            <p>
201 <            This release includes some exciting new tools, support for
202 <            FreeBSD 5.1, and documentation in manpages. Plus some major
203 <            bugfixes and packaging enhancements.
201 >            This release consists almost entirely of bugfixes.
202 >            We've fixed compile-time errors for recent OpenBSD and
203 >            NetBSD platforms, and also a minor bug in statgrab
204 >            that broke network statistics on Solaris. New
205 >            variables have been added to the pkg-config file to
206 >            suggest ownership and permissions of binaries, and
207 >            we've added error reporting functions that store errno
208 >            values. There's also other minor fixes detailed in the
209 >            NEWS file.
210            </p>
211            <h3>
212 <            Tuesday 09 September 2003
212 >            Thursday 20 May 2004
213            </h3>
214            <p>
215 <            We're pleased to announce a new release of
216 <            libstatgrab.<br />
208 <            You can download version 0.5.1 from
209 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.1.tar.gz">
210 <            here</a>.
215 >            Version 0.10 of libstatgrab has been released.<br />
216 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
217            </p>
212          <h3>
213            Monday 25 August 2003
214          </h3>
218            <p>
219 <            We're pleased to announce a new release of
220 <            libstatgrab.<br />
221 <            You can download version 0.5 from
222 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.tar.gz">
223 <            here</a>.
219 >            This release concentrates heavily on standardising the names
220 >            of functions and structures throughout libstatgrab. Although
221 >            this will mean changes for existing programs, in the long run
222 >            we hope it'll make things both clearer and easier. However,
223 >            for those who still need the old functions we have provided
224 >            compatibility wrappers. See the NEWS file for details.
225            </p>
226            <p>
227 <            This release provides both documentation and examples,
228 <            which we hope will make the package more useable. Stay
229 <            tuned for the next release with some useful tools.
227 >            The other main change in this release is a new function to
228 >            provide full details on currently running processes. See the
229 >            documentation for sg_get_process_stats for details. Along with
230 >            this there are compare functions for use with qsort for sorting
231 >            process, network, and disk io statistics. We've also introduced
232 >            error reporting functions that allow calling applications to
233 >            see why libstatgrab has returned a failure. See sg_get_error.
234            </p>
227          <h2>
228            <a id="what">What is libstatgrab?</a>
229          </h2>
235            <p>
236 <            libstatgrab is a library that provides cross platform
237 <            access to statistics about the system on which it's run.
238 <            It's written in C and presents a selection of useful
239 <            interfaces which can be used to access key system
235 <            statistics. The current list of statistics includes CPU
236 <            usage, memory utilisation, disk usage, process counts,
237 <            network traffic, disk I/O, and more.
236 >            Finally, we've added support for NetBSD 2.0 and tidied up lots
237 >            of areas of the code. This release does not include the python
238 >            bindings - they're now available as their own project called
239 >            <a href="/pystatgrab/">pystatgrab</a>.
240            </p>
241 +          <h3>
242 +            Sunday 21 March 2004
243 +          </h3>
244            <p>
245 <            The current list of platforms is Solaris 2.x, Linux
246 <            2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x,
247 <            DragonFly BSD 1.0, and Cygwin. The aim is to extend this to
243 <            include as many operating systems as possible.
245 >            pystatgrab, a new package containing a set of Python
246 >            bindings, has been released. Check out its
247 >            <a href="/pystatgrab/">project page</a>.
248            </p>
245          <p>
246            The package also includes a couple of useful tools. The
247            first, <a href="#screenshot">saidar</a>, provides a
248            curses-based interface to viewing the current state of the
249            system. The second, statgrab, gives a sysctl-style
250            interface to the statistics gathered by libstatgrab. This
251            extends the use of libstatgrab to people writing scripts or
252            anything else that can't easily make C function calls.
253            Included with statgrab is a script to generate an
254            <a href="http://www.mrtg.org">MRTG</a> configuration file
255            to use statgrab.
256          </p>
249            <h2>
250              <a id="download">Downloading</a>
251            </h2>
252            <p>
253              The latest version of libstatgrab can be downloaded from
254 <            our primary download
255 <            <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/">
264 <            mirror</a>. All downloads are pgp signed using our
254 >            our <a href="/mirrors.xhtml">mirror sites</a>.
255 >            All downloads are pgp signed using our
256              <a href="/pgpkey.xhtml">PGP Key</a>.
257            </p>
258            <p>
259              For installation instructions see the README and INSTALL
260 <            files contained within the archive. If you're using
270 <            <a href="http://www.freebsd.org">FreeBSD</a> you can make
271 <            use of the
272 <            <a href="http://www.freshports.org/devel/libstatgrab">
273 <            devel/libstatgrab</a> port to install libstatgrab for you.
260 >            files contained within the archive.
261            </p>
262            <h2>
263 +            <a id="bindings">Language Bindings</a>
264 +          </h2>
265 +          <ul>
266 +            <li>
267 +              <a href="/pystatgrab/">Python</a>
268 +            </li>
269 +            <li>
270 +              <a href="http://pecl.php.net/statgrab/">PHP (external)</a>
271 +            </li>
272 +            <li>
273 +              <a href="http://search.cpan.org/dist/Unix-Statgrab/">Perl (external)</a>
274 +            </li>
275 +          </ul>
276 +          <p>
277 +            Here are links to bindings for higher level languages
278 +            that provide access to libstatgrab. If you've written
279 +            a binding for another language, please get
280 +            <a href="mailto:support@i-scream.org">in touch</a> so we
281 +            can add a link here.
282 +          </p>
283 +          <h2>
284 +            <a id="packages">Packages of libstatgrab</a>
285 +          </h2>
286 +          <ul>
287 +            <li>
288 +              <a href="http://www.freebsd.org/cgi/ports.cgi?query=statgrab&amp;stype=all">FreeBSD</a>
289 +            </li>
290 +            <li>
291 +              <a href="http://packages.gentoo.org/search/?sstring=libstatgrab">Gentoo Linux</a>
292 +            </li>
293 +            <li>
294 +              <a href="http://www.blastwave.org/packages.php/libstatgrab">Solaris (Blastwave)</a>
295 +            </li>
296 +            <li>
297 +              <a href="http://www.sunfreeware.com/">Solaris (SunFreeware)</a>
298 +            </li>
299 +            <li>
300 +              <a href="http://packages.debian.org/unstable/source/libstatgrab">Debian</a>
301 +            </li>
302 +            <li>
303 +              <a href="ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/devel/libstatgrab/README.html">NetBSD</a>
304 +            </li>
305 +          </ul>
306 +          <p>
307 +            These are various pre-packaged versions of libstatgrab
308 +            that you can get for your favourite operating system. If
309 +            we've missed any out, please let us know.
310 +          </p>
311 +          <p>
312 +            We've noticed that google throws up some RPM's relating
313 +            to Mandrake and Suse, but no webpage for them.
314 +          </p>
315 +          <p>
316 +            Several attempts were made to submit a port to the
317 +            OpenBSD folk, but they didn't seem interested in taking
318 +            it. You can find it
319 +            <a href="http://ftp.i-scream.org/pub/i-scream/tmp/libstatgrab-0.11-openbsd-port.tar.gz">
320 +            here</a>.
321 +          </p>
322 +          <h2>
323              <a id="development">Development</a>
324            </h2>
325            <ul>
# Line 281 | Line 328
328              </li>
329            </ul>
330            <p>
331 <            We develop libstatgrab using the CVS revision control system.    
331 >            We develop libstatgrab using the CVS revision control system.
332              Using this link you can see what changes we've made this week.
333 <            For more information on our CVS setup see our  
333 >            For more information on our CVS setup see our
334              <a href="/cvs.xhtml">CVS page</a>.
335            </p>
336            <h2>
# Line 291 | Line 338
338            </h2>
339            <p>
340              The only online documentation we have at the moment is the
341 <            manual pages converted in to HTML format. It's probably
342 <            best to start with the overview manual page:
341 >            manual pages converted in to HTML format. First are the
342 >            manual pages for the command line tools:
343            </p>
344            <ul>
345              <li>
346 <              <a href="statgrab.html">statgrab(3)</a>
346 >              <a href="docs/saidar.1.html">saidar(1)</a>
347              </li>
348 +            <li>
349 +              <a href="docs/statgrab.1.html">statgrab(1)</a>
350 +            </li>
351 +            <li>
352 +              <a href="docs/statgrab-make-mrtg-config.1.html">statgrab-make-mrtg-config(1)</a>
353 +            </li>
354 +            <li>
355 +              <a href="docs/statgrab-make-mrtg-index.1.html">statgrab-make-mrtg-index(1)</a>
356 +            </li>
357            </ul>
358            <p>
359 +            We also have an overview page for the library:
360 +          </p>
361 +          <ul>
362 +            <li>
363 +              <a href="docs/statgrab.3.html">statgrab(3)</a>
364 +            </li>
365 +          </ul>
366 +          <p>
367              Then we have the manual pages for each function:
368            </p>
369            <ul>
370              <li>
371 <              <a href="sg_get_cpu_stats.html">sg_get_cpu_stats(3)</a>
371 >              <a href="docs/sg_get_cpu_stats.3.html">sg_get_cpu_stats(3)</a>
372              </li>
373              <li>
374 <              <a href="sg_get_disk_io_stats.html">sg_get_disk_io_stats(3)</a>
374 >              <a href="docs/sg_get_disk_io_stats.3.html">sg_get_disk_io_stats(3)</a>
375              </li>
376              <li>
377 <              <a href="sg_get_fs_stats.html">sg_get_fs_stats(3)</a>
377 >              <a href="docs/sg_get_fs_stats.3.html">sg_get_fs_stats(3)</a>
378              </li>
379              <li>
380 <              <a href="sg_get_host_info.html">sg_get_host_info(3)</a>
380 >              <a href="docs/sg_get_host_info.3.html">sg_get_host_info(3)</a>
381              </li>
382              <li>
383 <              <a href="sg_get_load_stats.html">sg_get_load_stats(3)</a>
383 >              <a href="docs/sg_get_load_stats.3.html">sg_get_load_stats(3)</a>
384              </li>
385              <li>
386 <              <a href="sg_get_mem_stats.html">sg_get_mem_stats(3)</a>
386 >              <a href="docs/sg_get_mem_stats.3.html">sg_get_mem_stats(3)</a>
387              </li>
388              <li>
389 <              <a href="sg_get_network_iface_stats.html">sg_get_network_iface_stats(3)</a>
389 >              <a href="docs/sg_get_network_iface_stats.3.html">sg_get_network_iface_stats(3)</a>
390              </li>
391              <li>
392 <              <a href="sg_get_network_io_stats.html">sg_get_network_io_stats(3)</a>
392 >              <a href="docs/sg_get_network_io_stats.3.html">sg_get_network_io_stats(3)</a>
393              </li>
394              <li>
395 <              <a href="sg_get_page_stats.html">sg_get_page_stats(3)</a>
395 >              <a href="docs/sg_get_page_stats.3.html">sg_get_page_stats(3)</a>
396              </li>
397              <li>
398 <              <a href="sg_get_process_stats.html">sg_get_process_stats(3)</a>
398 >              <a href="docs/sg_get_process_stats.3.html">sg_get_process_stats(3)</a>
399              </li>
400              <li>
401 <              <a href="sg_get_user_stats.html">sg_get_user_stats(3)</a>
401 >              <a href="docs/sg_get_user_stats.3.html">sg_get_user_stats(3)</a>
402              </li>
403            </ul>
404            <h2>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines