Trolli Schmittlauch
68de73d919
re-structure fediChordMessageHandler to dispatch requests to the responsible vserver
...
contributes to #34
2020-09-20 21:19:55 +02:00
Trolli Schmittlauch
0ab6ee9c8f
re-strucuture fediChordInit flow to also do the bootstrapping
2020-09-20 19:30:35 +02:00
Trolli Schmittlauch
12dfc56a73
fediChordInit returns a RealNode, manages vservers as map
...
- contributes to #34
2020-09-19 23:01:55 +02:00
Trolli Schmittlauch
9bf7365a2c
include target ID in request to address individual vserver
...
- necessary for dispatching the request to a certain vserver
- also refactored request sending to use a common `mkRequest`
- contributes to #2
2020-09-19 20:41:58 +02:00
Trolli Schmittlauch
5e745cd035
only specify upper key bound when querying load
...
As a querying node does not always know the lower bound of the queried
segment – determined by the predecessor – let the currently responsible
node provide that bound instead.
affects #71
2020-09-19 15:37:41 +02:00
Trolli Schmittlauch
30bf0529ed
send load query request, parse result and represent it
...
- sending side of #71
- introduces SegmentLoadStats to hold the response data
- contributes to #2
2020-09-19 02:05:29 +02:00
Trolli Schmittlauch
576ea2c3f6
calculate service load rates, interface for querying loads
...
- define data type for load representation
- this representation can be queried from any Service (closes #72 )
- loads are periodically calculated from measured rates (contributes to #2 )
2020-09-18 20:36:46 +02:00
Trolli Schmittlauch
7dd7e96cce
conversion of RingMap to key-value list
2020-09-18 20:36:35 +02:00
Trolli Schmittlauch
a1cfbbac48
bump nixpkgs revision
2020-09-18 20:36:35 +02:00
Trolli Schmittlauch
af27cded19
adjust payload parser naming for consistency and clarity
2020-09-18 20:36:35 +02:00
Trolli Schmittlauch
41aaa8ff70
parse ASN.1 representation of load querying
...
includes tests
contributes to #71
2020-09-18 20:36:35 +02:00
Trolli Schmittlauch
ddea599022
extend ASN.1 schema for requesting load information
...
contributes to #71
2020-09-18 01:26:42 +02:00
Trolli Schmittlauch
b48b7a7bba
Merge branch 'measurement_logging' into mainline
...
closes #11 , implements #60
2020-09-17 02:19:04 +02:00
Trolli Schmittlauch
eee40ce4fb
add log messages for failed relays as well
2020-09-17 02:17:57 +02:00
Trolli Schmittlauch
556b69d887
increase subscription lease to 1 (simulated) day for achieving higher subscriber numbers
2020-09-16 16:07:39 +02:00
Trolli Schmittlauch
f5de7601bb
do not store published posts for reducing memory consumption
2020-09-16 13:49:26 +02:00
Trolli Schmittlauch
a2f268d374
improve logging: line buffering, time stamps
...
contributes to #60
2020-09-16 01:54:50 +02:00
Trolli Schmittlauch
bb17b136d6
increase stabilise interval
2020-09-16 01:54:40 +02:00
Trolli Schmittlauch
c036dea7f9
periodically purge expired subscriptions
2020-09-14 15:49:44 +02:00
Trolli Schmittlauch
a0e7142a7d
report number of subscriptions
2020-09-14 14:57:25 +02:00
Trolli Schmittlauch
3c28cde942
catch and print all Socket bind exceptions
2020-09-12 15:45:03 +02:00
Trolli Schmittlauch
1fc264a226
manage logging via file handle
...
reason: `appendFile` combined with lazy evaluation lead to exhaustion of
open file descriptors, as each file is opened again for each write and
due to lazy evaluation is kept open multiple times.
2020-09-12 12:37:41 +02:00
Trolli Schmittlauch
da579a0756
decrease logging verbosity
2020-09-11 00:39:14 +02:00
Trolli Schmittlauch
e12d8ef70a
properly format stats log numbers: no e-notation
2020-09-11 00:39:14 +02:00
Trolli Schmittlauch
0f9727c05a
log the post rates instead of the absolute sums
2020-09-10 22:41:06 +02:00
Trolli Schmittlauch
34ecdd66e1
make stats measurement delay configurable, take speedup into account
2020-09-10 21:23:33 +02:00
Trolli Schmittlauch
8f917130c4
tag normalisation includes lower case conversion
2020-09-10 13:14:48 +02:00
Trolli Schmittlauch
3ac89d301c
bugfix: subscribe as default if not subscribed yet, when posting to a tag
2020-09-10 13:14:23 +02:00
Trolli Schmittlauch
3c76544afb
launch background worker threads
2020-09-10 12:00:17 +02:00
Trolli Schmittlauch
f8d30d0cc4
report post fetches to statistics
2020-09-09 19:55:34 +02:00
Trolli Schmittlauch
620e998876
report incoming relay posts to statistics
2020-09-09 19:25:48 +02:00
Trolli Schmittlauch
85d10f6773
report published posts to statistics
2020-09-09 18:50:55 +02:00
Trolli Schmittlauch
e3a8912360
process incoming posts in parallel
2020-09-09 18:50:45 +02:00
Trolli Schmittlauch
12fcd13754
annotate the PostService server/ request-handler functions
2020-09-09 18:01:51 +02:00
Trolli Schmittlauch
72eca0f4fe
log metrics to file
...
contributes to #60
2020-09-09 17:22:20 +02:00
Trolli Schmittlauch
0ffe9effc0
refactor relay processing to STM-retry instead of busy-wait
2020-09-09 14:24:34 +02:00
Trolli Schmittlauch
2b39648a77
actually implement simple relaying of posts
...
was still missing for #41
2020-09-09 11:51:09 +02:00
Trolli Schmittlauch
df479982fa
make RingMap instance of Functor and Foldable
2020-09-08 08:46:36 +02:00
Trolli Schmittlauch
c536994afe
re-format Servant client pattern matching
2020-09-07 16:35:59 +02:00
Trolli Schmittlauch
5c338b9cd7
split up stats summing and evaluating, launch threads
2020-09-07 16:27:56 +02:00
Trolli Schmittlauch
c823e6357a
accumulate all statistic/ measurement events to a measurement summary
...
- RingMap can now be mapped over
2020-09-07 13:00:15 +02:00
Trolli Schmittlauch
6b166ac4ca
fixup! Merge branch 'measurement_logging' into mainline
2020-09-07 10:32:58 +02:00
Trolli Schmittlauch
4d2d6faf1b
Merge pull request 'Improve general readability' ( #69 ) from Hecate/Hash2Pub:readability into mainline
...
brings several readability enhancements:
- Text is always unqualified
- The Servant API declaration is moved to its own file
- Redundant imports are removed
2020-09-05 16:27:23 +02:00
Hécate
7d833e064b
Improve readability
2020-09-05 15:45:47 +02:00
Trolli Schmittlauch
fa78c6fc43
clarify different nix-shell environments in readme
2020-09-05 15:01:46 +02:00
Hécate
d3e5eac5c5
Unsused imports and syntax error
2020-09-05 12:41:18 +02:00
Trolli Schmittlauch
60f5780742
Merge branch 'measurement_logging' into mainline
...
more values are parametrised through FediChordConfig
2020-09-05 12:31:40 +02:00
Trolli Schmittlauch
c9b0e66110
scale request timeout with speedup and pass it directly to function
2020-09-05 12:30:31 +02:00
Trolli Schmittlauch
4f08d33d2e
make all delays configurable and scale them according to a speedup factor
2020-09-05 12:30:31 +02:00
Trolli Schmittlauch
20050654bc
make passing bootstrap information optional
...
reason: allow the first node to start without having to wait for a
timeout
part of #58
2020-09-03 11:20:38 +02:00