-
Notifications
You must be signed in to change notification settings - Fork 93
Fmaste/dmq node traces #5233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Fmaste/dmq node traces #5233
Conversation
A trace is emitted whenever a hot outbound peer is demoted or closed (possibly due to an error), giving the duration in seconds of how long the peer has been in hot mode. Added hot connection durations to peer selection debug state, which traces durations upon receiving sigusr1 interrupt.
…n-durations Trace connection durations
…n-durations restore tracking of hot connection durations when demoting a peer
ouroboros-network-0.22.1
Fixed quickcheck-monoids
ouroboros-network-0.22.2: bp defaults
Compatibility with QuickCheck-2.15
e1a6963 to
4aaeabe
Compare
4aaeabe to
817dbff
Compare
| hs-source-dirs: traces | ||
| visibility: public | ||
| exposed-modules: | ||
| Network.Mux.Traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have a very similar module Network.Mux.Trace, what about Network.Mux.Trace.TraceDispatcher?
| -Wredundant-constraints | ||
| -Wunused-packages | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| library traces | |
| library trace-dispatcher-instances |
| if flag(txsubmission-delay) | ||
| cpp-options: -DTXSUBMISSION_DELAY | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| library traces | |
| library trace-dispatcher-instances |
| visibility: public | ||
| hs-source-dirs: traces | ||
| exposed-modules: | ||
| Ouroboros.Network.Traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Ouroboros.Network.Traces | |
| Ouroboros.Network.Trace.TraceDispatcher |
| -Wredundant-constraints | ||
| -Wno-unticked-promoted-constructors | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In main, ouroboros-network-framework was integrated with ouroboros-network package, when you'll be rebasing, it might be a good idea to just put all the instances in a single package in ouroboros-network, even in a single module, since here there's just one orphan instance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe better place is cardano-diffusion package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It won't work if it is needed in dmq-node.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We depend on cardano-diffusion in the dmq-node so we could get these instances from there, and keep ouroboros-network free from trace-dispatcher in case someone wants to use their own favorite tracing library with it? [edit] In my mind, things related to trace-dispatcher are cardano-specific, and ouroboros-network should be generic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We depend on cardano-diffusion
We don't, at least it main, and that's good, ref.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I use connectTo from Cardano.Network.NodeToClient to establish a local connection to the Cardano node.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then, no objection from me to put these traces in cardano-diffusion.
| -Wredundant-constraints | ||
| -Wunused-packages | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also an option to make this a separate package for eg. cardano-network-mux-trace since network-mux in principle is a very general library. Another benefit is that in case we make changes to the tracers we will not have to make a release of network-mux. What's your take @coot ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point.
| if flag(txsubmission-delay) | ||
| cpp-options: -DTXSUBMISSION_DELAY | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't cardano-diffusion be a better home for these instances?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It won't work if these instances are also needed in dmq-node.
| -Wredundant-constraints | ||
| -Wno-unticked-promoted-constructors | ||
|
|
||
| library traces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe better place is cardano-diffusion package?
@crocodile-dentist do you agree? |
|
I agree with @crocodile-dentist that we can simply put all these trace instances in a single sublibrary in |
Description
reasonably detailed description of the pull request
Checklist
Quality
Maintenance
ouroboros-networkproject.