Repository navigation
Conversation
…strumentation Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/8f197dc4-0b8b-4ce0-a40d-97ea7c647727 Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
… alive/dead status Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/8f197dc4-0b8b-4ce0-a40d-97ea7c647727 Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
…nsistency Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/8f197dc4-0b8b-4ce0-a40d-97ea7c647727 Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
|
@copilot we may have multiple bus at the same time, having a active bus count metrics isn't very useful, but, we will want to track per bus instance. |
Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/ca085f25-a9b5-488a-ad33-858646b84131 Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
Done in e04af38. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/efc82941-92e3-4ee8-b641-de8cf4c1f8ec Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/efc82941-92e3-4ee8-b641-de8cf4c1f8ec Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
…ndard, removing #ifdef on usings Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/81a35d95-9277-416c-9f67-15fb83ff98cf Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
The directory has a Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot I also want a byte count per message metric. |
Agent-Logs-Url: https://github.com/Abc-Arbitrage/Zebus/sessions/f0604d23-5c82-4f7f-baaa-b80b93aa52cf Co-authored-by: Kuinox <18743295+Kuinox@users.noreply.github.com>
Added in 4dd924d. Two new counters: Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Done. The |
|
@copilot Move all the remaining metric-related stuff to the Abc.Zebus.Monitoring namespace. ALso, fix the formatting in your last commit. I don't want to see any usage of |
Co-authored-by: ltrzesniewski <7913492+ltrzesniewski@users.noreply.github.com>
Done. |
|
@copilot make a wrapper type for the gauge instead of |
Co-authored-by: ltrzesniewski <7913492+ltrzesniewski@users.noreply.github.com>
Done — |
|
@copilot In |
Co-authored-by: ltrzesniewski <7913492+ltrzesniewski@users.noreply.github.com>
…yClient Co-authored-by: ltrzesniewski <7913492+ltrzesniewski@users.noreply.github.com>
Done — extracted |
|
@ocoanet I'd like your opinion on this please, especially about the "static" aspect. |
- Group connections by PeerIdTag - Use UpDownCounter instead of Gauge - Remove total connected sockets (it can be derived from connected sockets) - Use an observable metric with absolute values to ensure late-listeners receive updates
Adds
System.Diagnostics.Metricsinstrumentation to monitor Zebus connection state and messaging, gated behind#if NET10_0_OR_GREATERwith no new NuGet dependencies.Metrics
All per-connection metrics are tagged with
zebus.peer.idfor individual peer filtering:zebus.transport.messages.sentzebus.transport.messages.receivedzebus.transport.bytes.sentzebus.transport.bytes.receivedzebus.transport.messages.send_failureszebus.transport.peer_connectionszebus.transport.peer_disconnectionszebus.transport.peer_connection_failureszebus.transport.connection.alivezebus.transport.outbound_socketszebus.directory.known_peerszebus.directory.peer_updatesMetric class organization
Instruments are split into dedicated classes per service:
ZebusMetrics— sharedMeterinstance andPeerTaghelperTransportMetrics— transport-layer instruments (messages, bytes, connections, sockets)DirectoryMetrics— directory-layer instruments (known peers, peer updates)Multi-targeting
Abc.Zebus.csprojtargetsnetstandard2.0;net10.0#if NET10_0_OR_GREATER; netstandard2.0 output is unchanged.NET 10 compatibility fixes
Polyfill types that now exist in the BCL needed conditional compilation:
#if !NETCOREAPPFormatterServices.GetUninitializedObject→RuntimeHelpers.GetUninitializedObjectRNGCryptoServiceProvider→RandomNumberGenerator.FilloutparameterTryGetValueto avoid ambiguity