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.17 by tdb, Tue Mar 9 20:47:55 2004 UTC vs.
Revision 1.39 by tdb, Tue Apr 26 10:34:18 2005 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines