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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines