<feed xmlns='http://www.w3.org/2005/Atom'>
<title>WebStat analyser/test, branch webstat-0.2</title>
<subtitle>WebStat web site access analyser</subtitle>
<id>http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.2</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.2'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/'/>
<updated>2025-10-06T19:43:52Z</updated>
<entry>
<title>Add parked line import job</title>
<updated>2025-10-06T19:43:52Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-10-06T19:43:52Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=63d6bf7395425be73fd6d9f5c89dc48817afffe6'/>
<id>urn:sha1:63d6bf7395425be73fd6d9f5c89dc48817afffe6</id>
<content type='text'>
Periodically, on idle, scan for and import previously parked lines.
</content>
</entry>
<entry>
<title>Switch to PostgreSQL's oid type for entity ids</title>
<updated>2025-09-29T23:51:54Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-29T23:51:54Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=edfaf671d016f675a3a3b87d58d615a92e84148b'/>
<id>urn:sha1:edfaf671d016f675a3a3b87d58d615a92e84148b</id>
<content type='text'>
oid is an "unsigned 4 byte integer", which matches our crc32 approach
perfectly, and is half the storage cost of bigint.
</content>
</entry>
<entry>
<title>Write log lines to files on error</title>
<updated>2025-09-29T23:50:29Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-29T23:50:29Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=3e99d080b2a3a9b6eae85ae9e3224534744ad7b9'/>
<id>urn:sha1:3e99d080b2a3a9b6eae85ae9e3224534744ad7b9</id>
<content type='text'>
We call this parking, later we can reattempt ingestion after whatever
caused the failure has been fixed.
</content>
</entry>
<entry>
<title>Create settings structure</title>
<updated>2025-09-24T20:33:13Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-24T20:28:56Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=897546d596d8d7213cff60146123bb8f97d4d1cc'/>
<id>urn:sha1:897546d596d8d7213cff60146123bb8f97d4d1cc</id>
<content type='text'>
Holds all the settings and their defaults for use in program_options and
tests. Disables missing-field-initializers in tests because its over
sensitive to structures with defaults where you only provide some values
specifically.
</content>
</entry>
<entry>
<title>Write unparsable lines to the entity table</title>
<updated>2025-09-23T12:31:26Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2025-09-23T12:31:26Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=71803b97f1c9e31f2027da48bb742353f9c43e62'/>
<id>urn:sha1:71803b97f1c9e31f2027da48bb742353f9c43e62</id>
<content type='text'>
Diagnostics and the ability to ingest later.
</content>
</entry>
<entry>
<title>Create and perform UA lookup curl op when new user agent is encountered</title>
<updated>2025-09-13T12:24:23Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-13T12:24:23Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=84bd17328a4dc027e689ca7b2a85744d6e2b7cf5'/>
<id>urn:sha1:84bd17328a4dc027e689ca7b2a85744d6e2b7cf5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Always pass API URL to curlGetUserAgentDetail</title>
<updated>2025-09-13T12:23:36Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-10T23:01:46Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=c8f0fb73e49f6b6b6ac1690c585c25ab7dbd2b88'/>
<id>urn:sha1:c8f0fb73e49f6b6b6ac1690c585c25ab7dbd2b88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add test over mocked user agent fetch</title>
<updated>2025-09-09T22:24:35Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-09T22:24:35Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=2eb8897706128f3590a5b4f9ee8f3e755b74f097'/>
<id>urn:sha1:2eb8897706128f3590a5b4f9ee8f3e755b74f097</id>
<content type='text'>
Uses a file:// URL to curl fetch a local fixture.
</content>
</entry>
<entry>
<title>Add test over Ingestor::ingestLog</title>
<updated>2025-09-08T22:39:09Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-08T22:39:09Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=bdaa314b7eacc7cd41dbf09f8f8ea6d742c3ea37'/>
<id>urn:sha1:bdaa314b7eacc7cd41dbf09f8f8ea6d742c3ea37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a TestIngestor as a fixture in tests</title>
<updated>2025-09-08T22:27:41Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2025-09-08T22:24:36Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=c6cc3f08638c6a863dd315b8b5a6b667ae51ee84'/>
<id>urn:sha1:c6cc3f08638c6a863dd315b8b5a6b667ae51ee84</id>
<content type='text'>
</content>
</entry>
</feed>
