Skip to content

Releases: dolittle/Runtime

Prerelease v6.0.0-timeout.17

16 Jun 10:09
d5351ea

Choose a tag to compare

Pre-release

Summary

Adds metrics for EventHorizon

Added

  • Metrics

Prerelease v6.0.0-timeout.16

10 Jun 15:30
212d085

Choose a tag to compare

Pre-release
  • Adds a few new tests to when_accepting and when_receiving_arguments
  • Move and rename the MyProtocol file
  • Create a new given a_response with some crazy callback shizzle, so that we can simulate the while loop in HandleClientMessages, which sets the results for the calls inside the _calls dictionary
    • All of the Task.Run() and cancellation callbacks that I have to do are a bit weird, but I didn't know of a nicer way of handling the while loop.
  • Create tests for Call() in when_calling
  • Create test for Reject() in when_rejecting
  • Fix some logging and add a Warning level log if the Call() should fail. This exception gets thrown higher up so something would eventually catch it, but I thought it was good to log it anyway here. Not so sure about which log level to give it though...

Prerelease v6.0.0-timeout.15

10 Jun 12:46
d2b0c76

Choose a tag to compare

Pre-release

Summary

Specs and improvements to the code for Event Horizon

Added

  • A couple more interfaces for EventHorizon to make it easier to test
  • Specs around most of the components of the EventHorizon

Prerelease v6.0.0-timeout.14

10 Jun 12:30
c547e21

Choose a tag to compare

Pre-release

Wrote a few more specifications to verify the timeout and dispose behaviour of the PingedConnection.

The test harness is definitely not pretty, and could be made nicer if we made interfaces for the Wrapped...Stream... classes. But that involves a little more thinking, and I'm still pretty confident that the behaviour is well tested now. So we can improve upon that at a later stage.

Prerelease v6.0.0-timeout.13

10 Jun 11:29
f181d47

Choose a tag to compare

Pre-release

I ended up doing all of the metrics in one go - as I thought it was nice to look at the names together to make sure they are consistent.

I've tried to base the naming of the Prometheus best practices naming conventions https://prometheus.io/docs/practices/naming/.

All our metrics start with dolittle_, then either system_, customer_ or shared_ (indicating whether the metric is meant for us, the customer, or both). Then the namespace (replace . with _), lastly the actual metric name and the unit following the Prometheus guide.

I found some inconsistencies with the method names in the interfaces, but didn't fix them. I rather tried to make the metric names consistent (as those are what we will see outside the Runtime).

Also I found a few small bugs related to metrics that I fixed.

To try it out, start the Runtime (and a Head) - then look at the metrics on http://localhost:9700/metrics. You get the latest metrics every time you refresh the page.

Prerelease v6.0.0-timeout.12

07 Jun 17:19
06e1da5

Choose a tag to compare

Pre-release

During rewrite of EventHorizon - we added a validation step to check that we received the correct event we asked for. This does not work when there are multiple partitions in the public stream, since we really ask for the next event after a position for the specific partition.

This validation should be completely unnecessary, so let's get rid of it again.

Prerelease v6.0.0-timeout.11

06 Jun 14:32
0a1643f

Choose a tag to compare

Pre-release

Makes Subscriptions the mastermind behind orchestrating the subscription process. Will return a failure if a subscription with the same id is already in progress.

Prerelease v6.0.0-timeout.9

04 Jun 13:54
f9f2e1b

Choose a tag to compare

Pre-release

We have issues with stream processors not being unregistered. This is an attempt to make the code more robust and correct.

Prerelease v6.0.0-timeout.8

04 Jun 13:02
1ab5ae5

Choose a tag to compare

Pre-release

Removes a Task that was spun up and left waiting for ReverseCallArgumentsContext to start the pings. This should solve the problem of pings not starting even though connection continues as usual.

Prerelease v6.0.0-timeout.7

04 Jun 09:20
23fdea7

Choose a tag to compare

Pre-release

Summary

Simplifies the event horizon client side by creating many more abstractions. Also making the connections and lifecycle management more resilient and robust

Added

  • Many more abstractions around event horizon (client side) that makes it much more simpler to work with

Fixed

  • Bugs in execution context manager that made it so that the Microservice id did not follow correctly when doing a CurrentFor(TenantId)